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 API calls must be made to:
https://www.besmartee.com/api/loan/{endpoint}
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 | |
format |
varchar | json | response data format | yes |
The /set-esign-url
endpoint will receive and store esign URLs, then email the borrower and coborrowers (if any) and loan officer (if specified) to let them know the initial disclosures are ready to sign.
This endpoint also requires the following parameters:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
accessToken |
varchar | unique identifier | yes | |
data |
json | payload containing data on esign data | yes |
{
"lenderID" : "ETKXMO6C",
"loanID": "KZ8UXDKY",
"docVendor": "Docutech",
"loanOfficer": {
"esignURL": "https://esignurl.com",
"esignURLExpirationDate": "1483120275",
"status": "ESignReady"
},
"borrowers" : [
{
"borrowerUID" : "12345",
"esignURL" : "https://esignurl.com",
"esignURLExpirationDate" : "1483120275",
"status" : "ESignReady"
},
{
"borrowerUID" : "98765",
"esignURL" : "https://esignurl.com",
"esignURLExpirationDate" : "1483120275",
"status" : "ESignReady"
}
]
}
Below, you'll find details on all required parameters to be included in the JSON payload.
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
lenderID |
varchar | BeSmartee identifier | yes | |
loanID |
varchar | your loan identifier | yes | |
docVendor |
varchar | Docutech, DocMagic, IDS | default value is in lender's configurations | no |
loanOfficer.esignURL |
varchar | esign URL for the loanOfficer. Required if loanOfficer.status=ESignReady. | no | |
loanOfficer.esignURLExpirationDate |
unix timestamp | date/time esign URL will expire. Required if loanOfficer.status=ESignReady. | no | |
loanOfficer.status |
varchar | ESignReady, ESignComplete | loanOfficer ESign status | no |
borrower.borrowerUID |
varchar | borrower unique identifier | yes | |
borrower.esignURL |
varchar | esign URL for the borrower. Required if status=ESignReady. | no | |
borrower.esignURLExpirationDate |
unix timestamp | date/time esign URL will expire. Required if status=ESignReady. | no | |
borrower.status |
varchar | ESignReady, ESignComplete | ESign status | yes |
$jsonPayload = {...};
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'accessToken' => ACCESS_TOKEN,
'data' => $jsonPayload
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/loan/set-esign-url" );
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 );
If docVendor is Docutech or IDS, response will return null (empty string) if successful.
If docVendor is DocMagic, response will return each borrower's redirectURL and loan officer's redirectURL (if specified) for DocMagic.
{
"loanID": "KZ8UXDKY",
"borrowers": [
{
"borrowerUID": "12345",
"redirectURL": "https://url.com/redirect"
},
{
"borrowerUID": "98765",
"redirectURL": "https://url.com/redirect"
}
],
"loanOfficer": {
"loanOfficerUID": "56789",
"redirectURL": "https://url.com/redirect"
}
}
Response will return the root key error
if any error. See Error Codes and Handling.
The /add-coborrowers
endpoint will add coborrowers to an existing loan, then email the new coborrowers so they can start their application. If the coborrower already exists, their information will be updated, and if the email has changed then the coborrower will receive a new email to start their application.
Additionally, this endpoint may be used to delete an existing coborrower.
This endpoint also requires the following parameters:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
accessToken |
varchar | unique identifier | yes | |
data |
json | payload containing coborrower data | yes |
{
"lenderID" : "3WWPGZDC",
"loanID": "LSLPFMRJ",
"borrowers" : [
{
"borrowerUID": "9973989",
"firstName" : "Charles",
"lastName" : "Cooper",
"dob" : "10/22/1968",
"phonePrimary" : "714-245-8223",
"phoneSecondary" : "714-235-7114",
"status" : "Married",
"marriedToBorrowerUID" : "1234",
"primaryAddressStreet1" : "16892 Bolsa Chica St",
"primaryAddressStreet2" : "#201",
"primaryAddressCity" : "Huntington Beach",
"primaryAddressState" : "CA",
"primaryAddressZipcode" : "92649",
"email" : "charlescooper@mail.com"
}
]
}
Below, you'll find details on all required parameters to be included in the JSON payload.
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
lenderID |
varchar | BeSmartee identifier | yes | |
loanID |
varchar | your loan identifier | yes | |
borrower.isDelete |
boolean | true or false indicator | no | |
borrower.borrowerUID |
varchar | borrower unique identifier | yes | |
borrower.firstName |
varchar | first name, and middle name if applicable | yes | |
borrower.lastName |
varchar | last name | yes | |
borrower.dob |
date | date of birth | no | |
borrower.phonePrimary |
varchar | phone number with no other characters | yes | |
borrower.phoneSecondary |
varchar | phone number with no other characters | no | |
borrower.status |
varchar | Married, Unmarried | marital status | yes |
borrower.marriedToBorrowerUID |
varchar | borrower unique id of the spouse, if they're also included in the loan | no | |
borrower.primaryAddressStreet1 |
varchar | address line 1 | no | |
borrower.primaryAddressStreet2 |
varchar | address line 2 | no | |
borrower.primaryAddressCity |
varchar | address city | no | |
borrower.primaryAddressState |
varchar | address state | no | |
borrower.primaryAddressZipcode |
varchar | address zip code | no | |
borrower.email |
varchar | email address | yes |
$jsonPayload = {...};
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'accessToken' => ACCESS_TOKEN,
'data' => $jsonPayload
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/loan/add-coborrowers" );
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 (empty string) if successful. Response will return the root key error
if any error. See Error Codes and Handling.
The /get-loan-data
endpoint will return specified data per loan requested. This endpoint also requires the following parameters:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
accessToken |
varchar | unique identifier | yes | |
data |
json | payload containing request parameters | yes |
{
"loanID": "GZ3WWPDC",
"classes" : [
"Loan",
"LoanTerm",
"LoanProperty",
"Message",
"MISMO34",
"DataCredit",
"DataCreditRawResponse",
"LoanAUSFinding",
"LoanAUSFindingRawResponse"
]
}
{
"lenderLoanNum": "1234567890",
"classes" : [
"Loan",
"LoanTerm",
"LoanProperty",
"Message",
"MISMO34",
"DataCredit",
"DataCreditRawResponse",
"LoanAUSFinding",
"LoanAUSFindingRawResponse"
]
}
Below, you'll find details on all required parameters to be included in the JSON payload.
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
loanID |
varchar | Your loan identifier. This field will be prioritized to use if lenderLoanNum is also provided. |
Optional if lenderLoanNum is provided |
|
lenderLoanNum |
varchar | Your loan LOS identifier. This field will NOT be used if loanID is also provided. |
Optional if loanID is provided |
|
classes |
array | Show list | Name of classes to be returned | yes |
$jsonPayload = {...};
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'accessToken' => ACCESS_TOKEN,
'data' => $jsonPayload
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/loan/get-loan-data" );
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 array of Loan classes requested if successful. Response will return the root key error
if any error. See Error Codes and Handling.
{
"Loan": {
"publicID": "NINWCRRA",
"losID": "TEST911900040788",
...
},
"LoanTerm": {
"mortAppliedFor": "Conventional",
"agencyCaseNum": "TEST911900040788",
...
},
"LoanProperty": {
"isBorrower": 1,
"subPropAddress1": "1234 Main Street",
...
},
"Messages": [
{
"id": "54715cd8dda91aa44e4942467fb2ebcd",
"message": "Hi Andy. Thanks for signing up!...",
...
},
{
"id": "95e08407662b9f5679d75543f49173f0",
"message": "Going on vacation this week...",
...
},
...
],
"MISMO34": "<?xml version=\"1.0\"?> <MESSAGE ... ",
"ResponseFull": {
"adjustmentID": null,
"apr": "4.776",
"rate": "4.750",
"pointsCreditsPercent": "1.578"
...,
"antiSteeringOptions": {
"lowestInterestRate": {
"adjustmentID": null,
"apr": "4.776",
"rate": "3.125",
"pointsCreditsPercent": "1.567",
...
},
"lowestInterestRateWithoutRiskyFeatures": {
"adjustmentID": null,
"apr": "4.776",
"rate": "3.125",
"pointsCreditsPercent": "1.567",
...
},
"lowestInterestRateWithoutRiskyFeatures": {
"adjustmentID": null,
"apr": "3.895",
"rate": "3.875",
"pointsCreditsPercent": "2.567",
...
}
}
},
"DataCredit": {
"CRAFannieProviderID": 3,
"CRAName": "Factual Data by CBC",
},
"LoanAssignment": {
"internalUsers": [
{
"type": "loanOfficer",
"firstName": "John",
"lastName": "Doe",
"email": "testLO@bsmbank.com",
"phone": "444-555-6633"
}
],
"externalUsers": [
{
"type": "buyerAgent",
"firstName": "Suzi",
"lastName": "Test",
"company": "DreamHome",
"license": "1459242",
"phone": "421-445-442",
"email": "test@dreamhome.com"
}
]
}
}
Below, you'll find more detail about response format
key | Type | Possible Values |
---|---|---|
LoanAssignment.internalUsers.type |
string | loanOfficer, loanOfficerAssistant, closer, admin, processor, underwriter, customerServiceRepresentative |
LoanAssignment.externalUsers.type |
string | buyerAttorney, buyerAgent, sellerAgent, hoiAgent, titleAgent |
The /get-loan-borrower-data
endpoint will return specified data per loan borrower requested. This endpoint also requires the following parameters:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
accessToken |
varchar | unique identifier | yes | |
data |
json | payload containing request parameters | yes |
{
"loanID": "VOWKVHTZ",
"borrowerUID" : "AED6AMZW",
"classes" : [
"LoanBorrower",
"LoanBorrowerEmployer",
"LoanBorrowerPair"
]
}
Below, you'll find details on all required parameters to be included in the JSON payload.
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
loanID |
varchar | your loan identifier | yes | |
borrowerUID |
varchar | borrower unique identifier | yes | |
classes |
array | Show list | name of classes to be returned | yes |
$jsonPayload = {...};
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'accessToken' => ACCESS_TOKEN,
'data' => $jsonPayload
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/loan/get-loan-borrower-data" );
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 specified data per borrower requested. Response will return the root key error
if any error. See Error Codes and Handling.
{
"LoanBorrower": [
{
"isBorrower": 1,
"isActive": 1,
"firstName": "Alice",
"middleName": null,
"lastName": "Firstimer",
"homePhone": "714-245-8223",
"presentAddressStreet": "16892 Bolsa Chica St",
"presentAddressCity": "Huntington Beach",
"presentAddressState": "CA",
"presentAddressZipcode": "92649",
"presentAddress_status": "Rent",
"presentAddress_years": "2.00",
"mailingAddressSame": 0,
"mailingAddressStreet1": "16892 Bolsa Chica St",
"mailingAddressStreet2": "#201",
"mailingAddressCity": "Huntington Beach",
"mailingAddressState": "CA",
"mailingAddressZipcode": "92649",
"publicID": "AED6AMZW",
...
}
],
"LoanBorrowerEmployer": [
{
"isActive": 1,
"isCurrent": 1,
"isPrimary": 1,
...
}
]
}
The /create-lead
endpoint will create a lead (or update a lead or loan), which will then pre-populate the consumer and loan officer application experience. This endpoint also requires the following parameters:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
accessToken |
varchar | unique identifier | yes | |
data |
json | payload containing request parameters | yes |
{
"losID" : "t5D7HgV3",
"loanOfficerUID" : "11DfK59L",
"borrowerUID" : "h0HyE55e",
"leadURL" : "https://www.salesforce.com/lead",
"salesforceOpportunityID" : "0061I00000Ev5dUQAR",
"crmLeadID" : "1009103310",
"firstName" : "Alice",
"lastName" : "Firstimer",
"dob" : "01/01/2017",
"ssn" : "991919991",
"status" : "Unmarried",
"phonePrimary" : "7142357114",
"email" : "borrower@besmartee.com",
"primaryAddressStreet" : "16892 Bolsa Chica St #201",
"primaryAddressCity" : "Huntington Beach",
"primaryAddressState" : "CA",
"primaryAddressZipcode" : "92649",
"subjectPropertyAddressStreet" : "1234 Any Street",
"subjectPropertyAddressCity" : "Anytown",
"subjectPropertyAddressState" : "CA",
"subjectPropertyAddressZipcode" : "55555",
"homePrice" : 500000,
"loanPurpose" : "Purchase",
"cashOut": 10000,
"propertyType" : "SingleFamily",
"productType" : "MortgageLoan",
"autoCheckTOUPP" : "0"
"leadSource" : "Lending Tree",
"referralPersonName" : "Joe Teller",
"referralPersonID" : "8Q3nGlf3",
"referralBranchName" : "Branch 12-1212",
"referralBranchID" : "g9Dv5H74",
"campaignPrimaryName" : "New Account Opening Special",
"campaignPrimaryID" : "K3t4Bp5F",
"offerPrimary" : "",
"offerPrimaryPurpose" :"",
"offerSecondary" : "",
"offerSecondaryPurpose" : "",
"segment" : ""
}
Below, you'll find details on all parameters that can be included in the JSON payload.
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
update |
bit | 0, 1 | set to 1 to update lead or loan, default is 0 | no |
publicID |
varchar | BeSmartee UID for lead or loan, returned during original create-lead | yes, if update = 1 | |
losID |
varchar | LOS unique identifier (may be used for any source) | no | |
loanOfficerUID |
varchar | loan officer unique identifier | yes, if loanOfficerLOSUID or loanOfficerCRMUID is not provided | |
loanOfficerLOSUID |
varchar | loan officer LOS unique identifier | yes, if loanOfficerUID or loanOfficerCRMUID is not provided | |
loanOfficerCRMUID |
varchar | loan officer CRM unique identifier | yes, if loanOfficerUID or loanOfficerLOSUID is not provided | |
loanOfficerAssistantUID |
varchar | loan officer assistant unique identifier | no | |
loanOfficerAssistantLOSUID |
varchar | loan officer assistant LOS unique identifier | no | |
loanOfficerAssistantCRMUID |
varchar | loan officer assistant CRM unique identifier | no | |
csrID |
varchar | customer service representative unique identifier | no | |
borrowerUID |
varchar | borrower unique identifier | no | |
leadURL |
varchar | lead URL (usually for CRM) | no | |
salesforceOpportunityID |
varchar | Salesforce Opportunity ID | no | |
crmLeadID |
varchar | Lead ID in your CRM | no | |
firstName |
varchar | first name | yes | |
middleName |
varchar | middle name | no | |
lastName |
varchar | last name | yes | |
suffixName |
varchar | suffix name | no | |
dob |
date | date of birth | no | |
ssn |
varchar | social security with no other characters | no | |
status |
varchar | Married, Unmarried, Separated | marital status | no |
phonePrimary |
varchar | phone number with no other characters | no | |
phoneSecondary |
varchar | phone number with no other characters | no | |
email |
varchar | email address | no | |
primaryAddressStreet |
varchar | address line | no | |
primaryAddressCity |
varchar | address city | no | |
primaryAddressState |
varchar | address state | no | |
primaryAddressZipcode |
varchar | address zip code | no | |
subjectPropertyAddressStreet |
varchar | address line | no | |
subjectPropertyAddressCity |
varchar | address city | no | |
subjectPropertyAddressState |
varchar | address state | no | |
subjectPropertyAddressZipcode |
varchar | address zip code | no | |
homePrice |
double | sales price if purchase, or estimated value if refinance | no | |
loanPurpose |
varchar | Purchase, Refinance, RefinanceCashOut |
purpose for loan | no |
cashOut |
double | cash out if loanPurpose is RefinanceCashOut | yes if loanPurpose is RefinanceCashOut |
|
propertyType |
varchar | SingleFamily, Condominium, DetachedCondominium, Duplex, Triplex, Quadplex, ManufacturedMobileHome, PUD |
type of property | no |
productType |
varchar | MortgageLoan, SolarLoan | type of loan | yes |
autoCheckTOUPP |
bit | 0, 1 | flag to auto check agreement | no |
leadSource |
varchar | name of lead source | no | |
referralPersonName |
varchar | name of referring person | no | |
referralPersonID |
varchar | ID of referring person | no | |
referralBranchName |
varchar | name of referring branch | no | |
referralBranchID |
varchar | ID of referring branch | no | |
campaignPrimaryName |
varchar | primary campaign name | no | |
campaignPrimaryID |
varchar | primary campaign ID | no | |
campaignSecondaryName |
varchar | secondary campaign name | no | |
campaignSecondaryID |
varchar | secondary campaign ID | no | |
offer1 |
varchar | offer 1 | no | |
offer1Purpose |
varchar | offer 1 purpose | no | |
offer2 |
varchar | offer 2 | no | |
offer2Purpose |
varchar | offer 2 purpose | no |
$jsonPayload = {...};
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'accessToken' => ACCESS_TOKEN,
'data' => $jsonPayload
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/loan/create-lead" );
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 a unique publicID, if successful. If a lead is converted into a loan, the publicID will remain unchanged. Response will return the root key error
, if any error. See Error Codes and Handling.
{
"publicID": "UU473IOJ"
}
The /add-conditions
endpoint will add (or update) an array of conditions for a loan. This endpoint also requires the following parameters:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
accessToken |
varchar | unique identifier | yes | |
data |
json | payload containing request parameters | yes |
{
"loanID": "VOWKVHTZ",
"conditions" : [
{
"losUID" : "3K12FDT3",
"viewableByBorrower" : "1",
"dateDue" : "1483120275",
"type" : "PTD",
"category" : "Income",
"docType" : "Income",
"description" : "Provide copy of last two month W-2s.",
"status" : "New"
},
{
"losUID" : "R8FDK17B",
"loanConditionUID" : "PLY22UVG",
"loanBorrowerUID" : "15FGKDRY",
"viewableByBorrower" : "1",
"type" : "PTD",
"category" : "Application",
"docType" : "Misc",
"description" : "Provide letter explaining gap in employment.",
"status" : "Satisfied"
}
]
}
Below, you'll find details on all required parameters to be included in the JSON payload.
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
loanID |
varchar | your loan identifier | yes | |
conditions.borrowerAssignType |
varchar | AllBorrowers, PrimaryBorrower, BorrowerSpecific | Assign condition for borrower | no |
conditions.losUID |
varchar | LOS UID for condition | yes, if loanConditionUID is not provided | |
conditions.loanConditionUID |
varchar | BeSmartee UID for condition | yes, if losUID is not provided | |
conditions.loanBorrowerUID |
varchar | BeSmartee UID for LoanBorrower | no | |
conditions.viewableByBorrower |
bit | 0, 1 | flag to expose condition to borrower | yes |
conditions.dateDue |
unix timestamp | due date | no | |
conditions.type |
varchar | custom mapping | type | yes |
conditions.category |
varchar | custom mapping | category | no |
conditions.docType |
varchar | custom mapping | doc type | no |
conditions.description |
varchar | description | yes | |
conditions.status |
varchar | New, In Process, Satisfied, Uploaded, Removed | status | yes |
$jsonPayload = {...};
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'accessToken' => ACCESS_TOKEN,
'data' => $jsonPayload
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, "https://www.besmartee.com/api/loan/add-conditions" );
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 array of condition UIDs for all conditions requested. Response will return the root key error
if any error. See Error Codes and Handling.
{
"conditions": [
{
"losUID": "3K12FDT3",
"loanConditionUID": "D6U1Y2V1"
},
{
"losUID": "R8FDK17B",
"loanConditionUID": "PLY22UVG"
}
]
}
The /update-loan-data
endpoint will sync loan data from LOS to BSM. This
endpoint also requires the following parameters:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
accessToken |
varchar | unique identifier | yes | |
data |
json | payload containing request parameters | yes |
{
"posLoanUID": "RC1YBIV5",
"losLoanOfficerUID": "loan_officer@lender.com",
"losLoanData": [
{
"dataFormat": "fnma",
"data": "[REQUIRED_FNMA_32_HERE]"
},
{
"dataFormat": "mismo33",
"data": "[OPTIONAL_XML_HERE]"
},
{
"dataFormat": "mismo34",
"data": "[REQUIRED_XML_HERE]"
}
],
"losMiscLoanData": {
"loanStatusMain": "Start Application",
"loanStatusSub": "Sign Up",
"programID": "123456",
"losLoanUID": "123456789"
}
}
Below, you'll find details on all required parameters to be included in the JSON payload.
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
posLoanUID |
varchar | Loan unique identifier | yes | |
losLoanOfficerUID |
varchar | Loan officer unique identifier | yes | |
losLoanData |
array | Industry standard Loan data formats (Fannie Mae 3.2, MISMO 3.3 and MISMO 3.4) | yes | |
losMiscLoanData |
array | Extension data | yes |
$jsonPayload = {...};
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'accessToken' => ACCESS_TOKEN,
'data' => $jsonPayload
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL,
"https://www.besmartee.com/api/loan/update-loan-data" );
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.
The /update-loan-fee
endpoint will return list fees in loan. This
endpoint also requires the following parameters:
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
accessToken |
varchar | unique identifier | yes | |
data |
json | payload containing request parameters | yes |
{
"posLoanUID": "RC1YBIV5",
"fees": [
{
"action": "Update",
"feeID": 1663896,
"amountPaidByBorrower": 600
},
{
"action": "Update",
"feeID": 1663894,
"MISMOType": "HomeownersInsurancePrepaid",
"monthsCollected": 4,
"monthlyAmount": 63.73
},
{
"action": "Update",
"feeID": 1663894,
"MISMOType": "Other",
"MISMOTypeOtherDescription": "Title - Examination",
"name": "Title - Examination",
"amountPaidByBorrower": 290
}
]
}
Below, you'll find details on all required parameters to be included in the JSON payload.
Parameter | Type | Possible Values | Description | Required |
---|---|---|---|---|
posLoanUID |
varchar | Loan unique identifier | yes | |
fees |
array | List fee need to update | yes | |
fees.action |
string | Update | Action to interact with loan fees | yes |
fees.feeID |
varchar | feeID which get from /get-loan-data with "classes" : ["LoanCost"] |
yes | |
fees.mismoType |
varchar | no | ||
fees.mismoTypeOther |
varchar | yes, if mismoType is Other | ||
fees.amountPaidByBorrower |
double | no | ||
fees.monthsCollected |
integer | yes, if fee in section F or G |
||
fees.monthlyAmount |
double | yes, if fee in section F or G |
||
fees.name |
varchar | no |
$jsonPayload = {...};
$parameters = array(
'format' => "json",
'apiID' => YOUR_API_ID,
'apiKey' => YOUR_API_KEY,
'accessToken' => ACCESS_TOKEN,
'data' => $jsonPayload
);
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL,
"https://www.besmartee.com/api/loan/update-loan-fee" );
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.