{
"id": "0bf34a40-8ca1-4b58-8cbc-dd6b9f67dc63",
"status": "completed",
"clientId": "3010000024",
"environment": "sandbox",
"application": "LO Connect",
"orderType": "MANUAL",
"created": "2020-02-10T05:56:28Z",
"createdBy": "urn:elli:service:soo",
"entityRef": {
"entityId": "urn:elli:encompass:BE11172718:loan:bd751bb3-0c26-407a-8846-8219bdda01a9",
"entityType": "urn:elli:encompass:loan"
},
"product": {
"id": "d714117c-247f-452e-9169-c112b6d24671",
"partnerId": "99999999",
"name": "test-product"
},
"request": {
"type": "Appraisal",
"loanFormat": "application/vnd.plm-2.0.0+json",
"loan": {
"property": {
"city": "Pleasanton",
"state": "CA",
"county": "Alameda",
"postalCode": "94588",
"streetAddress": "4430 Rosewood Dr"
},
"loanNumber": "1911EM000412515"
},
"credentials": {
"username": "donaldd",
"password": "[email protected]$w0rd"
},
"requestingParty": {
"name": "AMG Mortgage",
"address": "4140 Dublin Blvd. #301",
"city": "Santa Maria",
"state": "CA",
"postalCode": "93458",
"pointOfContact": {
"name": "Donald Duck",
"role": "Loan Officer",
"email": "[email protected]",
"phone": "666-666-6666"
}
},
"options": {
"testOptionBool": true,
"testOptionNumber": 100,
"testOptionObject": {
"testOptionBool": true,
"testOptionNumber": 100,
"testOptionString": "string"
},
"testOptionString": "string"
}
},
"response": {
"status": "completed",
"referenceNumber": "TWX104356",
"partnerStatus": "Appraisal Report Delivered",
"respondingParty": {
"name": "AAA Appraisers",
"address": "3232 Loan Ave",
"city": "Pleasanton",
"state": "CA",
"postalCode": "94588",
"pointOfContact": {
"name": "Scott Cooper",
"role": "Co-ordinator",
"email": "[email protected]",
"phone": "343-222-1954"
}
},
"loanFormat": "application/vnd.plm-2.0.0+json",
"loan": {
"propertyAppraisedValueAmount": "500000",
"underwriterSummary": {
"appraisalType": "Form 1004 appraisal with interior/exterior",
"appraisalCompletedDate": "2020-04-24T19:00:04Z"
}
},
"resources": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "AppraisalReport.pdf",
"mimeType": "application/pdf"
}
]
},
"events": [
{
"id": "e95f6f0e-85b2-43f3-bc56-0fb19944e823",
"text": "Transaction Request Created",
"type": "urn:elli:epc:transaction:request:created",
"from": "System",
"sent": "2020-02-10T05:56:28Z"
},
{
"id": "cb140fdb-e208-48a7-83bf-181933bee8fd",
"text": "Inspection Scheduled",
"type": "urn:elli:epc:partner:appraisal:scheduled",
"from": "Donald Duck",
"sent": "2020-02-12T14:48:00Z",
"comments": "Appraisal appointment scheduled for 02/14 at 16:00 PST"
},
{
"id": "699a501b-2927-47cf-a69e-aafa263af54d",
"text": "Transaction Response Updated",
"type": "urn:elli:epc:transaction:response:updated",
"from": "System",
"sent": "2020-02-15T19:00:04Z",
"resources": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "AppraisalReport.pdf",
"mimeType": "application/pdf",
"location": "https://int.streaming.us-west-2.skydrive.rd.elliemae.io/v1/clients/3010000024/fb276d5f-4132-4250-bd90-3769e59ee45a?validity=MTU4OTk0NzYwMzY3OQ%3D%3D",
"authorization": "elli-signature 4D5ABB6321901B871A37DC04C7080DC26CDFB58F5186B6D006195498FE5A0F389E8ADBAF827DF59A756F3E13FE151DABF1D7CC6779DE58B9D40112129256111D"
}
]
},
{
"text": "Transaction response successfully processed",
"type": "urn:elli:epc:transaction:response:processed",
"from": "System",
"sent": "2020-02-15T19:00:10Z",
"comments": "Transaction response successfully processed"
}
]
}
The next few sections specify allowed operations on the transactions
REST resource, and its associated sub-resources, such as the transaction request
, response
and events
The transaction
resource
transaction
resourceThe transaction
resource acts as the primary communication mechanism between a lender/consumer facing Encompass application and a partner application on the EPC platform - serving as the core building block in an integrations service order initiation and fulfillment workflow. It provides common data formats for communication, data and file exchange in a request
, response
and event
based pattern.
Life-cycle
The general life-cycle of a transaction begins with a
request
initiated by the lender for the subject partnerproduct
, which is communicated to the partner via awebhook
, picked up by the partner to process, fulfilled by the partner with an update to theresponse
, and finally reviewed by the lender - also allowing for customevents
to be exchanged during fulfillment as needed.
Transactions can be in one of two statuses, pending
or completed
. When a transaction is pending
- both lenders and partners are able to update the request
and response
respectively. When a transaction is completed
- neither can make updates.
Partners can communicate the completion of a transaction by marking their response completed
, along with sending data/documents to be ingested. If fulfillment is not an immediate process, partners can first acknowledge their intent to proceed with the transaction by setting their response status to processing
- before eventually sending their completed
response. Transactions can also be canceled
, have failed
due to processing errors on the partners end, or have lender inputRequired
before continuing with fulfillment. Both cancellations and failures set the transaction status to completed
, allowing no more updates to the request
/response
. However, communication in regards to the transactions resolution can still occur via transaction events
.
A standard model for fulfillment
A transaction request
can be initiated by the lender via manual user-interaction, via a Developer Connect REST API call, or via the Encompass workflow automation engine - but its fulfillment workflow is completely agnostic to its channel of initiation. Notifications for all new transaction requests are communicated via a standard webhook
callback, and can be similarly processed and fulfilled. This allows a single integration implementation to serve the breadth of interactive, 1-click, API based and automated ordering use-cases - enabling lenders to build powerful and intelligent service ordering workflows.
Try It!
Replace the
access_token
you generated using the oAuth2 RESTful API with the placeholder value in the Authorization request header inputs below, and click on the 🧭 Try It button to see thetransactions
API endpoints in action!