---
title: Créer un processus de document
description: Capturez un nouveau document ou réutilisez un document précédemment capturé lié à un processus biométrique.
canonical: https://developer.unico.io/fr/dual-api/developers/api-reference/api/post-processes-document
locale: fr
generated_by: markdown-export
---

- [/fr/](/fr/)
- [Référence API](/fr/dual-api/developers/api-reference/)
- [API](/fr/dual-api/developers/api-reference/api/)
- Créer un processus de document

**Sur cette page# Créer un processus de document

Ce point de terminaison gère deux flux de traitement de documents qui partagent le même chemin mais diffèrent par les paramètres du corps :

**Nouvelle capture** — soumet des images de document en base64 pour traitement (`document.files` requis).
**Réutilisation** — ignore la capture en référençant un document précédemment capturé (`document.documentId` requis).

Le flux actif est déterminé par la présence ou l'absence de `document.documentId` dans le corps de la requête.
Avant de créer un processus de document, utilisez [Récupérer les documents réutilisables](/fr/dual-api/developers/api-reference/api/get-document) pour vérifier si l'utilisateur dispose déjà d'un document disponible à la réutilisation.
Pour le flux d'intégration complet, voir [Vue d'ensemble de l'API](/fr/dual-api/developers/api-reference/api/).
### Point de terminaison​

EnvironnementURL**Production**`POST https://api.id.unico.app/processes/v1`**Sandbox**`POST https://api.id.uat.unico.app/processes/v1`
### Requête​

