Aller au contenu principal

Revalidation silencieuse

Attributs de PrepareInfo
AttributTypeRequisDescription
externalUserIdStringIdentifiant de l'utilisateur dans votre système. Haché automatiquement avec SHA-256 avant la transmission, jamais envoyé en texte clair.
Démarrer une Revalidation silencieuse
Étape 1 — Implémenter initializeSDK

Créez une nouvelle classe/un nouvel objet UnicoSDK, avec une méthode statique initializeSDK qui retourne l'instance UnicoSDK, recevant le context et un UnicoSDKConfig avec votre sdkKey, bundleId et environment. Conservez l'instance retournée — elle sera nécessaire plus tard pour appeler startSilentValidation depuis Java.

Appelez-le au lancement de l'application

UnicoSDK.initializeSDK doit être appelé le plus tôt possible au lancement de l'application (par exemple, Application.onCreate). L'appeler plus tard réduit le temps de traitement en arrière-plan et augmente le risque de réponses d'authentification non concluantes.

UnicoSDK.initializeSDK(
context,
UnicoSDKConfig(
sdkKey = "your_sdk_key",
bundleId = "your_bundle_id",
environment = Environment.UAT
)
)
Étape 2 — Implémenter startSilentValidation

Après initializeSDK, associez la collecte déjà en cours à l'utilisateur identifié en appelant startSilentValidation avec un PrepareInfo contenant l'externalUserId.

val prepareInfo = PrepareInfo(
externalUserId = "external_user_id"
)

UnicoSDK.startSilentValidation(prepareInfo)
.onSuccess { result -> /* ... */ }
.onFailure { error -> /* ... */ }

Si la validation a lieu au début du flux, par exemple lors de la connexion, attendez le callback onSuccess avant de passer à l'étape 3.

Étape 3 — Créer le processus et authentifier

Avec la validation en cours, créez le processus de vérification pour terminer l'authentification. Voir Référence API ▸ API ▸ Créer un processus.

Incluez le même externalUserId envoyé dans le PrepareInfo de l'étape 2 dans le corps de la requête — c'est ce qui permet au backend de corréler la création du processus avec la validation déjà en cours.

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",
"imageBase64": "/9j/4AAQSkZJR..."
}'

La réponse inclut le champ silentAuth.result avec le résultat de l'authentification :

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
ChampTypeDescription
silentAuth.resultstringyes ou no — voir les valeurs possibles ci-dessous.
silentAuth.result — valeurs possibles
ValeurSignification
yesAuthentification approuvée, utilisateur reconnu avec une confiance suffisante, aucune capture supplémentaire nécessaire.
noDonnées insuffisantes pour approuver silencieusement. Il est recommandé de procéder à une authentification par biométrie (selfie) ou une autre méthode alternative.