Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 47 Next »

Table of Contents


ℹī¸ About webhooks

Webhooks allow Ondato to send you real-time notifications regarding changes in the status of your resources. These notifications are sent as POST requests to your server immediately after the event occurs. The request body includes information about the resource.


🔐 Security

Ondato uses HTTPS to send these notifications as a JSON payload.


🛒 Ordering

Ondato delivers events asynchronously. Therefore, you might receive them out of order and need to handle them accordingly.


đŸ“Ģ Webhook IP addresses

All webhook requests will originate from the following IP addresses:

20.31.10.47
20.31.227.231
20.76.229.117
20.76.229.248
213.226.187.101

Please make sure to whitelist the following IPs in order to receive webhook notifications.


🔃 Retry logic

Upon sending a webhook notification, we are waiting for a success response for 30 seconds. Otherwise, if your endpoint does not respond, the webhook is queued for retry. We use an exponential backoff retry policy for event delivery. The attempt to resend the notifications is according to the following schedule on a best effort basis:

  • 10 seconds

  • 30 seconds

  • 1 minute

  • 5 minutes

  • 10 minutes

  • 30 minutes

  • 1 hour

  • 3 hours

  • 6 hours

  • Every 12 hours up to 24 hours

If the endpoint responds within 3 minutes, we will attempt to remove the event from the retry queue on a best effort basis but duplicates may still be received.

A small randomisation is added to all retry steps and may opportunistically skip certain retries if an endpoint is down for a long period o appears to be overloaded.

Maximum number of retry attempts is 30.

When Event Grid can't deliver an event within a certain time period or after trying to deliver the event a certain number of times the event is dropped.


❔ How to start receiving webhooks?

To start receiving event notifications into your application you need to go through the following steps:

  1. Identify the events you want to monitor.
    Please see a full list of events in this section here: https://ondato.atlassian.net/wiki/spaces/PUB/pages/2296184995/Webhooks#%F0%9F%AA%84-Types.

  2. Create a webhook endpoint as an HTTP endpoint on your local server.

  3. Handle requests from Ondato.

  4. Deploy your webhook endpoint so it would be publicly accessible HTTPS URL.

  5. Contact Ondato support team to register the publicly accessible HTTPS URL and a list of events you want to monitor.

Please note that we also support multiple URLs for sending webhooks.


đŸ˜ļ‍đŸŒĢī¸ Requirements for webhook endpoint

Ondato needs to know where to send information about events. In order to receive webhooks you need to create a webhook endpoint and provide us with the publicly accessible HTTPS URL that would meet the following criteria:

  1. URL format: https://<your-website-name>/<your-webhook-endpoint>.

  2. URL must support POST HTTP Method.

  3. URL must support one of the available authentication flows:

    1. basic - username, password.

    2. oAuth2 - clientID, clientSecret, tokenUrl.

Events sent by Ondato will have a body in the following structure:

Property

Description

Id

Webhook ID

ApplicationId

Internal ID that identifies you in Ondato system.

CreatedUtc

Date and time when webhook was generated.

DeliveredUtc

Date and time when webhook was delivered.

This property is only visible via Consents API and is not sent with the body of the Webhook itself.

IsDelivered

Status of the webhook if it was delivered or not. Possible values are true/ false.

This property is only visible via Consents API and is not sent with the body of the Webhook itself.

Payload

Depending on the webhook type property, the payload always returns the same information you could obtain from the GET endpoint of the resource.

E.g. of the webhook type is KycIdentification.<<event>> then payload will contain information you could retrieve from KYC ID endpoint GET /identifications/{id}.

Type

Type of the webhook. It contains of two parts (the first part identifies the service and the second one the event):


đŸĒ„ Types

You have the option to configure various webhook types that can trigger a message to registered webhooks.

🆔 Identity Verification (IDV) webhooks

