WebView or iFrame

πŸ“₯ Integration URL

Your integration URL should follow this structure:

https://{baseUrl}/v2/onboarding/{uuid}?product=productName&externalId=xxxxxx&partnerName=companyName&type=kyc

Parameters:

parameters
Description
required

uuid

Unique identifier for the onboarding session, provided by Danaya.

yes

product

The product type

yes

type

The onboarding type: kyc (individual) or kyb (business).

yes

externalId

Your internal user ID β€” used to match this onboarding session with your user.

yes

partnerName

Your partner identifier β€” used to verify your access.

yes

baseUrl

prod:app.danaya.africa demo: demo.danaya.africa

yes

βœ… Completion Callback

Once the user completes (or cancels) the onboarding flow, we redirect to:

https://{baseUrl}/v2/onboarding/end?isSuccess=true&requestId=uuid-verfication-request
parameters
Description

isSuccess

true is the documents are sent successfully and false if not

requestId

the file-verification-uuid. This will allow you to fetch the documents verification results. See this page to how to use this id.

Optional: JavaScript Event

We can also emit a JavaScript event if you’re embedding in an iframe:

window.addEventListener("message", (event) => {
  if (event.data === "danaya:onboarding:complete") {
    // Close iframe or take appropriate action
    // do something with event.payload...
  }
});

Let us know if you’d like to use this event-based approach.

πŸ“„ Required Documents

Depending on the onboarding type (kyc or kyb), the user will need to provide specific documents:

KYC (Individual)

  • Selfie (required)

One of the following:

  • National ID (CNI)

  • Resident Permit

  • Passport

KYB (Business)

  • Selfie (required)

One of the following:

  • National ID (CNI)

  • Resident Permit

  • Passport

And company document

  • RCCM (required)

  • DFE (optional)

πŸ“‘ Verification Results

1. Webhook

  • We will send verification results to the webhook URL you provided during onboarding setup.

2. API Access

  • You can retrieve the verification results using either:

    • The requestId returned upon form submission here

    • The externalId you used during initialization here

πŸ” Handling Duplicates

  • You can safely initiate multiple onboarding sessions using the same externalId.

  • When retrieving verification results by externalId, we will return only the most recent verification associated with it.

🚫 If a document is reused under a different externalId:

If a user uploads the same identity document with a new externalId, we will return an error when you try to retrieve the results:

{
  "code": "DUPLICATED_EXTERNAL_IDS",
  "duplicatedExternalIds": [
    "externalId-1",
    "externalId-2"
  ]
}

This indicates that the same document has already been processed under different externalIds.

❓Questions ?

If you have any questions or need help with the integration, please reach out to our team at [email protected].

Last updated