{
  "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": "p@s$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


The 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 partner product, which is communicated to the partner via a webhook, picked up by the partner to process, fulfilled by the partner with an update to the response, and finally reviewed by the lender - also allowing for custom events 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 the transactions API endpoints in action!