En-têtes
En-têteValeur`Authorization``Bearer <access_token>` (voir [Authentification](/fr/dual-api/developers/api-reference/authentication))`APIKEY`Clé API provisionnée avec la capture et la réutilisation de documents activées.`Content-Type``application/json`
Paramètres du corps
Nouvelle captureRéutilisationChampTypeRequisDescription`subject.duiType`integerouiIdentifiant du type de document. Voir [valeurs de `duiType`](#duitype-values) ci-dessous.`subject.code`stringouiValeur de l'identifiant de l'utilisateur selon `subject.duiType`. Sans points ni tirets.`subject.name`stringnonNom complet.`subject.gender`stringnon`M` ou `F`.`subject.birthDate`string (ISO 8601)nonDate de naissance (`YYYY-MM-DD`).`subject.email`stringnonAdresse e-mail.`subject.phone`stringnonNuméro de téléphone au format E.164.`document.purpose`stringouiFinalité métier. Valeurs : `creditprocess`, `carpurchase`, `paybypaycheck`, `onboarding`, `fgts`.`document.authProcessId`stringouiID du processus biométrique lié à cette capture de document.`document.files`arrayouiImages du document en base64 (recto et/ou verso).`document.files[].data`stringouiImage du document en base64 (PNG, JPEG ou WebP, max 800 Ko).`subsidiaryId`stringnonID de la filiale — requis uniquement si plusieurs filiales existent.ChampTypeRequisDescription`subject.duiType`integerouiIdentifiant du type de document. Voir [valeurs de `duiType`](#duitype-values) ci-dessous.`subject.code`stringouiValeur de l'identifiant de l'utilisateur selon `subject.duiType`. Sans points ni tirets.`subject.name`stringnonNom complet.`subject.gender`stringnon`M` ou `F`.`subject.birthDate`string (ISO 8601)nonDate de naissance (`YYYY-MM-DD`).`subject.email`stringnonAdresse e-mail.`subject.phone`stringnonNuméro de téléphone au format E.164.`document.purpose`stringouiFinalité métier. Valeurs : `creditprocess`, `carpurchase`, `paybypaycheck`, `onboarding`, `fgts`.`document.authProcessId`stringouiID du processus biométrique lié à ce document.`document.documentId`stringouiID d'un document précédemment capturé (obtenu depuis [Récupérer les documents réutilisables](/fr/dual-api/developers/api-reference/api/get-document)). Lorsqu'il est fourni, `document.files` peut être omis.`subsidiaryId`stringnonID de la filiale — requis uniquement si plusieurs filiales existent.
**Valeurs de `duiType`**PaysCodeDescriptionAR6Passeport argentinAR7DNI argentinAR49Permis de conduire argentin (Licencia Nacional de Conducir)AT34Numéro fiscal autrichien (STNR)BE36Numéro national belge (NN)BR1CPF brésilienBR5Passeport brésilienBR14CNPJ brésilienCA28Numéro d'assurance sociale canadien (NAS)CH33Numéro AVS/AHV suisseCL9RUN chilienCL52Passeport chilienCL57Permis de conduire chilien (Licencia de Conducir)CO26NIT colombienCO53Passeport colombienCO55Permis de conduire colombien (Licencia de Conducción)CO56Carte de citoyenneté colombienne (Cédula de Ciudadanía)DE41Numéro d'identification fiscale allemand (IdNr)DK29CPR danoisEC10NI équatorienES50Numéro d'identité d'étranger espagnol (NIE)ES51Document national d'identité espagnol (DNI)FI35Code d'identité personnelle finlandais (HETU)FR46Numéro de référence fiscale français (SPI)GB30Numéro d'assurance nationale britannique (NINO)GT12CUI guatémaltèqueID16NIK indonésienIE47Numéro personnel de service public irlandais (PPSN)IT37Codice Fiscale italien (CF)LU48Numéro d'identification national luxembourgeois (Matricule)MX2CURP mexicainMX25RFC mexicain (Personne physique)MX58Permis de conduire mexicain (Licencia de Conducir)NG8NIN nigérianNG20Numéro de vérification bancaire nigérian (BVN)NG43Jeton BVN nigérian (haché)NG44Jeton NIN nigérian (haché)NL42Numéro de service citoyen néerlandais (BSN)NO39Numéro d'identité national norvégien (Fødselsnummer)PE27RUC péruvienPE40DNI péruvienPE54Passeport péruvienPL31PESEL polonaisPT45Numéro d'identification fiscale portugais (NIF)SE32Numéro personnel suédois (PNR)SE38Numéro de coordination suédois (Samordningsnummer)TR24Numéro d'identification turc (TCKN)US4SSN américainUS11Passeport américainUS18Permis de conduire américainUS21Carte de passeport américaineUS22Passeport américain en polycarbonateUS23Carte d'identité américaineUY13CI uruguayenZZ15Adresse e-mailZZ17Numéro de téléphone—0Non spécifié—3Identifiant interne Unico
### Exemple​

Nouvelle capture — cURLNouvelle capture — Node.jsRéutilisation — cURLRéutilisation — Node.js```
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"    },    "document": {      "purpose": "onboarding",      "authProcessId": "80371b2a-3ac7-432e-866d-57fe37896ac6",      "files": [        { "data": "/9j/4AAQSkZJR..." }      ]    }  }'
```

```
import fetch from 'node-fetch';const res = await fetch('https://api.id.unico.app/processes/v1', {  method: 'POST',  headers: {    'Authorization': `Bearer ${process.env.UNICO_ACCESS_TOKEN}`,    'APIKEY': process.env.UNICO_API_KEY,    'Content-Type': 'application/json'  },  body: JSON.stringify({    subject: {      duiType: 1,      code: '12345678909',      name: 'Luke Skywalker'    },    document: {      purpose: 'onboarding',      authProcessId: '80371b2a-3ac7-432e-866d-57fe37896ac6',      files: [{ data: documentImageBase64 }]    }  })});const result = await res.json();
```

```
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"    },    "document": {      "purpose": "onboarding",      "authProcessId": "80371b2a-3ac7-432e-866d-57fe37896ac6",      "documentId": "doc-abc-123"    }  }'
```

```
import fetch from 'node-fetch';const res = await fetch('https://api.id.unico.app/processes/v1', {  method: 'POST',  headers: {    'Authorization': `Bearer ${process.env.UNICO_ACCESS_TOKEN}`,    'APIKEY': process.env.UNICO_API_KEY,    'Content-Type': 'application/json'  },  body: JSON.stringify({    subject: {      duiType: 1,      code: '12345678909'    },    document: {      purpose: 'onboarding',      authProcessId: '80371b2a-3ac7-432e-866d-57fe37896ac6',      documentId: 'doc-abc-123'    }  })});const result = await res.json();
```

### Réponses​

200 OK
```
{  "id": "80371b2a-3ac7-432e-866d-57fe37896ac6",  "status": 3,  "document": {    "id": "doc-abc-123",    "type": "unico.moja.dictionary.br.cnh.v2.Cnh",    "cpfMatch": true,    "faceMatch": true,    "content": {      "numero": "12345678",      "nomeCivil": "Luke Skywalker",      "dataNascimento": "2000-05-20T00:00:00Z",      "categoria": "B",      "dataExpiracao": "2030-05-20T00:00:00Z"    },    "fileUrls": [      "https://storage.unico.app/documents/doc-abc-123/front.jpg"    ]  }}
```

ChampTypeDescription`id`string (UUID)Identifiant du processus.`status`integer`3` (terminé avec succès), `5` (terminé avec échec).`document.id`stringIdentifiant du document capturé. Utilisez cette valeur dans les futures requêtes `document.documentId` pour la réutilisation.`document.type`stringType de document identifié, sous forme de nom de dictionnaire complet. Voir [valeurs de `document.type`](#document-type-values) ci-dessous.`document.cpfMatch`boolean`true` si l'identifiant extrait du document correspond à `subject.code`.`document.faceMatch`boolean`true` si le visage sur le document correspond au selfie biométrique de `document.authProcessId`.`document.content`objectChamps extraits par OCR. La structure varie selon le type de document — [cliquez ici pour les détails des champs](/fr/assets/files/document-content-fields-0e4663f2ade946e901bbc7523c21f032.json).`document.fileUrls`arrayURLs temporaires (validité de 10 minutes) pour télécharger les images du document.
Seuls les champs extraits avec succès sont présents dans `document.content` ; tout ce que l'OCR n'a pas pu lire est omis plutôt que retourné vide.
**Valeurs de `document.type`**Schéma unifiéTous les types de document qui utilisent le schéma unifié — `unified_schema` dans la [référence des champs](/fr/assets/files/document-content-fields-0e4663f2ade946e901bbc7523c21f032.json) — sont retournés dans `document.type` sous la forme `unico.moja.dictionary.<country>.generic.v1.<DocumentType>`, où `<country>` est le code ISO 3166-1 alpha-2 en minuscules et `<DocumentType>` le type identifié. Par exemple :
`unico.moja.dictionary.ar.generic.v1.IdCard`: Carte d'identité argentine
`unico.moja.dictionary.us.generic.v1.PolycarbonatePassport`: Passeport en polycarbonate des États-Unis
Schémas spécifiquesLes types de document 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 :PaysValeurDocumentBR`unico.moja.dictionary.br.rg.v2.Rg`RGBR`unico.moja.dictionary.br.cnh.v2.Cnh`CNH (permis de conduire)BR`unico.moja.dictionary.br.cin.v1.Cin`CINBR`unico.moja.dictionary.br.passaporte.v1.Passaporte`PasseportMX`unico.moja.dictionary.mx.ine.v1.Ine`Carte d'électeur INEMX`unico.moja.dictionary.mx.lpc.v1.Lpc`Licencia para conducir (permis de conduire)MX`unico.moja.dictionary.mx.pasaporte.v1.Pasaporte`Passeport—`unico.moja.dictionary.other.unknown.v1.Unknown`Le type n'a pas pu être identifié — `document.content` est videAucune extraction OCR n'est effectuée et aucun champ n'est renvoyé lorsque `document.type` est `unico.moja.dictionary.other.unknown.v1.Unknown`.
### Codes d'erreur​

400 Bad Request403 Forbidden409 Conflict500 Internal Server ErrorCodeMessageDescription`99989`The document is invalid.L'objet `document` a une structure invalide.`99988`The document is empty.L'objet `document` est absent du corps de la requête.`20900`O base64 informado não é válido.Le paramètre base64 est invalide. Causes possibles : ce n'est pas une image ou il s'agit d'une tentative d'injection.`20807`A imagem precisa estar no padrão HD ou possuir uma resolução superior a 640 x 480.La résolution de l'image téléchargée est trop faible.`20509`The subject.name field is invalid.`subject.name` contient des caractères invalides.`20508`The subject.gender field is invalid.`subject.gender` doit être `M` ou `F`.`20507`O parâmetro subject.code é inválido.Valeur d'identifiant non standard ou inexistante.`20506`O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.La taille de l'image dépasse 800 Ko ; compressez en JPEG92.`20505`O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.Le format base64 est invalide ou non pris en charge.`20068`The document.documentId or document.files parameter must be present.Ni `document.documentId` ni `document.files` n'ont été fournis.`20067`The document.purpose parameter is invalid.Valeur non reconnue dans `document.purpose`.`20066`The document.authProcessId parameter is invalid.Valeur invalide dans `document.authProcessId`.`20062`The useCase field is invalid.Valeur non reconnue dans le champ `useCase`.`20021`The subject.phone field is invalid.Le format de `subject.phone` est invalide (IDD + indicatif régional + numéro, 13 caractères).`20019`The subject.birthDate field is invalid.`subject.birthDate` n'est pas au format ISO 8601 (`YYYY-MM-DD`).`20009`O parâmetro imagebase64 não foi informado.Le paramètre d'image du document est manquant.`20008`The subject.email field is invalid.Format d'e-mail invalide dans `subject.email`.`20005`O parâmetro subject.code não foi informado.Le paramètre subject.code est manquant.`20004`O parâmetro subject não foi informado.Le paramètre subject est manquant.`20003`The request body is missing or invalid.Charge utile nulle ou invalide.`20002`O parâmetro APIKey não foi informado.Le paramètre APIKEY est absent de l'en-tête de la requête.`20001`O parâmetro authtoken não foi informado.Le paramètre de jeton d'intégration est absent de l'en-tête de la requête.`10508`The JWT with the captured face has already been used.Le JWT ne peut être utilisé qu'une seule fois.`10507`The JWT with the captured face is expired.JWT expiré ; doit être envoyé dans les 10 minutes.`10506`The imageBase64 field is not a valid JWT from SDK.Le champ `imageBase64` n'est pas un JWT valide généré par le SDK.Jeton Bearer ou `APIKEY` manquant, expiré ou invalide. Voir [Authentification](/fr/dual-api/developers/api-reference/authentication).CodeMessageDescription`30017`User does not have permission to perform this action.JWT malformé ou utilisateur sans permission pour effectuer cette opération.`10502`O token informado está expirado.Le jeton d'accès a expiré.`10501`O token informado é inválido.Le jeton d'authentification est invalide.`10201`O AppKey informado é inválido.L'APIKEY est invalide ou n'existe pas.CodeMessageDescription`20073`The processID already exists.Le `processId` fourni existe déjà pour ce locataire.CodeMessageDescription`99999`Internal failure! Try again laterLorsqu'une erreur interne se produit.
### Étapes suivantes​

Pour vérifier si un document est déjà disponible avant cet appel, voir [Récupérer les documents réutilisables](/fr/dual-api/developers/api-reference/api/get-document).
Pour la création d'un processus biométrique (requis pour `document.authProcessId`), voir [Créer un processus](/fr/dual-api/developers/api-reference/api/post-processes).
Dernière mise à jour le 8 oct. 2026**