API verifikasi wajah online

Bandingkan dua gambar wajah dari backend Anda dan terima sinyal terdokumentasi dist, sim, serta same_person. Aplikasi Anda menentukan cara menggunakan hasilnya. Untuk alur browser dengan pengambilan gambar langsung, lihat verifikasi wajah online.

Hubungkan ke FACEIO Console untuk membuat aplikasi, mengelola API, dan mengonfigurasi webhook untuk peristiwa enrollment, autentikasi, dan Facial ID.

Cara verifikasi masuk ke alur Anda

Pilih jalur integrasi yang sesuai dengan arsitektur dan model interaksi pengguna Anda.

FACEIO menyediakan dua jalur verifikasi wajah, tergantung lokasi pemeriksaan dalam sistem Anda. Alur browser menggunakan fio.js untuk interaksi kamera dan pengambilan gambar langsung. REST API ditujukan untuk layanan backend yang sudah memiliki dua gambar wajah untuk dibandingkan. Untuk pop-up browser yang menggabungkan pengambilan dokumen identitas dan swafoto langsung, lihat FACEIO ID Match. Untuk konteks konseptual, bandingkan dengan alur verifikasi wajah online.

SDK berbasis browser

Sesuai ketika verifikasi dilakukan pada titik interaksi saat pengguna hadir secara fisik.

  • fio.js menangani UI kamera dan pengambilan gambar langsung
  • Ideal untuk onboarding KYC dan pemulihan akun
  • Backend memverifikasi payload dan mengambil keputusan

REST API langsung

Sesuai untuk alur khusus backend saat gambar sudah tersedia di server Anda.

  • Panggilan langsung ke endpoint /faceverify
  • Berguna untuk perbandingan gambar backend dan pemeriksaan ID
  • Tidak memerlukan sesi browser aktif

Input API dan sinyal verifikasi

Endpoint faceverify menerima permintaan POST dengan API key dan dua gambar, baik data URI Base64 maupun URL yang dapat diakses publik. Setiap gambar harus berisi satu wajah. Jika input berisi beberapa wajah, ekstrak wajah target sebelum mengirim permintaan.

Input permintaan

Parameter Deskripsi
key REST API key aplikasi Anda. Kirim nilai ini hanya dari backend Anda; jangan tampilkan di kode sisi klien.
src Gambar sumber sebagai data URI Base64 atau URL yang dapat diakses publik. Biasanya berupa foto dokumen ID atau selfie yang telah diverifikasi sebelumnya.
target Gambar target untuk dibandingkan dengan sumber, sebagai data URI Base64 atau URL yang dapat diakses publik.

Output respons

Kolom Tipe Deskripsi
status Integer Kode status HTTP; 200 menunjukkan permintaan berhasil diproses.
same_person Boolean true jika kedua gambar cocok, false jika tidak cocok.
dist Float Metrik jarak antara 0 dan 1. Nilai yang lebih tinggi menunjukkan kecocokan yang lebih kuat.
sim Float Skor kemiripan kosinus antara dua vektor fitur wajah.

Tips implementasi: Untuk alur sensitif, gunakan nilai dist dan sim bersama-sama untuk mengkalibrasi ambang kecocokan dalam logika keputusan, bukan hanya mengandalkan nilai boolean biner same_person boolean. Selaraskan ambang dengan kebijakan terdokumentasi dan tinjau Praktik terbaik keamanan.

Pola implementasi

1. Onboarding web dengan pengambilan gambar browser (KYC)

Dalam alur bergaya KYC, pengguna melakukan pengambilan wajah langsung di browser saat pendaftaran. Backend Anda menyediakan hasil pengambilan tersebut dan gambar referensi dari pemindaian dokumen sebelumnya, lalu memanggil faceverify untuk membandingkan keduanya. Respons adalah salah satu masukan teknis bagi kebijakan onboarding, percobaan ulang, atau peninjauan manual yang dikendalikan pelanggan; respons tidak mengautentikasi dokumen atau menyelesaikan pemeriksaan KYC maupun AML.

backend_verify.py
# Python - backend verification call
import requests, base64

def encode_image(path):
    with open(path, 'rb') as f:
        return 'data:image/jpeg;base64,' + base64.b64encode(f.read()).decode()

payload = {
    'key': 'YOUR_API_KEY',
    'src': encode_image('id_document.jpg'),   # reference
    'target': encode_image('live_selfie.jpg') # live capture
}

