---
title: Récupérer un processus
description: Récupérer l'état actuel et le résultat d'un processus de vérification.
canonical: https://developer.unico.io/fr/developers/api-reference/get-process
locale: fr
generated_by: markdown-export
---

- [/fr/](/fr/)
- Référence API
- Récupérer un processus

**Sur cette pageRécupérer un processusGETRécupérer un processus existant par son identifiant. Selon le contrat de l'API, le résultat est déjà renvoyé de manière synchrone à la création du processus — utilisez cet endpoint pour les nouvelles interrogations, l'audit et le support.

avertissementAvant de récupérer le processus, consultez notre configuration de webhook et nos stratégies de fallback — [cliquez ici](/fr/developers/webhooks-and-events/setup).
### Endpoint​

EnvironnementURL**Production**`GET https://api.idcloud.unico.app/client/v1/process/{processId}`**Sandbox**`GET https://api.idcloud.uat.unico.app/client/v1/process/{processId}`
### Requête​

En-têtes
En-têteValeur`Authorization``Bearer <access_token>`
Paramètres de chemin
ParamètreTypeRequisDescription`processId`string (UUID)ouiIdentifiant du processus renvoyé par [Créer un processus](/fr/developers/api-reference/post-processes).
### Exemple​

cURLNode.js```
curl -X GET https://api.idcloud.unico.app/client/v1/process/$PROCESS_ID \  -H "Authorization: Bearer $TOKEN"
```

