Here you'll find documentation on all available endpoints. If you have suggestions on new endpoints you would like to see, please tell us. We would love to hear from you.
All endpoints require that you provide the following parameters via HTTPS POST:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
apiID |
varchar | assigned API ID | yes | |
apiKey |
varchar | assigned API Key | yes | |
username |
registered user making request | yes | ||
format |
varchar | json, xml | response data format | yes |
The /orders
endpoint will provide a list of appraisal orders assigned to AMC. This endpoint also requires the filter
parameter which determines what list to return as follows:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
filter |
varchar | all, new | determines list type | yes |
'all'
When using this value all orders assigned to AMC will be returned, including canceled and completed orders.
'new'
When using this value only new orders assigned to AMC will be returned. New orders have the status
property set to 'Ordered'.
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'username' => YOUR_USER_EMAIL,
'filter' => "new"
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/amc/orders" );
curl_setopt( $curl, CURLOPT_POST, count( $parameters ) );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $parameters );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec( $curl );
curl_close( $curl );
print_r( $response );
Response may contain one or more appraisal orders. If no orders are found, null will be returned.
{
"appraisalID":"K1UJYQA4",
"loanPurpose":"Refinance",
"occupancy":Second,
...
},
{
"appraisalID":"X1QQFQA3",
"loanPurpose":"Purchase",
"occupancy":Primary,
...
},
...
The /orders
endpoint will return the following properties:
Property | Type | Possible Values | Description |
---|---|---|---|
appraisalID |
varchar | unique identifier | |
lenderLoanID |
varchar | TBD, or {value} | lender's loan number |
FHACaseNumber |
varchar | TBD, or {value} | lender's FHA Case Number |
loanPurpose |
varchar | Refinance, Purchase | purpose of the loan |
occupancy |
varchar | Primary, Second, Investment | how property will be occupied |
propertyType |
varchar | Single Family, Condominium, Cooperative, Mobile, Manufactured, Vacant Residential Land, Duplex, Triplex, Quadruplex, Small Income, Other, Unknown | type of property |
loanType |
varchar | Conventional, FHA, VA | type of loan |
mainForm |
varchar | 216, 1004, 1004C, 1004D, 1004MC, 1007, 1025, 1073, 1075, 2000, 2000A, 2006, 2055, 2075, 2090, 2095, LND | Fannie Mae appraisal form |
addForm1 |
varchar | same as mainForm |
Fannie Mae appraisal form |
addForm2 |
varchar | same as mainForm |
Fannie Mae appraisal form |
salesPrice |
decimal | purchase price of home | |
fee |
int | appraisal fee to AMC | |
ccName |
varchar | credit card cardholder name | |
ccNum |
int | credit card number | |
ccExpMonth |
int | 1-12 | credit card expiration month |
ccExpDay |
int | 1-31, or null | credit card expiration day |
ccExpYear |
int | 2015 and greater | credit card expiration year |
ccSecCode |
int | 000-9999 | credit card security code |
agreeCC |
boolean | 0 or 1 | if cardholder agreed to legal |
ccAddressStreet |
varchar | credit card billing street address | |
ccAddressCity |
varchar | credit card billing city | |
ccAddressState |
varchar(2) | AA-ZZ | credit card billing state |
ccAddressZipcode |
int(5) | 00000-99999 | credit card billing zipcode |
subjectAddressStreet |
varchar | subject property street address | |
subjectAddressCity |
varchar | subject property city | |
subjectAddressState |
varchar(2) | AA-ZZ | subject property state |
subjectAddressZipcode |
int(5) | 00000-99999 | subject property zipcode |
boName |
varchar | full name of borrower | |
boEmail |
varchar | email of borrower | |
boPhone1 |
varchar | xxx-xxx-xxxx | phone 1 of borrower |
boPhone2 |
varchar | xxx-xxx-xxxx | phone 2 of borrower |
coBoName |
varchar | full name of co-borrower | |
coBoEmail |
varchar | email of co-borrower | |
coBoPhone1 |
varchar | xxx-xxx-xxxx | phone 1 of co-borrower |
coBoPhone2 |
varchar | xxx-xxx-xxxx | phone 2 of co-borrower |
listingAgentName |
varchar | full name of listing agent | |
listingAgentEmail |
varchar | email of listing agent | |
listingAgentPhone1 |
varchar | xxx-xxx-xxxx | phone 1 of listing agent |
listingAgentPhone2 |
varchar | xxx-xxx-xxxx | phone 2 of listing agent |
sellingAgentName |
varchar | full name of selling agent | |
sellingAgentEmail |
varchar | email of selling agent | |
sellingAgentPhone1 |
varchar | xxx-xxx-xxxx | phone 1 of selling agent |
sellingAgentPhone2 |
varchar | xxx-xxx-xxxx | phone 2 of selling agent |
specialInstructions |
varchar(255) | any special instructions for order |
The /order
endpoint will provide an appraisal order assigned to AMC. This endpoint also requires the appraisalID
parameter which determines what appraisal to return as follows:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
appraisalID |
varchar | unique identifier | yes |
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'username' => YOUR_USER_EMAIL,
'appraisalID' => BSM_APPRAISAL_ID
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/amc/order" );
curl_setopt( $curl, CURLOPT_POST, count( $parameters ) );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $parameters );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec( $curl );
curl_close( $curl );
print_r( $response );
Response will contain one appraisal order. If no orders are found, null will be returned. Properties returned are identical to /orders
endpoint above.
The /order/status
endpoint will provide the status of an appraisal order assigned to AMC. This endpoint also requires the appraisalID
and filter
parameters as follows:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
appraisalID |
varchar | unique identifier | yes | |
filter |
varchar | all, last | determines status to return | yes |
'all'
When using this value a complete status history for the requested appraisal order assigned to AMC is returned. There may be one or more statuses returned. There will always be at least one status returned if appraisalID is valid.
'last'
When using this value only the last status for the requested appraisal order assigned to AMC is returned.
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'username' => YOUR_USER_EMAIL,
'appraisalID' => BSM_APPRAISAL_ID,
'filter' => "all"
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/amc/order/status" );
curl_setopt( $curl, CURLOPT_POST, count( $parameters ) );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $parameters );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec( $curl );
curl_close( $curl );
print_r( $response );
Response may contain one or more statuses. If no order is found, null will be returned.
{
"status":"Complete",
"date":"1420962569",
"user":"Kendrick Avani",
"note":null
},
{
"status":"Inspected",
"date":"1420809729",
"user":"Kendrick Avani",
"note":null
},
{
"status":"Appointment Set",
"date":"1420606336",
"user":"Kendrick Avani",
"note":"Scheduled for 1/8/2015 at 10:45:00 am"
},
...
The /order/status
endpoint will return the following properties:
Property | Type | Possible Values | Description |
---|---|---|---|
status |
varchar | Ordered, Accepted, Declined, Payment Approved, Payment Declined, Appointment, Inspected, Complete, Cancel | defined statuses according to hierarchy |
date |
unix timestamp | date/time of status change | |
user |
varchar | full name associated to username | |
note |
varchar(255) | optional note to some statuses |
The /order/update
endpoint enables the AMC to update the status of an appraisal order assigned to AMC. This endpoint also requires the appraisalID
and action
parameters, and other optional/required parameters as follows:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
appraisalID |
varchar | unique identifier | yes | |
action |
varchar | accept, decline, payment-approved, payment-declined, appointment, inspected, complete and cancel | specifies status to update | yes |
note |
varchar(255) | optional note to some statuses | no | |
appointment |
unix timestamp | required when action parameter is 'appointment' | depends | |
appraisal |
pdf file | required when action parameter is 'complete' | depends |
'accept'
When using this value, no other parameters are required. This value can only be called when status
property is 'Ordered'.
Do not accept order if there is a chance of order being declined later. Review order details first, and contact lender for additional questions if clarification is required before making a decision.
'decline'
When using this value, no other parameters are required. This value can only be called when status
property is 'Ordered'.
A note may be included in this update.
'payment-approved'
When using this value, no other parameters are required. This value can only be called when status
property is 'Accepted'.
Credit card data will be removed and no longer available once a successful payment has been confirmed.
'payment-declined'
When using this value, no other parameters are required. This value can only be called when status
property is 'Accepted'.
A note may be included in this update.
'appointment'
When using this value, the parameter appointment
is required. This value can only be called when status
property is 'Payment Approved'.
The parameter appointment
must be a unix timestamp.
'inspected'
When using this value, no other parameters are required. This value can only be called when status
property is 'Appointment Set'.
Only confirm inspection if no other site visits are required.
'complete'
When using this value, the parameter appraisal
is required. This value can only be called when status
property is 'Inspected'.
The parameter appraisal
must be a PDF file no greater than 10 MB (or your lender's custom setting). Be sure to specify the file type as 'application/pdf'.
'cancel'
When using this value, no other parameters are required. This value can be called at all statuses except for 'Ordered' and 'Complete'.
A note may be included in this update.
Example of how to 'accept' an order:
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'username' => YOUR_USER_EMAIL,
'appraisalID' => BSM_APPRAISAL_ID,
'action' => "accept"
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/amc/order/update" );
curl_setopt( $curl, CURLOPT_POST, count( $parameters ) );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $parameters );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec( $curl );
curl_close( $curl );
print_r( $response );
Example of how to set 'appointment' on an order:
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'username' => YOUR_USER_EMAIL,
'appraisalID' => BSM_APPRAISAL_ID,
'action' => "appointment",
'appointment' => "1421110192"
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/amc/order/update" );
curl_setopt( $curl, CURLOPT_POST, count( $parameters ) );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $parameters );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec( $curl );
curl_close( $curl );
print_r( $response );
Example of how to 'complete' an order and POST PDF:
$fileName = realpath( ".../appraisals/FILE_NAME.pdf" );
$curlFile = "@C:\...\appraisals\FILE_NAME.pdf;type=application/pdf";
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'username' => YOUR_USER_EMAIL,
'appraisalID' => BSM_APPRAISAL_ID,
'action' => "complete",
'appraisal' => $curlFile
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/amc/order/update" );
curl_setopt( $curl, CURLOPT_POST, count( $parameters ) );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $parameters );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec( $curl );
curl_close( $curl );
print_r( $response );
Response will return null if successful, and return the root key error
if not. See Error Codes and Handling.