result = requests.post('https://api.faceio.net/faceverify', json=payload).json()

# Example Response
# {
#     "status": 200,
#     "same_person": true,
#     "dist": 0.97,
#     "sim": 0.94
# }

2. Pengambilan keputusan backend dengan ambang kepercayaan

Backend Anda dapat membaca kolom respons yang terdokumentasi dan merutekan permintaan sesuai ambang serta aturan peninjauan yang ditentukan untuk kasus penggunaan Anda. Uji aturan tersebut dengan data dan persyaratan Anda sendiri, bukan menganggap ambang contoh berlaku secara universal. Pola ini dapat berkontribusi pada kontrol fintech dan eKYC.

Kepercayaan tinggi

Terapkan kebijakan kelanjutan yang ditentukan dan diuji oleh organisasi Anda.

Kepercayaan borderline

Arahkan hasil dengan kepercayaan rendah ke antrean peninjauan manual, bukan menolaknya otomatis.

Kepercayaan rendah

Minta percobaan ulang, faktor lain, atau peninjauan sesuai kebijakan Anda.

3. Pemulihan akun tanpa kredensial

Pengguna meminta akses ke akun dan mengirim selfie baru melalui halaman pemulihan. Backend Anda membandingkannya dengan gambar referensi yang disimpan untuk akun tersebut.

Perlakukan hasil pencocokan wajah sebagai salah satu sinyal pemulihan. Backend Anda juga harus menerapkan kontrol akun, perangkat, sesi, percobaan ulang, dan dukungan yang diperlukan sebelum memulihkan akses.

Praktik terbaik keamanan dan privasi

API verifikasi wajah memproses gambar wajah sensitif secara sementara untuk setiap perbandingan. Aplikasi Anda tetap bertanggung jawab atas pemberitahuan, persetujuan, validasi input, kebijakan retensinya sendiri, dan keputusan akhir akun. Gunakan praktik berikut pada setiap integrasi:

  • Jaga API key Anda tetap privat.

    Endpoint faceverify hanya boleh dipanggil dari backend Anda. API key mengautentikasi permintaan dan tidak boleh muncul dalam kode browser, bundle aplikasi seluler, repositori publik, analitik, atau log.

  • Selalu rutekan melalui backend Anda.

    Permintaan verifikasi yang dibuat langsung dari browser melewati lapisan validasi sisi server dan tidak dapat dipercaya.

  • Minimalkan retensi gambar.

    FACEIO memproses kedua gambar di memori dan membuangnya setelah hasil dibuat. Aplikasi Anda hanya boleh menyimpan gambar wajah jika alur, kebijakan, dan dasar hukum mengharuskannya.

  • Catat hasil verifikasi untuk jejak audit Anda.

    Jika memerlukan jejak audit, backend Anda harus mencatat hasil, timestamp, konteks permintaan, dan pengenal internal yang relevan saat respons diterima. Hindari mencatat gambar mentah atau API key.

  • Berikan pemberitahuan dan dapatkan persetujuan jika diwajibkan.

    Alur onboarding atau pemulihan Anda harus menjelaskan alasan verifikasi wajah digunakan, data yang diproses, dan cara pengguna meminta penghapusan atau akses fallback. Tinjau Praktik terbaik privasi dan Pusat Kepercayaan.

Kesimpulan

FACEIO Face Verification API menyediakan cara yang jelas dan dapat dipanggil backend untuk membandingkan dua gambar wajah. Anda memberikan gambar dan ambang keputusan; API mengembalikan sinyal verifikasi, sedangkan logika aplikasi Anda mengendalikan keputusan akhir. Untuk alur pengambilan gambar browser langsung dengan pemeriksaan liveness, gunakan verifikasi wajah online. Untuk pemindaian dokumen dan pencocokan selfie dalam satu widget, gunakan ID Match. Langkah berikutnya: tinjau Panduan Developer, endpoint FACEVERIFY, dan Praktik terbaik keamanan.

Hubungkan API Verifikasi Wajah

Buat aplikasi FACEIO, simpan REST API key di backend Anda, dan gunakan referensi endpoint resmi untuk membandingkan gambar sumber dan target dari alur identitas Anda.

API key khusus backend
Pemrosesan sementara
Integrasi berbasis kebijakan