1ī¸âƒŖ IdentityVerification.StatusChanged

  • The webhook is triggered when the identity verification (IDV) status changes.

  • For this webhook type, the payload body depends on the IDV APIGET/v1/identifications/{id} contract.

  • You can call IDV API by using "id" → GET /v1/identifications/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "03be8be3-fbd5-4496-b552-bcd3e4918116"
        }
    }
}

 Webhook example
{
    "id": "7a21b0e2-580e-4d2d-8578-00fc32a753ad",
    "applicationId": "44575362-e08e-4f75-b399-00d9d8916552",
    "createdUtc": "2023-01-31T07:25:55.6073016Z",
    "payload": {
        "id": "03be8be3-fbd5-4496-b552-bcd3e4918116",
        "status": "Completed",
        "applicationId": "44575362-e08e-4f75-b399-00d9d8916552",
        "createdUtc": "2023-01-31T07:22:11.313Z",
        "modifiedUtc": "2023-01-31T07:25:55.595Z",
        "setup": {
            "id": "5f16990b-d00a-4ff2-8102-e7b8d5820c28",
            "versionId": "60e8a778-1885-4162-bd58-d8b07bddba2e"
        },
        "step": {
            "kycIdentification": {
                "id": "6df0d302-f0bb-441a-804c-5b114b476fc0"
            },
            "documentSignatures": [],
            "forms": [],
            "consent": {
                "isConsented": true,
                "consentedUtc": "2023-01-31T07:22:25.08Z"
            }
        }
    },
    "type": "IdentityVerification.StatusChanged"
}

2ī¸âƒŖ IdentityVerification.Consented

  • The webhook is triggered when the consent step has been processed.

  • For this webhook type, the payload body depends on the IDV APIGET/v1/identifications/{id} contract.

  • In the webhook payload, you receive the "id" as a reference to the Consents API.

  • You can call Consents API by using “id” → GET /v1/consents/{id} to retrieve the information about the consent session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "6c14b207-f73f-4a85-9e38-bbfb5ca62858"
        "step": {
            "consent": {
            }
        }
    }
}

 Webhook example
{
    "id": "e4df532d-a448-43b2-a875-031475695cf2",
    "applicationId": "a2af2fd1-60aa-4549-ab2e-e6294385af62",
    "createdUtc": "2023-02-21T07:47:06.196653Z",
    "payload": {
        "id": "6c14b207-f73f-4a85-9e38-bbfb5ca62858",
        "status": "InProgress",
        "applicationId": "a2af2fd1-60aa-4549-ab2e-e6294385af62",
        "createdUtc": "2023-02-21T07:46:57.862Z",
        "modifiedUtc": "2023-02-21T07:47:06.14Z",
        "setup": {
            "id": "27820208-e4d0-4841-bacf-93e6e709637b",
            "versionId": "7cd83758-bc5f-4aa0-97cc-d7f3fa177dca"
        },
        "step": {
            "documentSignatures": [],
            "forms": [],
            "consent": {
                "isConsented": true,
                "consentedUtc": "2023-02-21T07:47:06.14Z"
            }
        }
    },
    "type": "IdentityVerification.Consented"
}

Following fields can be ignored (are depreciated):

  • "isConsented"

  • "consentedUtc"


👤 KYC Identification webhooks

1ī¸âƒŖ KycIdentification.Created

  • The webhook is triggered when the KYC identification step is initiated by the customer.

  • For this webhook type, the payload body depends on the KYC ID APIGET/v1/identifications/{id} contract.

  • You can call KYC ID API by using “id” → GET /v1/identifications/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "7175fc81-8ac1-418a-b2e4-89d0e8894442"
    }
}

 Webhook example
{
    "id": "e4e148de-8fd1-4e64-9173-00374ed139d2",
    "applicationId": "8c7218bd-9394-4603-b8ba-1ccea0b5e8d7",
    "createdUtc": "2023-01-10T12:16:53.4746293Z",
    "payload": {
        "id": "7175fc81-8ac1-418a-b2e4-89d0e8894442",
        "applicationId": "8c7218bd-9394-4603-b8ba-1ccea0b5e8d7",
        "createdUtc": "2023-01-10T12:16:53.319Z",
        "setup": {
            "id": "12d8478b-0174-49e9-b3e6-45f9063ba0d2",
            "versionId": "03a5ec17-18af-4e88-8a35-1f8ebdec2d3a"
        },
        "identityVerificationId": "ef9379b3-652d-44ee-b4c9-8da7a682ce40",
        "status": "Awaiting",
        "statusReason": "Unfinished",
        "isCrossChecked": false
    },
    "type": "KycIdentification.Created"
}

