Business onboarding full integration

Table of Contents


Introduction

This documentation will guide you through the business onboarding process with a full Ondato APIs integration.

Extent of the integration can be adjusted based on your business individual needs.
Please contact [support@ondato.com] for more details.


Workflow

Workflow diagram 1: Main workflow of KYB API integration


Getting started

Please find details about authentication and setups in the following page:


Webhooks

Read more about the webhooks here:


Swagger

APIs for integration

You will need to use the following APIs for the integration:

  • to initiate the business onboarding flow.

  • to retrieve business onboarding form data.

  • to get KYC identification data.

  • to retrieve business onboarding form data.

  • to retrieve signed business onboarding form.


Integration steps

Initiate business onboarding

To initiate business onboarding you need to make a post request to the resource /v1/identity-verifications with setupId in the request body.

Response with status code 201 will return id of identity verification that can be used to generate KYB form URL.


Generate business onboarding form (KYB) URL

After you receive identity verification id, you can generate a url and redirect your user to it for filling in the business onboarding details.


Webhooks

Following webhooks will be sent out while your user progresses with the business onboarding form:

  • KybIdentification.Created - sent once your user completes the form.

    • This webhook will include payload information from the resource get /v1/identifications/{id}.

  • IdentityVerification.StatusChanged - sent every time the status of the identity verification changes. This will inform you on the progress of filling in the form.

    • This webhook will include payload information from the resource get /v1/identity-verifications/{id}.

Sequence diagram 1: Initiate KYB identification


Representatives KYC invitation link

To get a link for representative’s KYC identification, following endpoint needs to be called:

  1. resource get /v1/identifications/{kybId}/representatives

  2. The response will include a list of representatives.

  3. Representatives who have not been identified yet will have the following properties set as “false”:

"isExternallyVerified": false, "isVerified": false,
  1. For each representative, the "flowUrl" can be used as an invitation link:

"flowUrl": "https://join.ondato.com/setup/00000000-0000-0000-0000-000000000000?representativeId=00000000-0000-0000-0000-000000000000"

Track business onboarding form validation progress

Once KYC identifications of all representatives are complete, the rest of the KYB identification flow actions are performed on Ondato side. You will be informed of the progress.


KYB files webhooks

For the files uploaded by the user in the OS, you will receive the following webhooks:

  • KybIdentification.Document.Created

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

  • KybIdentification.Document.Uploaded

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

  • KybIdentification.Document.Updated

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

  • KybIdentification.Document.Deleted

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

Webhooks above will include payload information from the resource get/v1/documents/{id}.

It also applies to the registry documents added as files through the same feature (OS).


KYB identification approved / rejected webhooks

Once all KYC identifications are completed - the whole KYB identification is verified. Webhooks that you will receive:

  • KybIdentification.Approved

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

  • KybIdentification.Rejected

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

Webhooks above will include payload information from the resource get /v1/identifications/{id}.