Lewati ke konten utama

Revalidasi Senyap

MarkdownChatGPTClaude

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: 4.62.0

Atribut UnicoCheckPrepareInfo
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 di kode native

initializeSDK tidak diekspos di Dart. Metode ini harus berjalan sebelum Flutter engine dimulai, jadi Anda memanggilnya di kode native aplikasi Anda — Application.onCreate di Android dan application(_:didFinishLaunchingWithOptions:) di iOS.

Panggil saat aplikasi diluncurkan

UnicoSDK.initializeSDK harus dipanggil sesegera mungkin saat aplikasi diluncurkan. Memanggilnya lebih lambat mengurangi waktu pemrosesan latar belakang dan meningkatkan kemungkinan respons autentikasi yang tidak meyakinkan.

import android.app.Application
import com.acesso.acessobio_android.onboarding.UnicoSDK
import com.acesso.acessobio_android.onboarding.models.Environment
import com.acesso.acessobio_android.onboarding.models.UnicoSDKConfig

class MainApplication : Application() {
override fun onCreate() {
super.onCreate()

UnicoSDK.initializeSDK(
this,
UnicoSDKConfig(
sdkKey = "your_sdk_key",
bundleId = "your_bundle_id",
environment = Environment.UAT
)
)
}
}

Daftarkan class tersebut di android/app/src/main/AndroidManifest.xml:

<application android:name=".MainApplication">

Plugin ini mengekspos SDK capture native ke aplikasi Anda, sehingga UnicoSDK sudah ada di compile classpath Anda — tidak diperlukan dependensi tambahan di android/app/build.gradle.

Jika environment dihilangkan, nilai defaultnya adalah produksi.

Langkah 2 — Menerapkan startSilentValidation

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

import 'package:unico_check/unico_check.dart';

try {
await UnicoSilentAuthDefault().startSilentValidation(
UnicoCheckPrepareInfo(externalUserId: 'external_user_id'),
);
} on UnicoError catch (error) {
// error.code, error.description, error.info
}

Future yang dikembalikan selesai ketika validasi berhasil dimulai, dan melempar UnicoError jika gagal.

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

Errors
CodeMeaning
75001SDK belum diinisialisasi. initializeSDK belum dipanggil, belum selesai, atau gagal.
75000Kegagalan capture generik.

UnicoError.info membawa langkah alur yang gagal. Nilai ini tersedia di iOS dan selalu null di Android.

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 UnicoCheckPrepareInfo 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.