2ī¸âƒŖ KycIdentification.Processed

  • The webhook is triggered when the KYC identification is completed by the customer.

  • For this webhook type, the payload body depends on the KYC ID APIGET/v1/identifications/{id} contract.

  • You can call KYC ID API by using “id” → GET /v1/identifications/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "c9fc134b-0386-4e4f-940e-f1349b9d3d64"
    }
}

 Webhook example
{
    "id": "25aa5e86-dd51-4a23-870d-0015e7d98227",
    "applicationId": "8921c61b-a5c0-4f1f-9d44-5a83009a29b1",
    "createdUtc": "2023-02-20T13:24:32.4234105Z",
    "payload": {
        "id": "c9fc134b-0386-4e4f-940e-f1349b9d3d64",
        "applicationId": "8921c61b-a5c0-4f1f-9d44-5a83009a29b1",
        "createdUtc": "2023-02-20T13:24:23.938Z",
        "setup": {
            "id": "d4915b8c-f4a7-4e94-a2c3-16c68a1aee78",
            "versionId": "f3135842-d53c-4525-8118-be63a12641ba"
        },
        "identityVerificationId": "7b4032ff-3a4a-4846-abf3-b1ffa9afbe26",
        "status": "Awaiting",
        "statusReason": "Processing",
        "isCrossChecked": false,
        "document": {
            "type": "IdCard",
            "mrzVerified": false,
            "files": [
                {
                    "createdUtc": "2023-02-20T13:24:26Z",
                    "fileId": "1d712a49-bcb4-47eb-ba33-0652dcebad2f",
                    "fileName": "c9fc134b03864e4f940ef1349b9d3d64_front_132425267.jpeg",
                    "fileExtension": "jpeg",
                    "part": "Front",
                    "fileType": "DocumentPhoto"
                }
            ],
            "ocrValidations": [
                {
                    "key": "Address",
                    "isValid": false
                },
                {
                    "key": "Category",
                    "isValid": true
                },
                {
                    "key": "DateOfBirth",
                    "isValid": false
                },
                {
                    "key": "DateOfExpiration",
                    "isValid": false
                },
                {
                    "key": "DateOfIssue",
                    "isValid": false
                },
                {
                    "key": "DocumentNumber",
                    "isValid": false
                },
                {
                    "key": "FirstName",
                    "isValid": false
                },
                {
                    "key": "LastName",
                    "isValid": false
                },
                {
                    "key": "Gender",
                    "isValid": false
                },
                {
                    "key": "Nationality",
                    "isValid": false
                },
                {
                    "key": "PersonalCode",
                    "isValid": false
                }
            ]
        },
        "rules": [
            {
                "name": "DocumentNotExpired",
                "status": "Fail",
                "reason": "DocumentExpirationDateNotFound"
            },
            {
                "name": "DocumentHasFace",
                "status": "Fail",
                "reason": "DocumentHasNoFace"
            },
            {
                "name": "DocumentHasBothSides",
                "status": "Fail",
                "reason": "DocumentPartTypeNotRecognized"
            },
            {
                "name": "DocumentTypeNotProhibited",
                "status": "Success"
            },
            {
                "name": "NotUnder18",
                "status": "Fail",
                "reason": "BirthDateNotFound"
            },
            {
                "name": "NotProhibitedByCountryOrState",
                "status": "Fail",
                "reason": "DocumentCountryOrStateUnknown"
            }
        ],
        "registries": [],
        "fraudChecks": [],
        "completedUtc": "2023-02-20T13:24:32Z"
    },
    "type": "KycIdentification.Processed"
}

