Intégration
Intégrer une vérification sans refaire votre parcours
Choisissez le niveau d'intégration adapté à votre équipe et à votre produit. Les trois modes produisent le même dossier, les mêmes décisions et les mêmes webhooks.
Aucun développement
Lien de vérification
Émettez un lien depuis votre espace, envoyez-le par e-mail ou SMS, suivez le résultat. Idéal pour démarrer ou pour les équipes non techniques.
Quelques lignes
Widget intégré
Le parcours s'affiche dans votre site, en fenêtre ou dans la page. Vos pages ne manipulent jamais de pièce d'identité.
Intégration complète
API et webhooks
Vos systèmes ouvrent les vérifications, reçoivent les décisions signées et relisent les dossiers quand ils en ont besoin.
Widget
Le parcours dans votre site, sans les risques
Le widget affiche notre parcours dans une iframe que nous servons. Votre page ne voit jamais les images ni les données d'identité : elle reçoit seulement des événements de suivi.
- Fenêtre modale ou intégration dans la page, au choix.
- Plein écran sur mobile, pour une capture confortable.
- Domaines autorisés déclarés par vos soins : personne d'autre ne peut afficher votre parcours.
- Aucune donnée personnelle dans les événements échangés avec votre page.

Exemples
Trois appels, de bout en bout
Votre serveur ouvre la session, votre page affiche le parcours, votre serveur reçoit la décision.
curl https://api.verifyed.online/v1/widget/sessions \
-H "Authorization: Bearer $VERIFYED_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "external_ref": "CLT-104233", "kyc_level": "standard", "country": "CI" }'
# → 201 { "session_token": "…", "link_id": "…", "expires_at": "…" }
# Le jeton vaut 30 minutes, pour un seul parcours.<!-- SDK servi par la plateforme ; l'origine de votre page doit être
déclarée dans votre espace (Développeurs → Origines du widget). -->
<script src="https://www.verifyed.online/sdk/v1.js" defer></script>
<script>
// Votre serveur a créé la session et vous a renvoyé le jeton.
KycWidget.open({
sessionToken,
onSubmitted: ({ reference }) => afficherAttente(reference),
onClose: () => rafraichirLeCompte(),
});
</script>POST https://votre-serveur.example/hooks
webhook-id: 2f6c1c0e-… identifiant de livraison, pour dédupliquer
webhook-timestamp: 1759916467 secondes Unix, fenêtre anti-rejeu
webhook-signature: v1,MEUCIQ… HMAC-SHA256 de "{webhook-id}.{webhook-timestamp}.{corps}"
{
"type": "session.decided",
"session_id": "4f2a91c7-…",
"seq": 7,
"created_at": "2026-10-08T09:41:07Z",
"livemode": true,
"data": { "from": "processing", "outcome": "approved", "reason": null }
}Signature et rejeu
Chaque livraison porte un horodatage et une signature HMAC calculée sur le corps brut. Rejetez toute requête dont la signature ne correspond pas, ou dont l'horodatage s'écarte de plus de cinq minutes.Architecture
Qui parle à qui
Votre application
Ouvre la session avec sa clé API et affiche le widget ou le lien.
Verifyed
Déroule le parcours, exécute les contrôles et applique vos seuils.
Votre serveur
Reçoit le webhook signé, met à jour le compte, relit le dossier si besoin.
| Ressource | Ce qu'elle fait |
|---|---|
| POST /v1/links | Émet un lien de vérification à usage unique, KYC ou KYB, remis par e-mail ou par vous-même. |
| POST /v1/widget/sessions | Ouvre une session pour le widget, valable 30 minutes. |
| POST /v1/sessions | Ouvre une vérification pilotée par votre application, avec clé d'idempotence. |
| GET /v1/cases | Liste vos dossiers, avec filtres et pagination. |
| GET /v1/sessions/{id} | État d'une vérification : étape, décision, motif. Flux temps réel sur /stream. |
| POST /v1/webhook_endpoints | Déclare un point de terminaison et récupère son secret de signature. |
Questions fréquentes
Ce que demandent les équipes techniques
Combien de temps prend une première intégration ?
Peut-on tester sans facturation ?
Que se passe-t-il si notre serveur est indisponible ?
Les événements du navigateur font-ils foi ?
Un développeur, une après-midi
Nous vous ouvrons un environnement de test et accompagnons votre première intégration.