```
import fetch from 'node-fetch';const res = await fetch(  `https://api.idcloud.unico.app/client/v1/process/${processId}`,  { headers: { Authorization: `Bearer ${accessToken}` } });const { process: proc } = await res.json();
```

### Réponses​

200 OK
```
{  "process": {    "id": "226fd950-4b80-4da6-a476-ba9d397ddc91",    "flow": "id_r2",    "callbackUri": "/",    "userRedirectUrl": "https://cadastro.uat.unico.app/flow?collect-data=true&dynamic-wrapper=true&id=226fd950-4b80-4da6-a476-ba9d397ddc91",    "state": "PROCESS_STATE_FINISHED",    "result": "PROCESS_RESULT_APPROVED",    "createdAt": "2026-08-06T01:42:21.693615Z",    "finishedAt": "2026-08-06T01:43:03.080508Z",    "person": {      "duiType": "DUI_TYPE_BR_CPF",      "duiValue": "40*******50",      "friendlyName": "teste",      "email": "",      "phone": "5511999999999",      "notifications": [        { "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP" }      ],      "phoneCountryCodeAlpha3": ""    },    "purpose": "personAuthentication",    "services": [],    "authenticationInfo": { "authenticationId": "55cba227-9828-49df-a16f-bcdaa7bdaa4d" },    "capacities": ["PROCESS_CAPACITY_IDCLOUDONE"],    "expiresAt": "2026-08-13T01:42:21.536500Z",    "token": "",    "companyData": { "branchId": "", "countryCode": "BRA" },    "simulated": false  }}
```

Champs du processus
ChampSignification`id`UUID du processus ; la clé utilisée pour interroger et suivre le flux.`flow`Type de parcours exécuté (ex. `id_r2`, `idlivetrust_r2`, `idtrust_r2`, ...).`callbackUri`URI de callback vers laquelle l'application cliente est redirigée à la fin du flux.`userRedirectUrl`URL complète de la page CbU que l'utilisateur ouvre pour effectuer le parcours (contient l'`id` et les indicateurs de comportement).`state`État du cycle de vie du processus. Valeurs `PROCESS_STATE_*` (ex. `CREATED`, `FAILED`, `FINISHED`, `AWAITING_FOR_DOCUMENT`, `UNSPECIFIED`).`result`Verdict final de l'évaluation. Valeurs `PROCESS_RESULT_*` (ex. `APPROVED`, `AUTHENTICATED`, `NOT_APPROVED`, ...). Concluant uniquement lorsque `state = PROCESS_STATE_FINISHED`.`createdAt`Horodatage de création du processus (UTC).`finishedAt`Horodatage de fin du processus (UTC).`person`Sous-objet contenant les données de la personne vérifiée.`purpose`Finalité du processus (ex. `personAuthentication`, enregistrement de personne).`services`Liste des services additionnels attachés au processus ; vide en l'absence de service.`authenticationInfo.​authenticationId`ID de l'événement d'authentification d'identité généré par le flux.`capacities`Capacités/produits utilisés. Valeurs `PROCESS_CAPACITY_*` (ex. `IDCLOUDONE`).`expiresAt`Horodatage d'expiration du processus/lien (UTC).`token`Jeton de session/accès associé au processus (peut être vide).`companyData`Sous-objet contenant les données de l'entreprise/tenant propriétaire du processus.`simulated`Booléen ; indique s'il s'agit d'un processus de simulation/sandbox (`true`) ou réel (`false`).
Champs de la personne
ChampSignification`duiType`Type du document d'identification unique. Valeurs `DUI_TYPE_*` (ex. `BR_CPF`).`duiValue`Valeur du document (ex. le numéro de CPF).`friendlyName`Nom convivial/surnom de la personne (texte libre, non validé).`email`E-mail de la personne ; peut être vide.`phone`Numéro de téléphone au format E.164 (code pays + code régional + numéro).`notifications`Liste des canaux de notification. Chaque élément porte `notificationChannel` avec des valeurs `NOTIFICATION_CHANNEL_*` (ex. `WHATSAPP`, `SMS`, `EMAIL`).`phoneCountryCodeAlpha3`Code pays ISO alpha-3 du numéro de téléphone (ex. `BRA`) ; peut être vide.
Champs des données de l'entreprise
ChampSignification`branchId`Identifiant de la filiale du tenant ; vide lorsqu'il n'y a pas de segmentation par filiale.`countryCode`Pays de l'entreprise en ISO alpha-3 (ex. `BRA`).
Types de documents et champs OCR
Les types de documents qui utilisent le schéma unifié — `unified_schema` dans la [référence des champs](/fr/assets/files/document-content-fields-0e4663f2ade946e901bbc7523c21f032.json) — sont rapportés sous forme du type identifié pendant la capture, en majuscules : `IDCARD`, `DRIVERLICENSE`, `PASSPORT` ou `VOTERID`.
Les passeports américains conservent leur variante au lieu d'être ramenés à `PASSPORT`, donc des valeurs comme `POLYCARBONATEPASSPORT`, `PASSPORTCARD` et `PAPERPASSPORT` sont également renvoyées.
Par exemple, `unico.moja.dictionary.ar.generic.v1.IdCard` et `unico.moja.dictionary.us.generic.v1.PolycarbonatePassport` sont rapportés comme `IDCARD` et `POLYCARBONATEPASSPORT`.
`process.services[].documents[].doc.code` rapporte le type de document sous forme d'un code court en majuscules. `unico.moja.dictionary.br.cnh.v2.Cnh` devient `CNH`.
Le code ne porte ni le pays ni la version du schéma ; la version est renvoyée séparément dans `doc.version`.
Schémas spécifiques
Les types de documents qui utilisent leur propre schéma de champs — listés sous `specific_document_schemas` dans la [référence des champs](/fr/assets/files/document-content-fields-0e4663f2ade946e901bbc7523c21f032.json) — sont présentés dans le tableau ci-dessous. Utilisez le type de dictionnaire pour rechercher chaque schéma dans ce fichier.
Pays`doc.code`Type de dictionnaireDocumentBR`RG``unico.​moja.​dictionary.​br.​rg.​v2.​Rg`RGBR`CNH``unico.​moja.​dictionary.​br.​cnh.​v2.​Cnh`CNH (permis de conduire)BR`CIN``unico.​moja.​dictionary.​br.​cin.​v1.​Cin`CINBR`PASSAPORTE``unico.​moja.​dictionary.​br.​passaporte.​v1.​Passaporte`PasseportMX`INE``unico.​moja.​dictionary.​mx.​ine.​v1.​Ine`Titre d'électeur INEMX`LPC``unico.​moja.​dictionary.​mx.​lpc.​v1.​Lpc`Licencia para conducir (permis de conduire)MX`PASAPORTE``unico.​moja.​dictionary.​mx.​pasaporte.​v1.​Pasaporte`Passeport—`UNKNOWN``unico.​moja.​dictionary.​other.​unknown.​v1.​Unknown`Le type n'a pas pu être identifié — `doc.data` est vide
`PASSAPORTE` et `PASAPORTE` sont des documents différentsLe passeport brésilien est `PASSAPORTE` (double S) et le mexicain est `PASAPORTE` (S simple), chacun reflétant l'orthographe de son propre dictionnaire. Ce n'est pas une faute de frappe — ne traitez pas les deux valeurs comme équivalentes.
Aucune extraction OCR n'est effectuée et aucun champ n'est rapporté dans `doc.data` lorsque `doc.code` est `UNKNOWN`.
Les clients au Brésil peuvent recevoir le payload complet du processusLa structure globale de la réponse reste la même — le résultat unique est la valeur par défaut.Les intégrations au Brésil peuvent recevoir l'objet processus complet ci-dessous, avec les résultats par capacité dans authenticationInfo.```
{  "process": {    "id": "53060f52-f146-4c12-a234-5bb5031f6f5b",    "flow": "iddocs_r2",    "callbackUri": "https://example.com/callback",    "userRedirectUrl": "https://example.com/redirect",    "state": "PROCESS_STATE_FINISHED",    "result": "PROCESS_RESULT_OK",    "createdAt": "2024-01-01T10:00:00Z",    "finishedAt": "2024-01-01T10:15:00Z",    "expiresAt": "2024-01-08T10:00:00Z",    "purpose": "VERIFICATION",    "clientReference": "client-ref-abc",    "useCase": "USE_CASE_LOGIN",    "capacities": ["liveness", "face_match"],    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",    "person": {      "duiType": "DUI_TYPE_BR_CPF",      "duiValue": "12345678909",      "friendlyName": "Luke Skywalker",      "notifications": [        {          "notificationChannel": "email"        }      ]    },    "authenticationInfo": {      "authenticationId": "auth-123",      "livenessResult": "LIVENESS_RESULT_LIVE",      "authenticationResult": "AUTHENTICATION_RESULT_INCONCLUSIVE",      "identityFraudstersResult": "TRUST_RESULT_UNSPECIFIED",      "bioTokenEngineResult": "BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED",      "smartRevalidationResult": "SMART_REVALIDATION_RESULT_UNSPECIFIED",      "idAgeResult": "ID_AGE_RESULT_UNSPECIFIED",      "scoreEngineResult": {        "scoreEnabled": "SCORE_ENABLED_TRUE",        "score": 85.5      }    },    "companyData": {      "branchId": "branch-123",      "countryCode": "BR"    },    "bioTokenData": {      "referenceProcessId": "ref-proc-123",      "authenticationId": "auth-ref-123"    },    "services": [      {        "envelopeId": "4d4f3d90-04a3-4259-b63b-930ab10d2e47",        "documentIds": ["doc-abc-123"],        "consent_granted": true,        "documents": [          {            "doc_id": "doc-abc-123",            "typified": true,            "cpf_match": true,            "face_match": true,            "validate_doc": true,            "reused_doc": false,            "signed_url": "https://example.com/doc?token=xyz",            "doc": {              "version": 1,              "code": "CNH",              "data": {                "numero": "044589731564",                "cpfNumero": "12345678909",                "nomeCivil": "Luke Skywalker",                "dataNascimento": "1990-05-12T00:00:00Z",                "dataExpiracao": "2027-12-07T00:00:00Z",                "categoria": "B"              }            }          }        ]      }    ]  }}
```

Champs de premier niveauChampTypeDescription`process.id`string (UUID)Identifiant du processus.`process.flow`stringIdentifiant du flux envoyé à la création.`process.callbackUri`stringURL de callback configurée pour les événements du processus.`process.​userRedirectUrl`stringURL pour rediriger l'utilisateur une fois le parcours terminé.`process.state`enumÉtat actuel du processus. Voir les valeurs ci-dessous.`process.result`enumRésultat de la vérification. Présent uniquement lorsque `state = PROCESS_STATE_FINISHED`.`process.createdAt`string (datetime)Horodatage ISO 8601 de la création du processus.`process.finishedAt`string (datetime)Horodatage ISO 8601 de fin du processus. Présent uniquement lorsque `state = PROCESS_STATE_FINISHED`.`process.expiresAt`string (datetime)Horodatage ISO 8601 d'expiration du processus.`process.purpose`stringFinalité du processus telle que configurée dans le flux.`process.​clientReference`stringRéférence côté client optionnelle pour l'indexation dans le portail.`process.useCase`stringIdentifiant du scénario associé au flux.`process.capacities`array of stringsListe des capacités activées dans ce processus.`process.token`stringJWT signé pour l'intégration SDK.`process.person`objectIdentification fournie à la création.`process.​person.​notifications`arrayCanaux de notification configurés pour le parcours (ex. `email`).`process.​authenticationInfo`objectRésultats par capacité. Voir ci-dessous.`process.companyData`objectContexte de l'entreprise et de la filiale.`process.​companyData.​branchId`stringIdentifiant de la filiale.`process.​companyData.​countryCode`stringCode pays ISO 3166-1 alpha-2.`process.​bioTokenData`objectInformations du processus de référence — présent uniquement dans les flux de Validation 1:1 et de Revalidation intelligente.`process.services`arrayEnveloppes signées, documents capturés, et autres sorties de service. Voir ci-dessous.Valeurs de process.stateValeurSignification`PROCESS_STATE_CREATED`Processus créé ; l'utilisateur n'a pas encore terminé le parcours.`AWAITING_FOR_DOCUMENT`Processus créé sans document d'identification. Présent uniquement lorsque le Custom Flow autorise un document optionnel. Envoyez le document avec [Définir le document du processus](/fr/developers/api-reference/set-process-document).`PROCESS_STATE_FINISHED`Parcours terminé. Vérifiez `result` et `authenticationInfo`.`PROCESS_STATE_FAILED`Erreur de traitement.Incohérence de nomenclature d'état`AWAITING_FOR_DOCUMENT` ne suit pas la convention de préfixe `PROCESS_STATE_*` utilisée par les autres états. C'est une incohérence de nomenclature connue dans l'API actuelle.Valeurs de process.resultValeurSignification`PROCESS_RESULT_OK`Toutes les capacités ont renvoyé des résultats positifs.`PROCESS_RESULT_INVALID_IDENTITY`Au moins une capacité a renvoyé un résultat négatif définitif (ex. échec de la détection de vie, identité non correspondante).`PROCESS_RESULT_ERROR`Erreur pendant le traitement du résultat.`PROCESS_RESULT_EXPIRED`Le processus a expiré avant que le parcours ne soit terminé.`PROCESS_RESULT_UNSPECIFIED`Processus pas encore terminé.Résultats de capacité dans authenticationInfoTous les champs sont toujours renvoyés, quel que soit le flux. Les champs des capacités non utilisées dans le flux renvoient `*_UNSPECIFIED`.Valeurs d'enum abrégéesLes valeurs abrégées (ex. `livenessResult = LIVE`, `authenticationResult = INCONCLUSIVE`) correspondent directement aux valeurs d'enum complètes documentées ici (`LIVENESS_RESULT_LIVE`, `AUTHENTICATION_RESULT_INCONCLUSIVE`, etc.) — le préfixe est omis par souci de concision.ChampCapacitéValeurs possibles`authenticationId`—Identifiant unique de cette tentative d'authentification.`livenessResult`[Détection de Vie](/fr/capabilities/liveness)`LIVENESS_RESULT_LIVE`, `LIVENESS_RESULT_NOT_LIVE`, `LIVENESS_RESULT_UNSPECIFIED``authenticationResult`[Vérification d'identité](/fr/capabilities/identity-verification)`AUTHENTICATION_RESULT_POSITIVE`, `AUTHENTICATION_RESULT_NEGATIVE`, `AUTHENTICATION_RESULT_INCONCLUSIVE`, `AUTHENTICATION_RESULT_UNSPECIFIED``identityFraudstersResult`[Classification du risque de fraude](/fr/capabilities/fraud-risk-classification)`TRUST_RESULT_YES`, `TRUST_RESULT_INCONCLUSIVE`, `TRUST_RESULT_UNSPECIFIED``bioTokenEngineResult`[Validation 1:1](/fr/capabilities/1-1-validation)`BIO_TOKEN_ENGINE_RESULT_POSITIVE`, `BIO_TOKEN_ENGINE_RESULT_NEGATIVE`, `BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED``smartRevalidationResult`[Revalidation intelligente](/fr/capabilities/smart-revalidation)`SMART_REVALIDATION_RESULT_POSITIVE`, `SMART_REVALIDATION_RESULT_NEGATIVE`, `SMART_REVALIDATION_RESULT_UNSPECIFIED``idAgeResult`[Vérification de l'âge](/fr/capabilities/age-verification)`ID_AGE_RESULT_POSITIVE`, `ID_AGE_RESULT_NEGATIVE`, `ID_AGE_RESULT_INCONCLUSIVE`, `ID_AGE_RESULT_UNSPECIFIED``scoreEngineResult.​scoreEnabled`[Score de Risque](/fr/capabilities/risk-score)`SCORE_ENABLED_TRUE`, `SCORE_ENABLED_FALSE`, `SCORE_ENABLED_UNSPECIFIED``scoreEngineResult.​score`[Score de Risque](/fr/capabilities/risk-score)Nombre de -100 à +100. Présent lorsque `authenticationResult = AUTHENTICATION_RESULT_INCONCLUSIVE` et que le Score de Risque est activé.`serproResult.score`[Retour de similarité Serpro](/fr/capabilities/serpro-similarity-return)`0`–`100` (similarité) ; `-1` (aucun visage enregistré pour ce CPF) ; `-2` (erreur d'intégration).Champs de process.servicesConventions de nommage mixtes dans `services`Le tableau `services` utilise le camelCase pour les champs au niveau de l'enveloppe (`envelopeId`, `documentIds`) et le snake_case pour les champs au niveau du document (`doc_id`, `consent_granted`, `face_match`, etc.). Cela reflète la réponse réelle de l'API — les deux conventions sont intentionnelles et non une erreur de documentation.ChampTypeDescription`envelopeId`string (UUID)Identifiant de l'enveloppe signée.`documentIds`array of stringsIDs des documents capturés dans ce service.`consent_granted`booleanIndique si l'utilisateur a accordé le consentement au partage de données.`documents`arrayDocuments capturés avec les données OCR et les résultats de validation.`documents[].doc_id`stringIdentifiant du document.`documents[].​typified`booleanIndique si le type de document a été identifié avec succès.`documents[].​cpf_match`booleanIndique si le CPF du document correspond au CPF fourni (Brésil uniquement).`documents[].​face_match`booleanIndique si le selfie correspond à la photo du document.`documents[].​validate_doc`booleanIndique si le document a passé la validation d'authenticité.`documents[].​reused_doc`booleanIndique si ce document a été réutilisé à partir d'un processus précédent.`documents[].​signed_url`stringURL pré-signée pour télécharger le PDF du document (valide 5 minutes — récupérez-la à nouveau pour la renouveler).`documents[].​doc.​version`integerVersion du schéma OCR.`documents[].​doc.​code`stringCode court du type de document (ex. `CNH`). Voir [Types de documents et champs OCR](#document-type-values) pour toutes les valeurs et la manière dont le code est dérivé.`documents[].​doc.​data`objectChamps OCR extraits. Le contenu varie selon le type de document — voir la [référence complète des champs](/fr/assets/files/document-content-fields-0e4663f2ade946e901bbc7523c21f032.json) pour le catalogue complet. Les noms de champs dans `doc.data` (ex. `nomeCivil`, `dataNascimento`) sont renvoyés en portugais — ce sont les valeurs réelles produites par le moteur OCR.
### Codes d'erreur​

400 Bad Request401 Unauthorized404 Not Found429 Too Many Requests500 Internal Server ErrorCodeMessageDescription`3`process id is invalidLorsque l'ID du processus est invalide.CodeMessageDescription—Jwt header is an invalid JSONLorsque le jeton d'accès utilisé contient des caractères incorrects.—Jwt is expiredLorsque le jeton d'accès utilisé a expiré.CodeMessageDescription`5`error getting process: rpc error: code = NotFound desc = process not foundLorsque l'ID du processus n'a pas été trouvé.Limite de débit atteinte. Lorsque votre système reçoit une erreur HTTP 429, vous devez implémenter des mécanismes pour prévenir les défaillances en cascade et éviter d'aggraver la restriction.
**Bonnes pratiques :**

**Période de repos (backoff) :** Arrêtez ou réduisez immédiatement les requêtes suivantes de votre système. Ne réessayez pas continuellement les requêtes échouées dans une boucle serrée.
**File d'attente et limitation (Queueing & throttling) :** Mettez en mémoire tampon ou en file d'attente les requêtes sortantes de votre côté pour contrôler le flux de trafic avant de les renvoyer.
**Backoff exponentiel avec jitter :** Lors des nouvelles tentatives, augmentez le temps d'attente de manière exponentielle entre les essais (par exemple, 1 s, 2 s, 4 s, 8 s) et ajoutez un petit délai aléatoire ("jitter") pour éviter un effet de troupeau où toutes les requêtes en file d'attente réessaient exactement à la même milliseconde.

avertissementEnvoyer continuellement des requêtes vers un endpoint soumis à une limite de débit sans appliquer de backoff peut **prolonger la période de restriction** et impacter sévèrement le débit opérationnel de votre système. Limiter correctement les requêtes de votre côté garantit une intégration plus fluide et plus résiliente.
Pour les limites par défaut, l'augmentation des requêtes et des détails supplémentaires, consultez [Limites de débit](/fr/developers/start/rate-limits).CodeMessageDescription`99999`Internal failure! Try again laterLorsqu'il y a une erreur interne.
### Polling ou webhook​

Vous pouvez interroger (polling) cet endpoint pour vérifier la progression, mais le pattern recommandé consiste à **vous abonner à un webhook** et à n'appeler cet endpoint qu'en fallback. Voir [Webhooks et événements](/fr/developers/webhooks-and-events).
### Prochaines étapes​

Pour le selfie capturé, voir [Récupérer le selfie](/fr/developers/api-reference/get-selfie).
Pour le pack de preuves d'audit, voir [Récupérer le jeu de preuves](/fr/developers/api-reference/get-evidence-set).
Dernière mise à jour le 8 oct. 2026**