3ī¸âƒŖ KycIdentification.Approved

  • The webhook is triggered when the KYC identification is manually or automatically approved.

  • For this webhook type, the payload body depends on the KYC ID APIGET/v1/identifications/{id} contract.

  • You can call KYC ID API by using “id” → GET /v1/identifications/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "4c0000ac-f116-4dec-93ba-493f3809ca9b"
    }
}

 Webhook example
{
    "id": "00b6c3c8-8219-4206-a4ab-04554c97fa1a",
    "applicationId": "00cabb1f-4d7c-41d9-9a97-55482d920160",
    "createdUtc": "2023-01-16T23:40:52.4886646Z",
    "payload": {
        "id": "4c0000ac-f116-4dec-93ba-493f3809ca9b",
        "applicationId": "00cabb1f-4d7c-41d9-9a97-55482d920160",
        "createdUtc": "2023-01-16T23:40:42.77Z",
        "setup": {
            "id": "04b803f3-6c62-4560-bf5f-9ef75397ce1d",
            "versionId": "fde54820-00ec-4da0-87fa-c70f81729b0e"
        },
        "identityVerificationId": "d1a76177-00d5-494e-bbba-557527501a0e",
        "status": "Approved",
        "statusReason": "AutomaticallyIdentified",
        "isCrossChecked": false,
        "document": {
            "fullName": "NAME MIDDLE SURNAME",
            "firstName": "NAME MIDDLE",
            "lastName": "SURNAME",
            "documentNumber": "1740931767",
            "dateOfIssue": "2018-12-03",
            "dateOfExpiration": "2023-12-01",
            "dateOfBirth": "1985-02-27",
            "personalCode": "000.000.000-17",
            "countryIso3": "BRA",
            "type": "DriverLicense",
            "mrzVerified": true,
            "category": "B",
            "files": [
                {
                    "createdUtc": "2023-01-16T23:40:43Z",
                    "fileId": "e2ec5e00-0000-40f3-9e1c-c7a435d1fe2f",
                    "fileName": "4c4811acf1164dec93ba493f3809ca9b_front_234040000.jpeg",
                    "fileExtension": "jpeg",
                    "part": "Front",
                    "fileType": "DocumentPhoto"
                },
                {
                    "createdUtc": "2023-01-16T23:40:43Z",
                    "fileId": "717e98b1-00a-0000-ab51-655b8cf0bb2d",
                    "fileName": "4c4811acf1164dec93ba493f3809ca9b_back_234043541.jpeg",
                    "fileExtension": "jpeg",
                    "part": "Back",
                    "fileType": "DocumentPhoto"
                }
            ],
            "ocrValidations": [
                {
                    "key": "Address",
                    "isValid": true
                },
                {
                    "key": "Category",
                    "isValid": true
                },
                {
                    "key": "DateOfBirth",
                    "isValid": true
                },
                {
                    "key": "DateOfExpiration",
                    "isValid": true
                },
                {
                    "key": "DateOfIssue",
                    "isValid": true
                },
                {
                    "key": "DocumentNumber",
                    "isValid": true
                },
                {
                    "key": "FirstName",
                    "isValid": true
                },
                {
                    "key": "LastName",
                    "isValid": true
                },
                {
                    "key": "Gender",
                    "isValid": true
                },
                {
                    "key": "Nationality",
                    "isValid": true
                },
                {
                    "key": "PersonalCode",
                    "isValid": true
                }
            ]
        },
        "rules": [
            {
                "name": "DocumentHasBothSides",
                "status": "Success"
            },
            {
                "name": "DocumentNotExpired",
                "status": "Success"
            },
            {
                "name": "DocumentHasFace",
                "status": "Success"
            },
            {
                "name": "DocumentTypeNotProhibited",
                "status": "Success"
            },
            {
                "name": "NotUnder18",
                "status": "Success"
            }
        ],
        "registries": [],
        "fraudChecks": [
            {
                "name": "DocumentManipulation",
                "status": "Success"
            }
        ],
        "completedUtc": "2023-01-16T23:40:51Z"
    },
    "type": "KycIdentification.Approved"
}

