Overview
Face Search adalah pencarian biometrik 1:N: Didit mengambil wajah terbesar yang terdeteksi diuser_image Anda dan mencarinya di indeks Face Search aplikasi Anda — wajah yang didaftarkan dari sesi verifikasi, panggilan API mandiri yang disimpan, unggahan wajah langsung ke profil pengguna, serta daftar blokir/izinkan Anda. Ini berbeda dari Face Match, yang bersifat 1:1 — Face Match membandingkan swafoto dengan potret pada dokumen tertentu, sementara Face Search menanyakan “apakah kita pernah melihat orang ini di suatu tempat sebelumnya?”.
Dua perilaku penting untuk dipahami sebelum Anda menguraikan laporan:
- Hanya kecocokan daftar blokir yang ditolak.
face_search.statusbernilaiDeclinedhanya ketika peringatanFACE_IN_BLOCKLISTatauPOSSIBLE_FACE_IN_BLOCKLISTdipicu. Kecocokan duplikat saja mengembalikanApproved— periksamatchesdanwarnings, bukan hanyastatus. - Persistensi dan pendaftaran opsional. Saat
save_api_request=true(default), panggilan tersebut disimpan sebagai sesi bertipe API dan wajah yang dicari didaftarkan ke dalam indeks Face Search Anda. Wajah yang didaftarkan oleh panggilan Face Search dikecualikan dari hasil Face Search mendatang, sehingga pencarian berulang tidak akan pernah cocok satu sama lain. Teruskansave_api_request=falseuntuk kueri satu kali: tidak ada yang disimpan dan wajah tidak didaftarkan.
Tempat hasil ditampilkan
Face Search adalah API mandiri. Hasil pencarian dikembalikan secara sinkron, hanya dalam responsPOST /v3/face-search/, sebagai objek tunggal face_search di tingkat atas:
face_searches[] di mana pun — konvensi array jamak yang digunakan oleh id_verifications[], aml_screenings[], dan liveness_checks[] pada endpoint keputusan sesi tidak berlaku di sini.
Saat save_api_request=true (default), panggilan tersebut juga disimpan sebagai sesi bertipe API:
- Konsol Bisnis — sesi tersebut muncul di daftar sesi Anda beserta gambar pencarian, kecocokan, dan peringatan.
GET /v3/session/{sessionId}/decision/— dapat diambil menggunakanrequest_idyang dikembalikan sebagai ID sesi. Data yang disimpan muncul sebagai entriFACE_SEARCHdifeatures[]dan sebagai itemliveness_checks[]yang memuatmatchesyang tersimpan (dengan nilaimatch_image_urlyang baru ditandatangani) sertawarnings— bukan sebagai objekface_search.
save_api_request=false, request_id adalah UUID korelasi sementara: sesi tidak pernah disimpan, sehingga tidak dapat diambil dari Konsol atau endpoint keputusan.
Skema
Lihat Face Search di referensi Model Data untuk tabel kolom kanonis. Bentuk di bawah ini mencerminkan apa yang sebenarnya dikembalikan oleh endpoint saat runtime.matches[]dibatasi maksimal 5 entri di atas ambang kemiripan, diurutkan berdasarkan kemiripan secara menurun (search_type=blocklisted_or_approvedmemberi peringkat entri daftar blokir terlebih dahulu, kemudian daftar izin, lalu kesamaan).sourcememberi tahu Anda dari mana wajah yang cocok didaftarkan:session— sesi verifikasi atau panggilan API mandiri yang disimpan;imported— wajah yang diunggah langsung ke profil pengguna;list_entry— wajah yang dilampirkan ke salah satu daftar Anda;retained_template— templat biometrik tanpa gambar yang disimpan aplikasi setelah menghapus sesi sumber.session_id,session_number,status, danapi_servicebernilainulluntuk kecocokanimported,list_entry, danretained_template.- Kecocokan
retained_templatemembawavendor_user_id,vendor_data, danbiometric_template_id, serta selalunulluntukmatch_image_url,user_details, dan semua hal yang terkait dengan sesi: sesi yang menghasilkan wajah tersebut sudah tidak ada lagi dan templat tersebut tidak menyimpan data gambar atau identitas.is_blocklistedselalufalseuntuk templat yang disimpan; wajah yang masuk daftar blokir dilaporkan secara terpisah sebagai kecocokanlist_entry. Hapus templat denganDELETE /v3/biometric-templates/{biometric_template_id}/. api_serviceadalah tipe API mandiri dari sesi yang cocok (huruf besar, misalnyaPASSIVE_LIVENESS) dannulljika wajah yang cocok berasal dari sesi verifikasi alur kerja reguler.user_detailsberasal dari verifikasi dokumen sesi yang cocok. Untuk kecocokansource: imported, nilai ini diisi dari profil pengguna (full_namediisi,document_type/document_numbernull); nilai ininullsaat tidak ada data identitas (misalnya sesi khusus liveness).- Peringatan menggunakan bentuk yang lebih sederhana dibandingkan dengan peringatan alur kerja: tidak ada
node_id. Kontrak respons yang terdokumentasi (FaceSearchResponseSerializer) mendeklarasikan lima kolomrisk,additional_data,log_type,short_description,long_description; payload runtime juga membawafeature, yang di sini selalu bernilai"LIVENESS". Lihat Peringatan Face Search. - Kecocokan pengguna yang sama tidak dikecualikan — tidak seperti deteksi duplikat alur kerja, endpoint mandiri tidak memfilter sesi sebelumnya dengan
vendor_datayang sama, sehingga pengguna sah yang kembali akan cocok dengan sesi mereka sebelumnya.
Nilai status
face_search.status tingkat atas diturunkan dari warnings[]. status tingkat kecocokan mencerminkan hasil verifikasi sesi yang cocok dan bersifat independen.
Catatan: jika gambar pencarian tidak berisi wajah yang dapat dideteksi, API mengembalikan HTTP
400 dengan {"error": "No face detected in the image"} sebelum objek face_search dibuat — tidak ada status Declined untuk kasus tersebut. Kredit yang tidak mencukupi mengembalikan HTTP 403 sebelum pemrosesan gambar apa pun.
Contoh
Disetujui — kecocokan duplikat, tidak ada daftar blokir
Ditolak — kecocokan daftar blokir
Terkait
- Peringatan Pencarian Wajah — setiap kode peringatan yang dapat dimunculkan oleh pencarian
- Referensi API Pencarian Wajah — parameter permintaan dan mode
search_type - Model data — Pencarian Wajah — skema kanonis
- Webhook — payload
status.updateduntuk sesi yang disimpan
Ketika
save_api_request=true, nilai match_image_url adalah URL berumur pendek yang ditandatangani — panggil kembali endpoint keputusan sesi dengan request_id yang dikembalikan untuk mendapatkan URL baru. Ketika save_api_request=false, nilai tersebut merupakan jalur penyimpanan internal dan tidak dapat diunduh secara langsung. Simpan hanya id sesi yang cocok, status, dan similarity_percentage di sisi Anda — jangan menyimpan gambar biometrik yang mendasarinya.