Simuler des résultats (Test Mock)
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 :
| Format | Quand l'utiliser |
|---|---|
id_cloud_one_result | Flux qui renvoient un résultat unique (approuvé, refusé, risque élevé, etc.) |
authentication_info | Flux 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
| Environnement | URL |
|---|---|
| Sandbox | POST https://api.idcloud.uat.unico.app/client/v1/process |
Le mock est disponible uniquement en sandbox. En production, le champ expected_result est rejeté.
Utilisez ceci lorsque votre flow renvoie un résultat unique de type approbation.
Paramètres du corps
| Champ | Type | Requis | Description |
|---|---|---|---|
expected_result.id_cloud_one_result | string | oui | Le 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.
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_resulttrust_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_accountsdata_mismatchserial_fraudstersmart_revalidation_resultpasskey_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
| Situation | Erreur |
|---|---|
expected_result en dehors du sandbox | PERMISSION_DENIED |
id_cloud_one_result et authentication_info envoyés ensemble | INVALID_ARGUMENT |
authentication_info: {} vide | INVALID_ARGUMENT |
authentication_info sans un signal renvoyé par le flux | Erreur de validation — inclure tous les signaux |
Valeur de id_cloud_one_result que le flux ne reconnaît pas | Erreur de validation |
flow ne prend pas en charge le mocking | Erreur 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é.