WebView or iFrame
📥 Integration URL
Your integration URL should follow this structure:
https://{baseUrl}/v2/onboarding/{uuid}?product=productName&externalId=xxxxxx&partnerName=companyName&type=kycParameters:
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-requestisSuccess
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
🔁 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