Wajah adalah tiketnya. Tanpa QR. Tanpa barcode. Tanpa cetakan.
Daftarkan pembeli sekali saat pembelian. Setiap scan di gerbang adalah pencocokan wajah 1:N di bawah 1 detik. Gratis per scan setelah pendaftaran. 500 verifikasi gratis setiap bulan.
Dipercaya oleh 2.000+ organisasi di seluruh dunia.
Terdaftar saat beli · $0.25 sekaliScan gerbang · gratis
Antrean gerbang
Masuk · scan gratis
Indeks acara· 5
98.4
+
POST /v3/face-search/
Cocok0.71 s
ScanSkorAksiWebhook
Pemegang tiket98.4Passsigned
signed
signed
Stadion · Festival · Transit · Konferensi
Lewati kode QR. Langsung masuk.
Tidak perlu mengeluarkan ponsel, tidak perlu khawatir baterai habis, tidak ada penipuan penjualan kembali. Pembeli mendaftar sekali saat
pembelian seharga $0.25, dan setiap scan gerbang berikutnya adalah pencocokan Face Search 1:N gratis
, di bawah 1 detik untuk skala festival. Alur yang sama berfungsi di stadion, festival,
koridor transit, dan konferensi.
Cara kerjanya
Dari pendaftaran hingga pengguna terverifikasi dalam empat langkah.
Langkah 01 / 04
01
Buat workflow
Pilih pemeriksaan yang Anda inginkan, ID, liveness, pencocokan wajah, sanksi, alamat, usia, telepon, email, pertanyaan kustom. Seret ke dalam alur di dashboard, atau posting alur yang sama ke API kami. Buat cabang berdasarkan kondisi, jalankan A/B test, tanpa perlu coding.
Integrasi
Sematkan secara native dengan SDK Web, iOS, Android, React Native, atau Flutter kami. Redirect ke halaman yang di-host. Atau cukup kirim link ke pengguna Anda, melalui email, SMS, WhatsApp, di mana saja. Pilih yang sesuai dengan stack Anda.
Pengguna melewati alur
Didit meng-host kamera, isyarat pencahayaan, hand-off seluler, dan aksesibilitas. Saat pengguna berada dalam alur, kami menilai 200+ sinyal penipuan secara real-time dan memverifikasi setiap bidang terhadap sumber data otoritatif. Hasil dalam waktu kurang dari dua detik.
Anda menerima hasilnya
Webhook yang ditandatangani secara real-time menjaga database Anda tetap sinkron saat pengguna disetujui, ditolak, atau dikirim untuk ditinjau. Lakukan polling API sesuai permintaan. Atau buka konsol untuk memeriksa setiap sesi, setiap sinyal, dan mengelola kasus sesuai keinginan Anda.
Dibuat untuk venue · Gratis di setiap scan setelah pendaftaran
Enam kapabilitas. $0.25 sekali, gratis per scan.
Satu pendaftaran berlaku untuk setiap gerbang berikutnya. Face Search 1:N sudah termasuk gratis di setiap akun Didit; venue hanya membayar untuk pemeriksaan identitas satu kali saat pembelian.
Satu selfie saat checkout. Bisa dipakai selamanya.
Masukkan sesi Sessions API ke dalam alur pembelian Anda. Verifikasi ID mengonfirmasi pembeli, Passive Liveness menolak setiap kategori Presentation Attack Detection (PAD), dan potret yang dihasilkan disimpan sebagai template indeks acara pembeli, terikat pada vendor_data Anda, dapat digunakan kembali di setiap acara mendatang yang dihadiri pembeli yang sama.
tmpl_7f3a…vendor_dataTemplate terikat vendor_data · bisa dipakai di setiap acara berikutnya
02 · Wajah ADALAH tiketnya
Tanpa ponsel. Tanpa cetakan. Tanpa barcode.
Di gerbang, kamera menangkap satu frame dan pengunjung lewat. Tidak perlu mengeluarkan ponsel (tidak perlu khawatir baterai habis), tidak perlu cetakan (tidak ada kertas, tidak ada penipuan penjualan kembali), tidak ada kode Quick Response (QR) sama sekali. Wajah pembeli ADALAH token akses, dan Face Search 1:N gratis di setiap paket.
Payload pencocokan memberi Anda referensi pembeli yang cocok dan similarity_score. Logika gerbang Anda bercabang: tiket valid + scan pertama = masuk; sudah di dalam = kebijakan masuk kembali; tiket kedaluwarsa atau dibatalkan = arahkan ke staf; dijual kembali atau tidak cocok = blokir. Per acara, per gerbang, per tingkat tiket.
Pendaftaran yang sama. Untuk setiap kategori venue.
Satu template wajah mencakup stadion sepak bola, festival multi-hari, tiket musiman transit, dan konferensi besar. Pembeli mendaftar sekali dengan Anda, dan setiap venue yang didukung Didit yang mereka hadiri setelah itu menggunakan kredensial tanpa biaya, semantik Kredensial yang Dapat Digunakan Kembali diterapkan pada kontrol akses.
Stadion sepak bolatiket musiman · tiap pertandinganpendaftaran sama, tanpa capture ulangcovered
Festival multi-harihari 1 · hari 2 · hari 3satu pendaftaran mencakup semua haricovered
Pas musiman transitgerbang di tiap stasiuntanpa kartu, app, atau cetakancovered
Konferensi besarcheck-in di tiap aulakredensial dipakai seharga $0.00covered
05 · Kapasitas skala festival
Pencocokan kurang dari 1 detik dalam skala festival.
Diuji pada puluhan ribu wajah yang terdaftar per indeks acara, pencocokan satu frame dalam waktu sekitar satu detik, ~30 entri per menit per gerbang. Uptime platform berada di 99.99%, API /v3/ yang sama dengan modul Didit lainnya, jadi playbook operasi yang sudah Anda miliki untuk KYC berlaku untuk gerbang.
$0.25 sekali. Gratis per scan. 500 gratis / bulan.
Harga publik, tanpa minimum, tanpa kontrak. Verifikasi ID seharga $0.15 ditambah Passive Liveness seharga $0.10 mencakup pendaftaran satu kali seharga $0.25 per pembeli. Pencarian Wajah 1:N di setiap pemindaian gerbang berikutnya gratis. Lebih murah daripada pipeline tiket kertas cetak jika Anda memperhitungkan kerugian akibat penipuan dan penjualan kembali.
Daftarkan pembeli dengan panggilan Sessions API saat checkout. Cocokkan frame kamera di gerbang dengan panggilan Face Search 1:N yang berdiri sendiri. Kontrak /v3/ yang sama dengan modul Didit lainnya.
Tempel ke Claude Code, Cursor, Codex, Devin, Aider, atau Replit Agent. Isi stack Anda. Agen akan menyediakan Didit, membangun alur kerja pendaftaran, menyambungkan endpoint pemindaian gerbang, dan mengirimkannya.
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 OCR (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 verification link in 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",
"decision": {
"id_verifications": [
{ "node_id": "id_verification_1", "status": "Approved", "document_type": "Passport" }
],
"liveness_checks": [
{ "node_id": "liveness_1", "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: OCR, 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.
Dirancang untuk kepatuhan
Buka negara baru dengan satu klik. Kami yang mengerjakan bagian sulitnya.
Kami membuka anak perusahaan lokal, mengamankan lisensi, menjalankan pengujian penetrasi, mendapatkan sertifikasi, dan menyelaraskan dengan setiap regulasi baru. Untuk meluncurkan verifikasi di negara baru, cukup aktifkan tombol. 220+ negara sudah aktif, diaudit dan diuji penetrasi setiap kuartal, satu-satunya penyedia identitas yang secara formal disebut oleh pemerintah negara anggota Uni Eropa lebih aman daripada verifikasi langsung.
Pendaftaran sekali untuk setiap pembeli. Setiap pemindaian gerbang berikutnya gratis.
~1s
Pencocokan wajah satu frame pada indeks acara skala festival.
99.99%
Uptime platform, API /v3/ yang sama dengan modul Didit lainnya.
500
Verifikasi gratis setiap bulan, selamanya.
Tiga tingkatan, satu daftar harga
Mulai gratis. Bayar sesuai pemakaian. Skalakan ke Enterprise.
500 verifikasi gratis setiap bulan, selamanya. Setelah itu, bayar hanya saat modul berjalan. Kontrak khusus, data residency, dan service level agreement (SLA) tersedia untuk Enterprise.
Gratis
$0/ bulan · tanpa kartu
Untuk membangun, menguji, dan pengguna pertamamu.
Semua yang kamu butuhkan untuk memulai:
500 verifikasi KYC lengkap setiap bulan
ID, liveness, face match, device & IP
200+ sinyal fraud, blocklist, duplikat
KYC yang bisa digunakan kembali di seluruh jaringan Didit
Workflow builder, case management, SDK
Dukungan AIAgen AI dalam konsol, dokumentasi, dan komunitas.