AccountChek Webhook Postbacks
When creating an AccountChek Order request for a borrower, it’s important to be able to receive notifications regarding both where the borrower is in the process, as well as when the Borrower’s reports are available. To allow for this, we provide the ability to set up a self-hosted application for receiving and handling postbacks from the AccountChek Webhook.
This method of handling status updates should be used in conjunction with use of the API call to check the status of the service (VOA status and VOIE status) to avoid a single point of failure.
Note: the VOIE service webhooks require opting in to receive them. To opt in, please reach out to AccountChek support.
The Requirements
In order to receive webhooks for a particular order, you will need to have a
self-hosted application which will receive and handle postbacks from our system.
All postback requests will be made to the URL entered in the notificationUrl
field in the body of the POST
call made to create an AccountChek order. When
passing this URL, ensure that you include https://
; if omitted, you will
receive an error and will be unable to make the POST
call.
Below is an example of an AccountChekAPI request and response containing the
notificationUrl
.
Request
POST
to /v1/accountchekorders
{
"email": "fake@domain.com",
"last4SSN": "6789",
"referenceNumber": "1122334455",
"firstName": "John",
"lastName": "Doe",
"notificationUrl": "https://example.com/accountchek/webhooks",
"returnUrl": null,
"phoneNumber": null,
"employerName": "Informative Research",
"ssn": "123-45-6789",
"dateOfBirth": "1983-05-24",
"address": {
"street": "1234 Hawthorne Avenue",
"street2": null,
"city": "Athens",
"state": "GA",
"zip": "31032"
}
}
See the table below for a list of the fields, a description of each field, and whether they are required or not. Note: Some fields are optional based on the type of verification you are going to be requesting on an AccountChek Order. Make sure to read each description to determine if you need to provide the field for the order.
Field | Description | Required/Optional |
---|---|---|
email |
The email of the Borrower for which you are opening the order. Email communications from the system to the Borrower will be sent to this email address. | Required |
last4SSN |
The last four digits of the Borrower social security number. | Required |
referenceNumber |
A value you may use to link an order to your system. Typically this value is a loan number. | Required |
firstName |
The first name of the Borrower. This value is used by the system when sending communications to the Borrower. You may also search on this value to find orders. | Required |
lastName |
The last name of the Borrower. This value is used by the system when sending communications to the Borrower. You may also search on this value to find orders. | Required |
notificationUrl |
When set, this URL will be called for all webhooks callbacks. See the webhooks documentation for more information. | Optional |
returnUrl |
The location the Borrower is redirected to after they logout. This is useful if you want the Borrower to be redirected to a custom location for later processing or a more integrated experience within your own systems. | Optional |
employerName |
Name of the employer for the Borrower. This field is only required if the Employment Report endpoints in Verifier API will be used for the AccountChek Order. AccountChek Plus does not require this field. | Optional |
phoneNumber |
A phone number that will be used to send a text message to the Borrower. This is required if this AccountChekOrder is going to include IdChek . |
Optional |
ssn |
The full SSN of the Borrower. This is optional and should be sent if you are going to add a verification that needs it, like IdChek. If you send this value, you can skip sending the last4SSN property, as this value will overwrite any value you set there. The full value is never echoed here, only a masked value with the last 4 digits visible. | Optional |
dateOfBirth |
The date of birth of the Borrower. This is optional and should only be sent if you are going to add a verification that needs it, like IdChek. | Optional |
address |
The address information of the Borrower. This is optional and should only be sent if you are going to add a verification that needs it, like IdChek. | Optional |
Response
If the above request is successful, you will receive a HTTP Status 201 - Created
.
Below is an example of the body of the response.
{
"id": "b943cae2-a8f5-e911-b5e9-0003ff4f1b49",
"created": "2019-10-23T15:22:12.967Z",
"isArchived": false,
"status": "building",
"loginUrl": "https://s-borrower.accountchek.net/Account/Login?vodkey=b943cae2a8f5e911b5e90003ff4f1b49",
"daysRemaining": 58.222795108188656,
"employmentVerificationRequested": false,
"email": "johndoe@gmail.com",
"last4SSN": "6789",
"referenceNumber": "1122334455",
"firstName": "John",
"lastName": "Doe",
"notificationUrl": null,
"returnUrl": null,
"phoneNumber": null,
"employerName": "Informative Research",
"ssn": "***-**-6789",
"dateOfBirth": "1983-05-24T00:00:00Z",
"address": {
"street": "1234 Hawthorne Avenue",
"street2": null,
"city": "Athens",
"state": "GA",
"zip": "31032"
}
}
If the above request is unsuccessful, you will receive a HTTP Status
422 - Unprocessable Entity
. The response body will contain the details of the
cause of the error. Below is the structure of an error response.
{
"general": [
"string"
],
"properties": [
{
"property": "string",
"message": "string"
}
]
}
What You Will Receive Back
Once the AccountChek order is opened, our system will callback to the
notificationUrl
provided on the given order when a service status update
occurs. The response body will depend on the service (see the different sections
below).
Additionally, Webhook postbacks will contain the following header information:
-
Content-Length
: Length of characters returned in postback. -
Content-Type
: application/x-www-form-urlencoded -
User-Agent
: AccountChek Webhook
To handle these postbacks, you will need to configure your self-hosted application appropriately.
VOA
The POST
request for a VOA webhook contains the following parameters:
-
orderId
(GUID): This is the ID of the AccountChek order, produced with the initial POST call made to create the given order. -
VOD_ID
(GUID): Deprecated/No Function in REST -
orderStatus
(int-C#): This is the status of the VOA request for a givenorderId
. -
reportId
(GUID): If the webhook is informing you about a successful report generation (507
status), you will also receive back areportId
. If report generation hasn’t occurred, you won’t receive this back.
VOIE
The POST
request for a VOIE webhook contains the following parameters:
Note: the VOIE service webhooks require opting in to receive them. To opt in, please reach out to AccountChek support.
-
orderId
(GUID): This is the ID of the AccountChek order, produced with the initial POST call made to create the given order. -
orderStatus
(int-C#): This is the status of the VOIE request for a givenorderId
. These are the statuses that may be received:
Status | Description |
---|---|
601 |
The borrower arrived at the provider login. |
607 |
The VOIE report has been generated. |
609 |
Needs update - borrower credentials or MFA update required to reestablish connection. |
610 |
Borrower credentials validated. |
634 |
Provider login error. |
voeReportId
(GUID): If the webhook is informing you about a successful report generation (607
status), you will also receive back avoeReportId
. If report generation hasn’t occurred, you won’t receive this back.
Troubleshooting and Best Practices
In order to successfully receive notifications, the URL provided above must be exposed and able to handle postbacks. To ensure this is the case, account for the following:
Webhook Postman Collection
In order to troubleshoot any issues you may be experiencing with the webhooks, we provide an example Postman Collection which is structured exactly how the AccountChek System will send the webhooks.
Your provided URL doesn’t require authentication
Our system does not accommodate extra authentication methods. For example, a
notificationUrl
requiring a custom token to be passed in the header of the
callback request will not work.
Your network is optimized to handle external requests
For example, if your network is configured to block external requests with a
User-Agent
longer than a certain character length, you won’t receive
postbacks.
You have correctly mapped the returned values in the webhook
When the POST
is made to the URL provided for a given order, the values
detailed above are returned and your webhook
controller must match the names of each returned field. If this isn’t done
correctly, you will likely experience issues for each incorrectly named
property.
You have whitelisted our IPs in your network (if required)
If using a firewall or security measure that requires whitelisting to receive our postbacks, please reach out to ac-integration@informativeresearch.com for the current list of AccountChek IPs.
You have opted in to VOIE webhooks (if wanting to use them)
VOIE service webhooks require opting in to receive them while VOA are available by default. To opt in to VOIE webhooks, please reach out to AccountChek support.
Client Testing (CTE) Domains
- https://verifierapi.accountchek.net
- https://validatorapi.accountchek.net
Production Domains
- https://verifierapi.accountchek.com
- https://validatorapi.accountchek.com