Aller au contenu
Sanno

Développeurs

Une API REST, un lien, un webhook.

Créez une vérification en un appel, envoyez le lien à votre utilisateur, recevez la décision par webhook signé. Intégrez d'abord dans le bac à sable.

  1. Créer une vérification

    Avec une clé de test (kyc_test_…) ou de production (kyc_live_…). L'utilisateur est retrouvé par votre propre identifiant, external_id.

    Requête
    curl -X POST https://getsanno.com/api/v1/verifications \
      -H "Authorization: Bearer kyc_test_…" \
      -H "Content-Type: application/json" \
      -d '{
        "applicant": {
          "external_id": "user-48151623",
          "first_name": "Jeanne",
          "last_name": "Martin",
          "date_of_birth": "1990-04-12"
        },
        "flow": "standard",
        "redirect_url": "https://www.example.com/kyc/retour"
      }'
  2. Envoyer le lien

    La réponse contient le lien privé de votre utilisateur. Il fait la capture en direct, puis revient sur votre redirect_url.

    Réponse (extrait)
    {
      "id": "01jb2y8q5z3x4c6v7b8n9m0k1j",
      "object": "verification",
      "status": "created",
      "environment": "sandbox",
      "url": "https://getsanno.com/v/Xr4b0Yq0m2c3VJ5q9yQw…",
      "flow": "standard",
      "external_id": "user-48151623",
      "expires_at": "2026-10-25T09:30:00Z"
    }
  3. Recevoir la décision

    Chaque changement de statut envoie un webhook. Vérifiez sa signature : HMAC-SHA256 de « horodatage.corps brut » avec le secret de votre point d'arrivée, et refusez un horodatage de plus de 5 minutes.

    Webhook reçu
    POST /kyc/webhook HTTP/1.1
    Host: www.example.com
    Content-Type: application/json
    Kyc-Signature: t=1792834200,v1=5d41c8…
    
    {
      "id": "01jb3c9w4q8t2n6m5r7k1d0f3e",
      "type": "verification.approved",
      "created_at": "2026-10-24T09:30:00Z",
      "data": {
        "verification_id": "01jb2y8q5z3x4c6v7b8n9m0k1j",
        "applicant_id": "01jb2y7k4m3n2b1v0c9x8z7a6s",
        "external_id": "user-48151623",
        "status": "approved",
        "reasons": [],
        "environment": "sandbox"
      }
    }
  4. Simuler dans le bac à sable

    Avec une clé de test, déclenchez vous-même chaque issue (approved, declined, review, resubmission_requested) pour éprouver votre intégration.

    Simulation
    curl -X POST https://getsanno.com/api/v1/verifications/01jb2y8q5z3x4c6v7b8n9m0k1j/simulate \
      -H "Authorization: Bearer kyc_test_…" \
      -H "Content-Type: application/json" \
      -d '{"outcome": "review"}'

Ce que vous trouverez dans l'API

Toute l'API, ses statuts et ses codes de raison sont décrits dans la documentation de référence.

Documentation de l'API

Parlons de vos vérifications

Dites-nous ce que vous devez vérifier et à quel rythme : nous revenons vers vous avec une proposition.

Nous contacter