Wajah adalah tiketnya. Tanpa QR. Tanpa kode batang. Tanpa cetakan.
Daftarkan pembeli sekali saat pembelian. Setiap pemindaian gerbang adalah pencocokan wajah 1:N di bawah 1 detik. Gratis per pemindaian setelah pendaftaran. 500 verifikasi gratis setiap bulan.
Dipercaya oleh 2.000+ organisasi di seluruh dunia.
Stadion · Festival · Transit · Konferensi
Lewati kode QR. Lewat saja.
Tidak perlu mengeluarkan ponsel, tidak perlu khawatir baterai habis, tidak ada penipuan penjualan kembali. Pembeli mendaftar sekali saat
pembelian seharga $0,25, dan setiap pemindaian gerbang di masa mendatang adalah pencocokan Pencarian Wajah 1:N gratis
— di bawah 1 detik pada 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
Buat alur kerja
Pilih pemeriksaan yang Anda inginkan — ID, liveness, pencocokan wajah, sanksi, alamat, usia, telepon, email, pertanyaan khusus. Seret ke dalam alur di dasbor, atau kirim alur yang sama ke API kami. Buat cabang berdasarkan kondisi, jalankan tes A/B, tidak perlu kode.
Langkah 02
Integrasikan
Sematkan secara native dengan SDK Web, iOS, Android, React Native, atau Flutter kami. Arahkan ke halaman yang di-hosting. Atau cukup kirim tautan kepada pengguna Anda — melalui email, SMS, WhatsApp, di mana saja. Pilih yang sesuai dengan tumpukan Anda.
Langkah 03
Pengguna melalui alur
Didit meng-host kamera, isyarat pencahayaan, serah terima seluler, dan aksesibilitas. Saat pengguna 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.
Langkah 04
Anda menerima hasilnya
Webhook bertanda tangan 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.
Dibangun untuk tempat · Gratis di setiap pemindaian setelah pendaftaran
Enam kemampuan. $0.25 sekali, gratis per pemindaian.
Satu pendaftaran membayar untuk setiap gerbang berikutnya. Pencarian Wajah 1:N dibundel gratis di setiap akun Didit; tempat hanya membayar untuk pemeriksaan identitas satu kali saat pembelian.
Satu selfie saat checkout. Dapat digunakan kembali selamanya.
Masukkan sesi API Sesi ke dalam alur pembelian Anda. Verifikasi ID mengonfirmasi pembeli, Liveness Pasif menolak setiap kategori Deteksi Serangan Presentasi (PAD), dan potret yang dihasilkan disimpan sebagai templat indeks acara pembeli — terikat pada vendor_data Anda, dapat digunakan kembali di setiap acara mendatang yang dihadiri pembeli yang sama.
Dapat digunakan kembali di setiap acara mendatang yang dihadiri pembeli yang sama.
02 · Wajah ADALAH tiketnya
Tanpa telepon. Tanpa cetakan. Tanpa kode batang.
Di gerbang, kamera menangkap satu bingkai dan pengunjung lewat. Tidak perlu mengeluarkan ponsel (tidak perlu khawatir baterai habis), tidak ada cetakan (tidak ada kertas, tidak ada penipuan penjualan kembali), tidak ada kode Quick Response (QR) sama sekali. Wajah pembeli ADALAH token akses, dan Pencarian Wajah 1:N gratis di setiap paket.
Tanpa kode QRTidak perlu mengeluarkan ponsel, tidak perlu khawatir baterai habis
Tanpa cetakanTanpa kertas, tanpa penipuan penjualan kembali
Lihat ke kameraGerbang menangkap satu bingkai
Putusan dalam ~1 detikCocokkan dengan indeks acara
Pencocokan di bawah 1 detik di gerbang.Gratis per pemindaian
03 · Matriks keputusan gerbang
Masuk. Masuk kembali. Blokir. Dapat dikonfigurasi.
Payload pencocokan memberi Anda referensi pembeli yang cocok dan similarity_score. Logika gerbang Anda bercabang: tiket valid + pemindaian 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.
Wajah cocok · sudah di dalamKebijakan masuk kembali
Wajah cocok · tiket kedaluwarsaArahkan ke staf
Wajah cocok · dijual kembali ke pembeli lainBlokir
Tidak cocok · wajah tidak dikenalBlokir
Dapat dikonfigurasi per acara, per gerbang, per tingkat tiket.
04 · Stadion, festival, transit
Pendaftaran yang sama. Setiap kategori tempat.
Satu templat wajah mencakup stadion sepak bola, festival multi-hari, tiket musiman transit, dan konferensi besar. Pembeli mendaftar sekali dengan Anda, dan setiap tempat yang didukung Didit yang mereka hadiri setelah itu menggunakan kredensial tanpa biaya — Semantik Kredensial yang Dapat Digunakan Kembali diterapkan pada kontrol akses.
FestivalMulti-hari, multi-gerbang, dapat digunakan kembali
Koridor transitTiket musiman, komuter harian
KonferensiSesi, lounge, aula pameran
Satu pendaftaran. Setiap acara.220+ negara
05 · Kapasitas skala festival
Pencocokan di bawah 1 detik pada skala festival.
Diuji pada puluhan ribu wajah terdaftar per indeks acara, pencocokan satu bingkai dalam waktu sekitar satu detik, ~30 entri per menit per gerbang. Waktu aktif platform berada di 99,99% — API /v3/ yang sama dengan setiap modul Didit lainnya, sehingga playbook operasi yang sudah Anda miliki untuk KYC berlaku untuk gerbang.
API /v3/ yang sama dengan setiap modul Didit lainnya.
06 · Gratis di gerbang
$0.25 sekali. Gratis per pemindaian. 500 gratis / bulan.
Harga publik, tanpa minimum, tanpa kontrak. Verifikasi ID seharga $0,15 ditambah Liveness Pasif 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 jalur tiket kertas cetak setelah Anda memperhitungkan penipuan dan kerugian penjualan kembali.
Satu titik akhir pendaftaran. Satu titik akhir gerbang.
Daftarkan pembeli dengan panggilan API Sesi saat checkout. Cocokkan bingkai kamera di gerbang dengan panggilan Pencarian Wajah 1:N yang berdiri sendiri. Kontrak /v3/ yang sama dengan setiap modul Didit lainnya.
Gratis per pemindaian. Pencocokan mengembalikan vendor_data + similarity_score.dokumen →
Integrasi siap agen
Kirim tiket acara biometrik dalam satu perintah.
Tempelkan ke Claude Code, Cursor, Codex, Devin, Aider, atau Replit Agent. Isi tumpukan Anda. Agen menyediakan Didit, membangun alur kerja pendaftaran, menghubungkan titik akhir pemindaian gerbang, dan mengirimkan.
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.
Butuh lebih banyak konteks? Lihat dokumen modul lengkapnya.docs.didit.me →
Sesuai dengan desain
Buka negara baru dalam satu klik. Kami melakukan pekerjaan sulit.
Kami membuka anak perusahaan lokal, mengamankan lisensi, menjalankan tes penetrasi, mendapatkan sertifikasi, dan menyelaraskan dengan setiap peraturan baru. Untuk mengirim verifikasi di negara baru, cukup aktifkan tombol. 220+ negara aktif, diaudit dan diuji penetrasi setiap kuartal — satu-satunya penyedia identitas yang secara resmi disebut oleh pemerintah negara anggota UE lebih aman daripada verifikasi langsung.
Pendaftaran satu kali per pembeli. Setiap pemindaian gerbang di masa mendatang gratis.
~1s
Pencocokan wajah satu bingkai pada indeks acara berskala festival.
0.00%
Waktu aktif platform — API /v3/ yang sama dengan setiap modul Didit lainnya.
0
Verifikasi gratis setiap bulan, selamanya.
Tiga tingkatan, satu daftar harga
Mulai gratis. Bayar sesuai penggunaan. Skala ke Enterprise.
500 verifikasi gratis setiap bulan, selamanya. Bayar sesuai penggunaan untuk produksi. Kontrak khusus, residensi data, dan SLA (Service Level Agreements) di Enterprise.
Gratis
Gratis
$0 / bulan. Tidak perlu kartu kredit.
Paket KYC gratis (Verifikasi ID + Keaktifan Pasif + Pencocokan Wajah + Analisis Perangkat & IP) — 500 / bulan, setiap bulan
Pengguna yang Diblokir
Deteksi Duplikat
200+ sinyal penipuan di setiap sesi
KYC yang dapat digunakan kembali di seluruh jaringan Didit
Platform Manajemen Kasus
Pembuat Alur Kerja
Dokumen publik, sandbox, SDK, server MCP (Model Context Protocol)