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.
- Loan
- Document Delivery
- Document Order
- Enhanced Conditions
- Orgs and Users
- Encompass Partner Connect (EPC)
- Schedulers
- Trades
- Workflow Tasks
- Data & Document Automation (DDA) - Limited availability for DDA customers
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
ATTRIBUTE | DESCRIPTION |
---|---|
eventId | Unique identifier for the event, which ensures events are only digested once. |
eventTime | The timestamp (ISO8601 format) of when the event occurred. |
eventType | The type of event that occurred. For example, possible values for loan resource are: Create, Update, Submit, Change, Move, Document, Milestone. |
meta | An object containing additional metadata specific to the event type. |
meta.userId | The name of the user that generated this event. |
meta.resourceId | The unique identifier of the resource this event is associated with (for example the loan GUID for the Loan resource). |
meta.resourceType | The type of resource this event that generated this event. |
meta.resourceRef | The URL of the resource. This can be used to fetch the full resource. |
meta.payload | Additional 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.correlationId | x-correlation-Id that triggered the Webhook event. |
meta.payload.event | List 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. |