Langsung ke konten utama
Tanamkan alur verifikasi Didit langsung ke aplikasi Anda menggunakan iframe. Cara ini memberikan pengalaman yang mulus tanpa mengarahkan pengguna keluar dari situs Anda.

Ringkasan


Cara tercepat untuk memulai: cukup salin dan tempel URL UniLink Anda.

Yang Anda Perlukan

  1. Alur kerja Didit (dibuat di Didit Console)
  2. URL UniLink Anda (klik Copy Link pada alur kerja Anda)

Implementasi

⚠️ Wajib: Atribut allow wajib ada agar kamera dapat diakses selama deteksi liveness.

Manfaat Utama

  • Pengaturan kurang dari 1 menit: Tanpa backend, tanpa kunci API
  • Tanpa konfigurasi tambahan: URL callback diatur di pengaturan alur kerja
  • Ideal untuk MVP: Langsung bisa digunakan

Iframe Sesi API (Dengan Backend)

Untuk integrasi lanjutan yang memerlukan kustomisasi per sesi.

Kapan Menggunakannya

  • Mengirim vendor_data atau metadata kustom per sesi
  • Mengatur URL callback yang berbeda per sesi
  • Melacak sesi di sisi server sebelum verifikasi dimulai
  • Mengaitkan sesi dengan ID pengguna Anda

Implementasi

Langkah 1: Buat sesi (backend) Respons pembuatan sesi menggunakan kolom bernama url. Gunakan nilai tersebut sebagai src iframe.
Langkah 2: Tanamkan dalam iframe (frontend)

Mendengarkan Event (postMessage)

Halaman verifikasi mengirim event ke jendela induk. Setiap pesan memiliki struktur berikut:
Payload-nya bersarang. Baca event.data.data.sessionId, bukan event.data.sessionId:
Event utama: didit:ready ({ sessionId }), didit:started, didit:step_started / didit:step_completed / didit:step_changed ({ step, ... }), didit:status_updated ({ status }), didit:completed ({ sessionId, status }), didit:cancelled, didit:error ({ error, step? }), didit:close_request, dan didit:layout ({ contentHeight, colorScheme, dir }, lihat di bawah). Referensi event JavaScript SDK mencantumkan event verifikasi yang tersedia sebagai callback bertipe. Mulai versi 0.5.0, SDK menangani pesan tata letak secara internal dan tidak meneruskannya ke onEvent.

Atur ukuran iframe dari didit:layout

Halaman verifikasi memberi tahu seberapa besar ruang yang dibutuhkannya melalui pesan didit:layout. Pesan ini dikirim saat halaman dimuat dan setiap kali tinggi konten, tema, atau arah teks berubah:
Untuk menerima didit:layout di iframe Anda sendiri, tambahkan sdk_presentation=embedded ke URL verifikasinya. Mulai versi 0.5.0, JavaScript SDK mengatur presentasi ini secara otomatis. Tanpa parameter presentasi, halaman menggunakan tata letak mandiri dan tidak mengirim pesan tata letak.
Host ini mengikuti ukuran yang direkomendasikan: kartu tetap dengan lebar mulai 1024px, layar penuh pada lebar 540px ke bawah, dan di antaranya iframe selebar 500px yang mengikuti tinggi yang dilaporkan halaman:
Di antara 541px dan 1023px, contoh ini menggunakan tinggi awal 700px sampai pesan tata letak diterima, dengan batas maksimal 90% dari tinggi jendela yang terlihat. Ukuran untuk komputer dan ponsel langsung berlaku. Di ponsel, iframe menutupi seluruh jendela, jadi sediakan cara bagi pengguna untuk keluar dari verifikasi di aplikasi host Anda. Gunakan colorScheme dan dir untuk menyesuaikan kontrol apa pun di sekitar iframe dengan tema dan arah teks halaman. Jika koneksi pengguna terputus, halaman menampilkan layar “Tidak ada koneksi internet” yang akan tertutup sendiri begitu koneksi kembali. Jika pengguna memilih Exit Verification di layar tersebut, halaman mengirim didit:error dengan error: "network_error", lalu didit:cancelled. Tutup iframe saat menerima didit:cancelled.

Implementasi Modal

Untuk pengalaman modal yang rapi di atas halaman Anda:

HTML/CSS/JS


Komponen React

Komponen React yang dapat digunakan ulang untuk verifikasi berbasis modal:

Penggunaan


Komponen Vue


Konfigurasi

Izin yang Diperlukan

Gunakan daftar izin lengkap ini untuk pengambilan gambar, lokasi, penyalinan, dan kompatibilitas media:
Atribut allow memberikan izin ke iframe; atribut ini tidak menggantikan pilihan pengguna atau header Permissions-Policy yang lebih ketat pada halaman host Anda.

Ukuran iframe

Alur verifikasi menyesuaikan tata letaknya dengan ukuran iframe-nya. Sesuaikan ukuran iframe dengan jendela tempat iframe ditampilkan: Untuk rentang tengah, mulailah dari 500px kali 700px sampai pesan didit:layout pertama tiba, dengan batas tinggi yang sama. Contoh didit:layout menerapkan ketiga ukuran, termasuk ukuran untuk komputer dan ponsel, sebelum pesan apa pun tiba.

Content Security Policy (CSP)

Jika Anda menggunakan CSP, tambahkan Didit ke direktif frame-src Anda:

Verifikasi Lintas Perangkat

InContext iframe secara otomatis mendukung verifikasi lintas perangkat:
  1. Pengguna memulai verifikasi di desktop
  2. Jika kamera tidak tersedia, kode QR ditampilkan
  3. Pengguna memindai kode QR di ponsel
  4. Pengguna menyelesaikan verifikasi di ponsel
  5. Iframe di desktop otomatis diperbarui dengan hasilnya
Ini terjadi secara otomatis, tanpa konfigurasi tambahan.

Pemecahan Masalah

Kamera Tidak Berfungsi

  1. Pastikan iframe menyertakan daftar izin lengkap
  2. Pastikan situs Anda diakses melalui HTTPS
  3. Pastikan pengguna sudah memberikan izin kamera untuk domain Anda
  4. Coba metode Pengalihan jika akses kamera di iframe gagal

Iframe Tidak Dapat Dimuat

  1. Periksa masalah Content Security Policy (CSP)
  2. Tambahkan https://verify.didit.me ke direktif frame-src Anda
  3. Periksa konsol browser untuk melihat kesalahan

postMessage Tidak Diterima

  1. Pastikan Anda mendengarkan origin yang benar (https://verify.didit.me, atau domain White Label Anda)
  2. Pastikan event listener sudah ditambahkan sebelum iframe dibuka
  3. Periksa nama dan bentuk event: tipenya diberi awalan (didit:completed, bukan verification_complete) dan payload-nya berada di dalam event.data.data

Repositori Contoh

Repositori GitHub

Lihat kode sumber dan contoh di GitHub

Terakhir diubah pada 7 November 2026