4ī¸âƒŖ KycIdentification.Updated

  • The webhook is triggered when the document data of KYC Identification is updated in the Ondato Portal.

  • For this webhook type, the payload body depends on the KYC ID APIGET/v1/identifications/{id} contract.

  • You can call KYC ID API by using “id” → GET /v1/identifications/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "9655ae23-7be6-4df4-98e4-df43a58f9620"
    }
}

 Webhook example
{
    "id": "a59c2055-7655-43bb-923d-0005928301d7",
    "applicationId": "8921c61b-a5c0-4f1f-9d44-5a83009a29b1",
    "createdUtc": "2023-02-16T14:46:33.1467591Z",
    "payload": {
        "id": "9655ae23-7be6-4df4-98e4-df43a58f9620",
        "applicationId": "8921c61b-a5c0-4f1f-9d44-5a83009a29b1",
        "createdUtc": "2023-02-16T14:43:40.503Z",
        "setup": {
            "id": "d4915b8c-f4a7-4e94-a2c3-16c68a1aee78",
            "versionId": "f3135842-d53c-4525-8118-be63a12641ba"
        },
        "identityVerificationId": "67c8dad4-b8ea-40aa-bced-7cdfb1e3199f",
        "status": "Rejected",
        "statusReason": "UnrelatedPhotoSubmit",
        "isCrossChecked": true,
        "document": {
            "type": "DriverLicense",
            "mrzVerified": true,
            "files": [
                {
                    "createdUtc": "2023-02-16T14:43:42Z",
                    "fileId": "25afc22e-9f87-4466-afb4-e1609141798a",
                    "fileName": "9655ae237be64df498e4df43a58f9620_front_144342156.png",
                    "fileExtension": "png",
                    "part": "Front",
                    "fileType": "DocumentPhoto"
                }
            ],
            "ocrValidations": [
                {
                    "key": "Address",
                    "isValid": false
                },
                {
                    "key": "Category",
                    "isValid": false
                },
                {
                    "key": "DateOfBirth",
                    "isValid": false
                },
                {
                    "key": "DateOfExpiration",
                    "isValid": false
                },
                {
                    "key": "DateOfIssue",
                    "isValid": false
                },
                {
                    "key": "DocumentNumber",
                    "isValid": false
                },
                {
                    "key": "FirstName",
                    "isValid": false
                },
                {
                    "key": "LastName",
                    "isValid": false
                },
                {
                    "key": "Gender",
                    "isValid": false
                },
                {
                    "key": "Nationality",
                    "isValid": true
                },
                {
                    "key": "PersonalCode",
                    "isValid": false
                }
            ]
        },
        "rules": [
            {
                "name": "DocumentNotExpired",
                "status": "Fail",
                "reason": "DocumentExpirationDateNotFound"
            },
            {
                "name": "DocumentHasFace",
                "status": "Fail",
                "reason": "DocumentHasNoFace"
            },
            {
                "name": "DocumentHasBothSides",
                "status": "Fail",
                "reason": "DocumentPartTypeNotRecognized"
            },
            {
                "name": "DocumentTypeNotProhibited",
                "status": "Success"
            },
            {
                "name": "NotUnder18",
                "status": "Fail",
                "reason": "BirthDateNotFound"
            },
            {
                "name": "NotProhibitedByCountryOrState",
                "status": "Fail",
                "reason": "DocumentCountryOrStateUnknown"
            }
        ],
        "registries": [],
        "fraudChecks": [],
        "completedUtc": "2023-02-16T14:43:47Z"
    },
    "type": "KycIdentification.Updated"
}

