Aller au contenu principal

Simuler des résultats (Test Mock)

MarkdownChatGPTClaude

En sandbox, vous pouvez simuler un résultat de processus sans dépendre d'une capture biométrique réelle. Ajoutez le champ expected_result au corps de la requête Créer un processus — le reste de l'intégration (affichage du SDK, capture biométrique, Récupérer un processus) reste exactement le même que pour un flux réel.

Le mock ne saute pas l'étape de capture biométrique. L'utilisateur (ou votre script de test) doit toujours suivre le flux normal — ce qui change, c'est qu'une fois terminé, le processus renvoie les valeurs définies dans expected_result au lieu du résultat réel de l'évaluation.

Chaque flow n'accepte qu'un seul des deux formats ci-dessous, selon sa configuration :

FormatQuand l'utiliser
id_cloud_one_resultFlux qui renvoient un résultat unique (approuvé, refusé, risque élevé, etc.)
authentication_infoFlux qui renvoient des signaux individuels (UnicoId, Trust, Liveness, IdAge, IdFace...)

Envoyer le format qui ne correspond pas à votre flow, ou envoyer les deux en même temps, entraîne une erreur — voir Erreurs.

Endpoint​

EnvironnementURL
SandboxPOST https://api.idcloud.uat.unico.app/client/v1/process

Le mock est disponible uniquement en sandbox. En production, le champ expected_result est rejeté.

Résultat unique — id_cloud_one_result

Utilisez ceci lorsque votre flow renvoie un résultat unique de type approbation.

Paramètres du corps

ChampTypeRequisDescription
expected_result.​id_cloud_one_resultstringouiLe résultat unique à simuler. Doit être un résultat que votre flow produit réellement — vérifiez la configuration de votre flux pour connaître les résultats qu'il reconnaît.

Exemple​

curl -X POST https://api.idcloud.uat.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"expected_result": {
"id_cloud_one_result": "PROCESS_RESULT_APPROVED"
}
// ... les paramètres restants sont les mêmes que ceux utilisés lors d'un appel réel à Créer un processus
}'

Réponse (200 OK)​

{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"flow": "your-sandbox-flow",
"simulated": true,
"capacities": ["PROCESS_CAPACITY_IDCHECK"],
"person": { "duiType": "DUI_TYPE_BR_CPF", "duiValue": "12345678909" }
}
}

simulated: true indique que ce processus a un résultat simulé, et non une évaluation réelle.

Les valeurs possibles de id_cloud_one_result sont les mêmes valeurs de résultat de processus documentées dans Interprétation des résultats — envoyez uniquement un résultat que votre flow reconnaît réellement.

BrazilSignaux individuels — authentication_info

Utilisez ceci lorsque votre flow renvoie des signaux séparés au lieu d'un résultat unique.

Chaque signal que votre flow renvoie normalement doit être présent dans authentication_info. N'en envoyer qu'une partie est rejeté — vous ne pouvez pas simuler un signal et laisser le reste à l'évaluation réelle.

trust_result vs. identity_fraudsters_result

trust_result et identity_fraudsters_result représentent le même signal (indication de fraude à l'identité) : trust_result couvre le côté négatif, identity_fraudsters_result le côté positif. Utilisez celui qui correspond au résultat que vous souhaitez simuler.

Pour les valeurs possibles de chaque champ, voir Résultats de capacité dans authenticationInfo.

Les flux sans friction ne sont pas pris en charge dans ce format — voir Signaux non pris en charge.

Exemple​

curl -X POST https://api.idcloud.uat.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"expected_result": {
"authentication_info": {
"authentication_result": "AUTHENTICATION_RESULT_POSITIVE",
"liveness_result": "LIVENESS_RESULT_LIVE",
"id_age_result": "ID_AGE_RESULT_POSITIVE"
}
}
// ... les paramètres restants sont les mêmes que ceux utilisés lors d'un appel réel à Créer un processus
}'

Réponse (200 OK)​

{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"flow": "your-sandbox-flow",
"simulated": true,
"capacities": ["PROCESS_CAPACITY_IDUNICO", "PROCESS_CAPACITY_IDAGE"],
"authenticationInfo": {
"authenticationResult": "AUTHENTICATION_RESULT_POSITIVE",
"livenessResult": "LIVENESS_RESULT_LIVE",
"idAgeResult": "ID_AGE_RESULT_POSITIVE"
},
"person": { "duiType": "DUI_TYPE_BR_CPF", "duiValue": "12345678909" }
}
}

Signaux non pris en charge​

Les signaux suivants ne sont pas pris en charge par le mock, dans aucun des deux formats :

  • multi_accounts
  • data_mismatch
  • serial_fraudster
  • smart_revalidation_result
  • passkey_result (obsolète)

Les flux sans friction (authentification sans capture biométrique) ne sont pris en charge que dans le format id_cloud_one_result — ils ne fonctionnent pas avec authentication_info.

Remarques sur la réponse​

Le score n'est renvoyé que lorsque le résultat d'identité est inconclusif. Le champ score_engine_result ne reflète une valeur que lorsque authentication_result est AUTHENTICATION_RESULT_INCONCLUSIVE. Si vous simulez authentication_result comme POSITIVE ou NEGATIVE avec un score_engine_result non nul, la réponse finale renvoie score_enabled: SCORE_ENABLED_FALSE et score: 0, quelle que soit la valeur envoyée.

Il s'agit du comportement normal de l'API — la même règle s'applique aux processus réels, elle n'est pas spécifique au mock. Si le scénario que vous souhaitez tester dépend de l'affichage du score dans la réponse, utilisez authentication_result: AUTHENTICATION_RESULT_INCONCLUSIVE.

Erreurs​

SituationErreur
expected_result en dehors du sandboxPERMISSION_DENIED
id_cloud_one_result et authentication_info envoyés ensembleINVALID_ARGUMENT
authentication_info: {} videINVALID_ARGUMENT
authentication_info sans un signal renvoyé par le fluxErreur de validation — inclure tous les signaux
Valeur de id_cloud_one_result que le flux ne reconnaît pasErreur de validation
flow ne prend pas en charge le mockingErreur de validation

Prochaines étapes​

Après avoir créé le processus simulé, effectuez la capture biométrique normalement et utilisez Récupérer un processus pour récupérer le résultat simulé.