Overview

About Webhooks

Webhooks enable the ICE Mortgage Technology Digital Lending Platform to deliver real-time updates to your application. By creating a webhook subscription, your client application can receive notifications when a specified event occurs on a resource. For example, your client application can subscribe to receive notifications when a new loan is created. Notifications are triggered when that specified event occurs and then is pushed to your application via POST requests.

Supported Resources and Events

Our webhook catalog is categorized into logical groupings of Encompass services. Click on each webhook resource category to view the list of supported resource events and payload examples for each resource category.

Using the Webhook API

When creating a webhook, you will specify the resource and events to which you want to subscribe, the callback endpoint where the notification will be sent, and the signing key to be used for the subscription. When the specified event happens and the resource, a webhook subscription is registered and a notification is sent to the callback endpoint. A notification will be sent each time the specified event happens on the resource. The Subscriptions API includes methods to create and manage subscriptions. The Resources API includes methods to view webhook resources and events on the Lender Platform.

Notification Signature

When a subscription is registered, the Encompass services platform notifies the client application about the event with a specific base64 encoded signature in the response header.

Notifications are signed by the Encompass platform, so that the subscriber (or a client application) can verify the identity of the sender and integrity of the message upon receiving the notification.

For additional details please refer to the Signing Keys page in this document.

Notification Message

When a subscription is registered, the client application issues a POST notification to the callback URL (endpoint) you defined in the webhook. The notification is sent as JSON in the POST request body.

{
  "eventId": "243e4b32-5032-4376-bd6a-a8207c068387",
  "eventTime": "2016-12-01T21:38:39.2696988Z",
  "eventType": "Create",
  "meta": {
    "userId": "jsmith",
    "resourceId": "10d191c3-c97b-48a8-82d9-88c337ae9fd8",
    "resourceType": "Loan",
    "resourceRef": "/encompass/v1/loans/10d191c3-c97b-48a8-82d9-88c337ae9fd8"
  }
}
{
  "eventId":"3c8e2d53-0ab9-40c0-88a6-74d521dde5de",
  "eventTime":"2020-02-11T19:42:23.262Z",
  "eventType":"milestone",
  "meta":
  {
    "userId":"admin",
      "resourceType":"Loan",
      "resourceId":"af43e4cd-cf58-4a7f-ba8a-5bea2496ec2d",
      "instanceId":"bexxxxxxxx",
      "resourceRef":"/encompass/v3/loans/af43e4cd-cf58-4a7f-ba8a-5bea2496ec2d",
      "payload":
      {
        "correlationId":"8e4bfd03-5af6-400b-9c77-0a0fe48396b4",
        "event":
        {
          "updateMilestones":
          [
            {
              "id":"dc66f3ae-4ee3-4150-b3eb-69683bb48ad9",
              "title":"Started"
            }
          ]
        }
      }
  }
}

Notification Attributes

ATTRIBUTEDESCRIPTION
eventIdUnique identifier for the event, which ensures events are only digested once.
eventTimeThe timestamp (ISO8601 format) of when the event occurred.
eventTypeThe type of event that occurred. For example, possible values for loan resource are: Create, Update, Submit, Change, Move, Document, Milestone.
metaAn object containing additional metadata specific to the event type.
meta.userIdThe name of the user that generated this event.
meta.resourceIdThe unique identifier of the resource this event is associated with (for example the loan GUID for the Loan resource).
meta.resourceTypeThe type of resource this event that generated this event.
meta.resourceRefThe URL of the resource. This can be used to fetch the full resource.
meta.payloadAdditional metadata for the event. Returned for the event only if extraPayload attribute is set to true in the Get resource events API response.
meta.payload.correlationIdx-correlation-Id that triggered the Webhook event.
meta.payload.eventList of events that were triggered with the transaction, along with details of the resource that was modified within the loan such as id, title/ name, etc.