5ī¸âƒŖ KycIdentification.Rejected

  • The webhook is triggered when the KYC identification is manually or automatically rejected.

  • For this webhook type, the payload body depends on the KYC ID APIGET/v1/identifications/{id} contract.

  • You can call KYC ID API by using “id” → GET /v1/identifications/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "832f67ab-0f6f-4a57-bfc2-83abb543bbd0"
    }
}

 Webhook example
{
    "id": "15df07d7-4b54-4674-9dd5-00354e6cd1a9",
    "applicationId": "8921c61b-a5c0-4f1f-9d44-5a83009a29b1",
    "createdUtc": "2023-02-15T15:10:07.6788678Z",
    "payload": {
        "id": "832f67ab-0f6f-4a57-bfc2-83abb543bbd0",
        "applicationId": "8921c61b-a5c0-4f1f-9d44-5a83009a29b1",
        "createdUtc": "2023-02-15T15:09:57.944Z",
        "setup": {
            "id": "d4915b8c-f4a7-4e94-a2c3-16c68a1aee78",
            "versionId": "f3135842-d53c-4525-8118-be63a12641ba"
        },
        "identityVerificationId": "0458600b-f373-404d-8603-9fcc5c8d5d23",
        "status": "Rejected",
        "statusReason": "UnrelatedPhotoSubmit",
        "isCrossChecked": true,
        "document": {
            "type": "Passport",
            "mrzVerified": true,
            "files": [
                {
                    "createdUtc": "2023-02-15T15:09:59Z",
                    "fileId": "df72c1a0-cb92-43d5-9c32-f15ead7a6c83",
                    "fileName": "832f67ab0f6f4a57bfc283abb543bbd0_front_150958998.png",
                    "fileExtension": "png",
                    "part": "FrontCover",
                    "fileType": "DocumentPhoto"
                }
            ],
            "ocrValidations": [
                {
                    "key": "Address",
                    "isValid": true
                },
                {
                    "key": "Category",
                    "isValid": true
                },
                {
                    "key": "DateOfBirth",
                    "isValid": false
                },
                {
                    "key": "DateOfExpiration",
                    "isValid": false
                },
                {
                    "key": "DateOfIssue",
                    "isValid": false
                },
                {
                    "key": "DocumentNumber",
                    "isValid": false
                },
                {
                    "key": "FirstName",
                    "isValid": false
                },
                {
                    "key": "LastName",
                    "isValid": false
                },
                {
                    "key": "Gender",
                    "isValid": false
                },
                {
                    "key": "Nationality",
                    "isValid": false
                },
                {
                    "key": "PersonalCode",
                    "isValid": false
                }
            ]
        },
        "rules": [
            {
                "name": "DocumentNotExpired",
                "status": "Fail",
                "reason": "DocumentExpirationDateNotFound"
            },
            {
                "name": "DocumentHasFace",
                "status": "Fail",
                "reason": "DocumentHasNoFace"
            },
            {
                "name": "DocumentHasBothSides",
                "status": "Fail",
                "reason": "DocumentPartTypeNotRecognized"
            },
            {
                "name": "DocumentTypeNotProhibited",
                "status": "Success"
            },
            {
                "name": "NotUnder18",
                "status": "Fail",
                "reason": "BirthDateNotFound"
            },
            {
                "name": "NotProhibitedByCountryOrState",
                "status": "Fail",
                "reason": "DocumentCountryOrStateUnknown"
            }
        ],
        "registries": [],
        "fraudChecks": [],
        "completedUtc": "2023-02-15T15:10:02Z"
    },
    "type": "KycIdentification.Rejected"
}

đŸĸ KYB identification webhooks

1ī¸âƒŖ KybIdentification.Created

  • The webhook is triggered when the customer has completed filling out the business onboarding form.

  • For this webhook type, the payload body depends on the KYB ID APIGET/v1/identifications/{id} contract.

  • You can call KYB ID API by using “id” → GET /v1/identifications/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "d91b5007-4af7-4980-8c48-b9658826673e"
    }
}

 Webhook example
{
    "id": "019346d0-770c-47a5-b693-049a79d19c51",
    "applicationId": "0068a566-b5d2-46f1-b5c3-22fdf895953a",
    "createdUtc": "2023-01-02T14:08:01.4572198Z",
    "payload": {
        "id": "d91b5007-4af7-4980-8c48-b9658826673e",
        "createdUtc": "2023-01-02T14:08:01.02",
        "setup": [],
        "applicationId": "0068a566-b5d2-46f1-b5c3-22fdf895953a",
        "legalEntity": {
            "name": "Test company SmartId 2",
            "code": "401038386"
        },
        "verificationFormId": "a632cc2d-2717-4183-bee0-1efe1c868904",
        "identityVerificationId": "00000000-0000-0000-0000-000000000000",
        "representatives": [
            "37cab687-a53c-4228-a1ad-d3cac0bcaac7",
            "28e92146-d3e3-443c-8d4e-50471481cbfe"
        ],
        "status": "Pending",
        "lastStatusChangedUtc": "2023-01-02T14:08:01.02"
    },
    "type": "KybIdentification.Created"
}

