Example integration

In this example integration, the account is created before the KYB verification. Until the KYB verification is done and approved, the account is kept inactive and has limited access to your application (example: wire transfers are disabled).

This design choice have several advantages:

  1. While the KYB verification is pending, the user has already access to your application. You can already build engagement: complete the setup, train the user, etc.
  2. With an account creation as first step of the process, you have more means to contact and re-engage the user in case of drip out.
  3. You can pass down specific information to the KYB case such as: internal references (ex: account_id) or risk data (ex: acquisition channel).

Implementation guidelines

  • Use the endpoint POST /api/portals (reference) to create a Portal link:
    • use the param default_custom_fields to pass custom case data such as account_id etc..
    • use the param redirect_url to redirect the user after the submission of the Portal
  • Use the webhook event application.submitted to be notified when a case is submitted via Portal
    • in the payload, you have access to the application_id and custom_fields values (especially the ones coming from default_custom_fields)
  • Use the endpoint GET /api/applications/{application_id} (reference) to get access to case content
    • use the field status_review to know the decision status
    • use the fields risk_score and risk_level to get information about the risk scoring
  • Use the webhook event application.review_updated to be notified when a case gets an update on its status_review
  • Use the webhook event collect.opened to be notified when a case needs an information from the customer
    • Use payload data.object.portals.link to access the link to the collect Portal that you can send to the customer.