Le visage est le billet. Pas de QR. Pas de code-barres. Pas d'impression.
Enregistrez l'acheteur une seule fois à l'achat. Chaque scan à l'entrée est une correspondance faciale 1:N en moins d'une seconde. Gratuit par scan après l'enregistrement. 500 vérifications offertes chaque mois.
Approuvé par plus de 2000 organisations dans le monde entier.
Enrôlé à l'achat · $0.25 une foisScan · gratuit
File d'entrée
Entrée · gratuit
Index événement· 5
98.4
+
POST /v3/face-search/
Match0.71 s
ScanScoreActionWebhook
Porteur billet98.4Passsigned
signed
signed
Stades · Festivals · Transports · Conférences
Oublie le QR code. Passe directement.
Pas besoin de sortir son téléphone, pas de stress lié à la batterie, pas de fraude à la revente. L'acheteur s'enregistre une seule fois à
l'achat pour 0,25 $, et chaque scan futur à l'entrée est une correspondance faciale 1:N gratuite
, en moins d'une seconde à l'échelle d'un festival. Le même processus fonctionne pour les stades, les festivals,
les transports en commun et les conférences.
Comment ça marche
De l'inscription à l'utilisateur vérifié en quatre étapes.
Étape 01
Créez le workflow
Choisissez les vérifications que vous souhaitez, ID, détection du vivant, correspondance faciale, sanctions, adresse, âge, téléphone, e-mail, questions personnalisées. Glissez-déposez-les dans un flux sur le tableau de bord, ou publiez le même flux via notre API. Créez des branches conditionnelles, lancez des tests A/B, aucun code requis.
Étape 02
Intégrez
Intégrez nativement avec nos SDK Web, iOS, Android, React Native ou Flutter. Redirigez vers une page hébergée. Ou envoyez simplement un lien à votre utilisateur, par e-mail, SMS, WhatsApp, n'importe où. Choisissez ce qui convient à votre stack.
Étape 03
L'utilisateur suit le parcours
Didit gère la caméra, les signaux lumineux, le transfert mobile et l'accessibilité. Pendant que l'utilisateur suit le parcours, nous évaluons plus de 200 signaux de fraude en temps réel et vérifions chaque champ par rapport à des sources de données fiables. Résultat en moins de deux secondes.
Étape 04
Vous recevez les résultats
Des webhooks signés en temps réel maintiennent votre base de données synchronisée dès qu'un utilisateur est approuvé, refusé ou envoyé en révision. Interrogez l'API à la demande. Ou ouvrez la console pour inspecter chaque session, chaque signal et gérer les cas à votre manière.
Conçu pour les lieux · Gratuit à chaque scan après l'enregistrement
Six fonctionnalités. 0,25 $ une fois, gratuit par scan.
Un seul enregistrement suffit pour toutes les entrées suivantes. La recherche faciale 1:N est incluse gratuitement sur chaque compte Didit ; le lieu ne paie que pour la vérification d'identité unique lors de l'achat.
Intégrez une session API Sessions dans votre parcours d'achat. La vérification d'identité confirme l'acheteur, la détection passive du vivant rejette toutes les catégories de détection d'attaque de présentation (PAD), et le portrait résultant est stocké comme modèle d'index d'événement de l'acheteur, lié à vos `vendor_data`, réutilisable pour chaque événement futur auquel le même acheteur participe.
Maya RuizAcheteur · achat de billetCommande #18472
$0.25 once
0.00sEnrôlé · visage lié à la commande
Vérification ID$0.15
Liveness passif · PAD$0.10
Gabarit facial enrôléFree
tmpl_7f3a…vendor_dataGabarit lié à vendor_data · réutilisable à chaque événement
02 · Le visage EST le billet
Pas de téléphone. Pas d'impression. Pas de code-barres.
À l'entrée, la caméra capture une image et le visiteur passe. Pas besoin de sortir son téléphone (pas de stress lié à la batterie), pas d'impression (pas de papier, pas de fraude à la revente), pas de code QR du tout. Le visage de l'acheteur EST le jeton d'accès, et la recherche faciale 1:N est gratuite sur tous les plans.
La charge utile de correspondance vous donne la référence de l'acheteur correspondant et un `similarity_score`. Votre logique d'entrée se ramifie : billet valide + premier scan = entrée ; déjà à l'intérieur = politique de réentrée ; billet expiré ou annulé = diriger vers le personnel ; revendu ou pas de correspondance = bloquer. Par événement, par entrée, par catégorie de billet.
Même inscription. Pour toutes les catégories de lieux.
Un seul modèle facial couvre les stades de football, les festivals de plusieurs jours, les abonnements de transport et les grandes conférences. L'acheteur s'enregistre une fois avec vous, et chaque lieu alimenté par Didit qu'il fréquente par la suite utilise l'identifiant sans frais, la sémantique des identifiants réutilisables appliquée au contrôle d'accès.
Stades de footballabonnement · chaque matchmême enrôlement, sans recapturecovered
Festivals multi-joursjour 1 · jour 2 · jour 3un enrôlement couvre chaque jourcovered
Abonnements transportporte à chaque stationni carte, ni app, ni papiercovered
Grandes conférencescheck-in à chaque hallidentifiant consommé à $0.00covered
05 · Capacité à l'échelle d'un festival
Match en moins d'une seconde à l'échelle d'un festival.
Testé avec des dizaines de milliers de visages enregistrés par index d'événement, correspondance en une seule image en environ une seconde, ~30 entrées par minute par porte. La disponibilité de la plateforme est de 99,99 %, la même API /v3/ que tous les autres modules Didit, donc le manuel d'opérations que vous avez déjà pour le KYC s'applique à l'entrée.
0,25 $ une fois. Gratuit par scan. 500 gratuits / mois.
Tarifs publics, sans minimum ni contrat. La vérification d'identité à 0,15 $ et la détection de vivacité passive à 0,10 $ couvrent l'inscription unique à 0,25 $ par acheteur. La recherche faciale 1:N à chaque scan de porte suivant est gratuite. C'est moins cher que le système de billets papier une fois que tu prends en compte la fraude et les pertes dues à la revente.
Un endpoint d'enregistrement. Un endpoint d'entrée.
Enregistrez l'acheteur avec un appel à l'API Sessions lors du paiement. Faites correspondre le cadre de la caméra à l'entrée avec un appel Face Search 1:N autonome. Le même contrat /v3/ que tous les autres modules Didit.
Déploie la billetterie événementielle biométrique en un seul prompt.
Colle ça dans Claude Code, Cursor, Codex, Devin, Aider ou Replit Agent. Renseigne ta stack. L'agent provisionne Didit, construit le workflow d'inscription, connecte le point d'accès pour le scan de porte, et déploie.
didit-integration-prompt.md
You are integrating Didit's biometric event-ticketing into <my_stack>. The face IS the ticket — no QR code, no barcode, no printout. Two phases:
1. Enrol the buyer ONCE at ticket purchase. A Sessions API call runs ID Verification + Passive Liveness and stores the buyer's portrait as the event-index template.
2. At every gate scan, call the standalone Face Search 1:N endpoint with the camera frame. Sub-1-second match against the event index. Verdict returned inline.
Pricing (public):
- Enrolment (one-time per buyer): $0.15 ID Verification + $0.10 Passive Liveness = $0.25
- Face Search 1:N at the gate: free per scan
- First 500 verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with Hash-based Message Authentication Code (HMAC) SHA-256 verification using the X-Signature-V2 header.
HMAC-SHA256 verification MUST run against the raw body bytes (the raw payload as Didit sent it) BEFORE any JSON parsing — re-serialising the parsed body changes whitespace and key order, which invalidates the signature. - A workflow_id from the Workflow Builder. The workflow MUST contain ID_VERIFICATION + LIVENESS (and optionally Anti-Money Laundering (AML) if you sell age-restricted access).
- One Didit account = one face index. Tag every enrolment with metadata.event_id so the gate-side search filters by the right event.
STEP 1 — Enrol at ticket purchase
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<your enrolment workflow>",
"vendor_data": "<your buyer id — must be unique per buyer>",
"callback": "https://<your-app>/ticketing/enrol/callback",
"metadata": {
"order_id": "<your order reference>",
"event_id": "<the event the buyer is entering>",
"ticket_tier": "<GA | VIP | accessible | etc>"
}
}
Response: 201 Created with the hosted session_url. Redirect the buyer. After the buyer completes ID Verification + Passive Liveness, the portrait is stored as their face template and bound to vendor_data.
STEP 2 — Read the signed verdict on enrolment completion
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your buyer id>",
"status": "Approved",
"id_verification": { "status": "Approved", "document_type": "Passport" },
"liveness": { "status": "Approved", "method": "PASSIVE", "score": 94 }
}
Verify X-Signature-V2 BEFORE trusting the body. On Approved, mark the order as enrolled and bind the order to vendor_data in your application database.
Session status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
STEP 3 — At every gate scan, match the face against the event index
POST https://verification.didit.me/v3/face-search/
Headers:
x-api-key: <your api key>
Body (multipart/form-data):
image <the camera frame captured at the gate>
vendor_data <optional — restrict the search to a specific buyer>
metadata <optional JSON — e.g. { "event_id": "<...>" } to filter>
Response (excerpted):
{
"status": "Approved",
"matches": [
{
"vendor_data": "<buyer id>",
"similarity_score": 0.96
}
]
}
Match outcomes the gate logic should handle:
- Match found, ticket valid, no prior scan → grant entry, mark scanned
- Match found, already inside → apply re-entry policy
- Match found, ticket expired or canceled → route to staff
- Match found, ticket resold to another buyer → block, route to staff
- No match (similarity below threshold) → block, fall back to backup ticket flow
STEP 4 — Reusable across every event the same buyer attends
Because the buyer's face template is bound to vendor_data, the SAME enrolment works for every future event the same buyer holds a ticket for. No re-enrolment, no re-payment. Reusable Credential semantics applied to the venue use case.
CONSTRAINTS
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: ID_VERIFICATION, LIVENESS, FACE_MATCH, AML, IP_ANALYSIS.
- Method enum is UPPERCASE: PASSIVE, FLASHING, ACTIVE_3D.
- Auth header is x-api-key (lowercase, hyphenated).
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Status casing matches exactly: Approved, Declined, In Review, Expired, Not Finished, Resubmitted, Kyc Expired, Abandoned.
- The face template is irreversible (a one-way hash). End users can request deletion via the standard data-subject-request path.
ACCESS CONTROL CONSIDERATIONS
- For minor-attended events, run AGE_ESTIMATION during enrolment to gate age-restricted areas. See /solutions/age-verification.
- For high-value VIP areas, gate behind a Biometric Authentication step-up. See /solutions/biometric-2fa.
- For accessibility lanes, surface the ticket-tier metadata on the verdict payload and route the gate UI accordingly.
DATA-PROTECTION NOTES
- The enrolment selfie produces an irreversible face template; raw images are deleted unless retention is explicitly enabled.
- The gate frame is processed in memory and not persisted by default.
- Display the privacy notice (didit.me/terms/verification-privacy-notice) to the buyer before the enrolment selfie. EU GDPR Article 13 requires it.
Read the docs:
- https://docs.didit.me/core-technology/face-search/overview
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.
Conforme par nature
Ouvre un nouveau pays en un clic. On s'occupe du plus dur.
Nous ouvrons les filiales locales, obtenons les licences, effectuons les tests d'intrusion, obtenons les certifications et nous alignons sur chaque nouvelle réglementation. Pour déployer des vérifications dans un nouveau pays, il suffit d'activer un interrupteur. Plus de 220 pays en direct, audités et testés chaque trimestre, le seul fournisseur d'identité qu'un gouvernement d'un État membre de l'UE a formellement jugé plus sûr que la vérification en personne.
Inscription unique par acheteur. Chaque scan de portique futur est gratuit.
~1s
Reconnaissance faciale en une seule image pour des événements de grande envergure.
0.00%
Disponibilité de la plateforme, la même API /v3/ que tous les autres modules Didit.
0
Vérifications gratuites chaque mois, pour toujours.
Trois niveaux, une seule grille tarifaire
Démarre gratuitement. Paye à l'usage. Passe à l'Enterprise.
500 vérifications gratuites chaque mois, pour toujours. Paiement à l'usage pour la production. Contrats personnalisés, résidence des données et SLAs (Service Level Agreements) pour l'Enterprise.
Gratuit
Gratuit
0 $ / mois. Aucune carte de crédit requise.
Pack KYC gratuit (vérification d'identité + détection de vivacité passive + correspondance faciale + analyse appareil & IP), 500 / mois, chaque mois
Commence gratuitement → ne paie que lorsqu'une vérification est effectuée → débloque l'Enterprise pour un contrat personnalisé, un SLA ou la résidence des données.