2ī¸âƒŖ KybIdentification.Approved

  • The webhook is triggered when all KYC identifications have been approved and all registry checks have been successfully validated.

  • For this webhook type, the payload body depends on the KYB ID APIGET/v1/identifications/{id} contract.

  • You can call KYB ID API by using “id” → GET /v1/identifications/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "dc81eb25-8ccb-4ea9-9dde-c8b46e2f12d1"
    }
}

 Webhook example
{
    "id": "54ec3990-4bfb-40d2-84c1-080ba15be61f",
    "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
    "createdUtc": "2022-12-14T16:38:01.6026518Z",
    "payload": {
        "id": "dc81eb25-8ccb-4ea9-9dde-c8b46e2f12d1",
        "createdUtc": "2022-12-13T15:55:45.983",
        "setup": {
            "id": null,
            "versionId": null
        },
        "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
        "legalEntity": {
            "name": "\u041e\u041e\u041e\u041e\u041e\u041e\u041e",
            "code": "\u041e\u041e\u041e\u041e\u041e\u041e\u041e"
        },
        "verificationFormId": null,
        "identityVerificationId": "a586a568-b464-420f-a7b3-368f2f208b33",
        "representatives": [
            "aea305f5-6123-4f1f-a266-535955e2584d",
            "e118640c-7e5d-471d-83e7-8cfc43504a03"
        ],
        "status": "Approved",
        "statusReason": null,
        "statusDescription": null,
        "lastStatusChangedUtc": "2022-12-14T16:38:01.53"
    },
    "type": "KybIdentification.Approved"
}

3ī¸âƒŖ KybIdentification.Rejected

  • The webhook is triggered when not all KYC identifications have been approved and/or when not all registries have been successfully validated.

  • For this webhook type, the payload body depends on the KYB ID APIGET/v1/identifications/{id} contract.

  • You can call KYB ID API by using “id” → GET /v1/identifications/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "dc81eb25-8ccb-4ea9-9dde-c8b46e2f12d1"
    }
}

 Webhook example
{
    "id": "cbc8f716-425e-4519-990a-584023f9c880",
    "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
    "createdUtc": "2022-12-14T16:23:50.0805263Z",
    "payload": {
        "id": "dc81eb25-8ccb-4ea9-9dde-c8b46e2f12d1",
        "createdUtc": "2022-12-13T15:55:45.983",
        "setup": {
            "id": null,
            "versionId": null
        },
        "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
        "legalEntity": {
            "name": "\u041e\u041e\u041e\u041e\u041e\u041e\u041e",
            "code": "\u041e\u041e\u041e\u041e\u041e\u041e\u041e"
        },
        "verificationFormId": null,
        "identityVerificationId": "a586a568-b464-420f-a7b3-368f2f208b33",
        "representatives": [
            "aea305f5-6123-4f1f-a266-535955e2584d",
            "e118640c-7e5d-471d-83e7-8cfc43504a03"
        ],
        "status": "Rejected",
        "statusReason": "DataNotMatch",
        "statusDescription": null,
        "lastStatusChangedUtc": "2022-12-14T16:23:50.033"
    },
    "type": "KybIdentification.Rejected"
}

4ī¸âƒŖ KybIdentification.Document.Created

  • The webhook is triggered when a KYB-related document entity is created in the KYB identification with the status "NeedReview."

  • For this webhook type, the payload body depends on the KYB ID APIGET/v1/documents/{id} contract.

  • You can call KYB ID API by using “id” → GET /v1/documents/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "701ded06-f832-45f3-9a66-4378d0ba55ed"
    }
}

 Webhook example
{
    "id": "696ec22d-304a-412a-b719-6eeca663e5fe",
    "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
    "createdUtc": "2022-12-12T10:12:59.4204Z",
    "payload": {
        "id": "701ded06-f832-45f3-9a66-4378d0ba55ed",
        "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
        "identificationId": "eccae495-46fb-4f2c-9eba-863f5f407fb0",
        "createdUtc": "2022-12-12T10:12:59.4121043Z",
        "lastActionUtc": "2022-12-12T10:12:59.4121045Z",
        "lastStatusChangedUtc": null,
        "fileId": null,
        "status": "NeedReview",
        "purpose": "ExternalRegistry",
        "title": "SkyNet.pdf"
    },
    "type": "KybIdentification.Document.Created"
}

