Lewati ke konten utama

Revalidasi Senyap

Menggunakan mesin Revalidasi Senyap, yang menganalisis konteks perilaku pengguna dalam efek jaringan Unico dan memberikan sinyal keyakinan untuk transaksi saat ini. Dengan kata lain, kami memberikan tingkat keyakinan bahwa inilah pengguna yang diharapkan dalam transaksi tersebut.

Persyaratan

Versi minimum: 3.3.0

Atribut PrepareInfo
AttributeTypeRequiredDescription
externalUserIdString✅Pengidentifikasi pengguna di sistem Anda. Di-hash secara otomatis dengan SHA-256 sebelum transmisi, tidak pernah dikirim dalam bentuk teks biasa.
Memulai Revalidasi Senyap
Langkah 1 — Menerapkan initializeSDK

Panggil metode statis UnicoSDK.initializeSDK, dengan meneruskan AcessoBioConfigDataSource dan environment Anda.

Panggil saat aplikasi diluncurkan

UnicoSDK.initializeSDK harus dipanggil sesegera mungkin saat aplikasi diluncurkan (mis., application(_:didFinishLaunchingWithOptions:)). Memanggilnya lebih lambat mengurangi waktu pemrosesan latar belakang dan meningkatkan kemungkinan respons autentikasi yang tidak meyakinkan.

UnicoSDK.initializeSDK(
config: YourUnicoConfig(),
environment: .UAT
)

config adalah AcessoBioConfigDataSource yang sama yang sudah Anda terapkan untuk capture — sdkKey berasal dari getHostKey() dan bundle dari getBundleIdentifier():

final class YourUnicoConfig: NSObject, AcessoBioConfigDataSource {
func getBundleIdentifier() -> String { "your_bundle_id" }
func getHostKey() -> String { "your_sdk_key" }
}

Jika environment dihilangkan, nilai defaultnya adalah .PROD.

Langkah 2 — Menerapkan startSilentValidation

Setelah initializeSDK, kaitkan pengumpulan yang sudah berlangsung dengan pengguna yang teridentifikasi dengan memanggil startSilentValidation menggunakan PrepareInfo yang berisi externalUserId.

let prepareInfo = PrepareInfo(externalUserId: "external_user_id")

UnicoSDK.startSilentValidation(prepareInfo: prepareInfo) { result in
switch result {
case .success:
break
case .failure(let error):
print(error.code, error.desc, error.info)
}
}

Jika validasi terjadi di awal alur, misalnya saat login, tunggu callback keberhasilan sebelum melanjutkan ke Langkah 3.

Errors
CodeMeaning
75001SDK belum diinisialisasi. initializeSDK belum dipanggil, belum selesai, atau gagal.
75000Kegagalan capture generik.
Langkah 3 — Membuat proses dan melakukan autentikasi

Dengan validasi yang sedang berlangsung, buat proses verifikasi untuk menyelesaikan autentikasi. Lihat Referensi API ▸ API ▸ Buat Proses.

Sertakan externalUserId yang sama yang dikirim dalam PrepareInfo dari Langkah 2 di dalam body permintaan — inilah yang memungkinkan backend mengaitkan pembuatan proses dengan validasi yang sudah berlangsung.

curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"duiType": 1,
"code": "12345678909",
"name": "Luke Skywalker",
"gender": "M",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "Onboarding",
"externalUserId": "external_user_id"
}'

Respons ini mencakup field silentAuth.result yang berisi hasil autentikasi:

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
FieldTypeDescription
silentAuth.resultstringyes atau no — lihat nilai yang mungkin di bawah ini.
silentAuth.result — nilai yang mungkin
ValueMeaning
yesAutentikasi disetujui, pengguna dikenali dengan keyakinan yang memadai, tidak diperlukan pengambilan tambahan.
noData tidak cukup untuk menyetujui secara senyap. Disarankan untuk melakukan autentikasi melalui biometrik (selfie) atau metode alternatif lain.