5ī¸âƒŖ KybIdentification.Document.Uploaded

  • The webhook is triggered when a KYB-related document file is uploaded to the document entity.

  • For this webhook type, the payload body depends on the KYB ID APIGET/v1/documents/{id} contract.

  • You can call KYB ID API by using “id” → GET /v1/documents/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "dd8e3b9e-bece-4b79-8c0d-e74412c19067"
    }
}

 Webhook example
{
    "id": "5d9a674a-1d28-45f1-a7fd-cfe920bbdf21",
    "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
    "createdUtc": "2022-12-12T12:59:33.146706Z",
    "payload": {
        "id": "dd8e3b9e-bece-4b79-8c0d-e74412c19067",
        "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
        "identificationId": "85edabe9-3902-483a-9533-f5d48a842d42",
        "createdUtc": "2022-12-12T12:59:32.303",
        "lastActionUtc": "2022-12-12T12:59:33.123",
        "lastStatusChangedUtc": null,
        "fileId": "kybid-29b125e08eb8410ea9234de3371f665a",
        "status": "NeedReview",
        "purpose": "ExternalRegistry",
        "title": "SkyNet.pdf"
    },
    "type": "KybIdentification.Document.Uploaded"
}

6ī¸âƒŖ KybIdentification.Document.Updated

  • The webhook is triggered when a KYB-related document is verified, and the status changes from "NeedReview" to "Validated" or "Invalidated".

  • For this webhook type, the payload body depends on the KYB ID APIGET/v1/documents/{id} contract.

  • You can call KYB ID API by using “id” → GET /v1/documents/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "ef0dbfa6-5533-4463-a4a8-493aeff7d942"
    }
}

 Webhook example
{
    "id": "21e2e190-bc8b-43ef-914f-3c8ab630d2fa",
    "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
    "createdUtc": "2022-12-13T09:46:15.6314497Z",
    "payload": {
        "id": "ef0dbfa6-5533-4463-a4a8-493aeff7d942",
        "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
        "identificationId": "53953073-3acb-4062-bb34-e2830b01d86d",
        "createdUtc": "2022-12-11T09:49:49.35",
        "lastActionUtc": "2022-12-13T09:46:15.58",
        "lastStatusChangedUtc": "2022-12-13T09:46:15.577",
        "fileId": "kybid-f1126a9b929d4bd2ba1249058140eb52",
        "status": "Invalidated",
        "purpose": "ExternalRegistry",
        "title": "backend (19).txt"
    },
    "type": "KybIdentification.Document.Updated"
}

7ī¸âƒŖ KybIdentification.Document.Deleted

  • The webhook is triggered when a KYB-related document is deleted from KYB identification.

  • For this webhook type, the payload body depends on the KYB ID APIGET/v1/documents/{id} contract.

  • You can call KYB ID API by using “id” → GET /v1/documents/{id} to retrieve the information about the user session.


 Reference from the Webhook payload
{
    "payload": {
        "id": "701ded06-f832-45f3-9a66-4378d0ba55ed"
    }
}

 Webhook example
{
    "id": "29cbf14a-9baf-40a1-ba05-e9cf0ed8dee7",
    "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
    "createdUtc": "2022-12-12T10:15:08.4286841Z",
    "payload": {
        "id": "701ded06-f832-45f3-9a66-4378d0ba55ed",
        "applicationId": "5d2567dc-1e4e-44bc-a651-7f330a80bd23",
        "identificationId": "eccae495-46fb-4f2c-9eba-863f5f407fb0",
        "createdUtc": "2022-12-12T10:12:59.413",
        "lastActionUtc": "2022-12-12T10:13:00.57",
        "lastStatusChangedUtc": null,
        "fileId": "kybid-2aa9a9c735894ecdabd1451471a604aa",
        "status": "NeedReview",
        "purpose": "ExternalRegistry",
        "title": "SkyNet.pdf"
    },
    "type": "KybIdentification.Document.Deleted"
}

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.