Aller au contenu principal

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 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.

Point de terminaison

EnvironnementURL
ProductionPOST https://api.id.unico.app/processes/v1
SandboxPOST https://api.id.uat.unico.app/processes/v1

Requête

En-têtes
En-têteValeur
AuthorizationBearer <access_token> (voir Authentification)
APIKEYClé API provisionnée avec la capture et la réutilisation de documents activées.
Content-Typeapplication/json
Paramètres du corps
ChampTypeRequisDescription
subject.duiTypeintegerouiIdentifiant du type de document. Voir valeurs de duiType ci-dessous.
subject.codestringouiValeur de l'identifiant de l'utilisateur selon subject.duiType. Sans points ni tirets.
subject.namestringnonNom complet.
subject.genderstringnonM ou F.
subject.birthDatestring (ISO 8601)nonDate de naissance (YYYY-MM-DD).
subject.emailstringnonAdresse e-mail.
subject.phonestringnonNuméro de téléphone au format E.164.
document.purposestringouiFinalité métier. Valeurs : creditprocess, carpurchase, paybypaycheck, onboarding, fgts.
document.authProcessIdstringouiID du processus biométrique lié à cette capture de document.
document.filesarrayouiImages du document en base64 (recto et/ou verso).
document.files[].datastringouiImage du document en base64 (PNG, JPEG ou WebP, max 800 Ko).
subsidiaryIdstringnonID de la filiale — requis uniquement si plusieurs filiales existent.
Valeurs de duiType
PaysCodeDescription
BR1CPF brésilien
MX2CURP mexicain
US4SSN américain
BR5Passeport brésilien
AR6Passeport argentin
AR7DNI argentin
NG8NIN nigérian
CL9RUN chilien
EC10NI équatorien
US11Passeport américain
GT12CUI guatémaltèque
UY13CI uruguayen
BR14CNPJ brésilien
ZZ15Adresse e-mail
ID16NIK indonésien
ZZ17Numéro de téléphone
US18Permis de conduire américain
NG20Numéro de vérification bancaire nigérian (BVN)
US21Carte de passeport américaine
US22Passeport américain en polycarbonate
US23Carte d'identité américaine
TR24Numéro d'identification turc (TCKN)
MX25RFC mexicain (Personne physique)
CO26NIT colombien
PE27RUC péruvien
CA28Numéro d'assurance sociale canadien (NAS)
DK29CPR danois
GB30Numéro d'assurance nationale britannique (NINO)
PL31PESEL polonais
SE32Numéro personnel suédois (PNR)
CH33Numéro AVS/AHV suisse
AT34Numéro fiscal autrichien (STNR)
FI35Code d'identité personnelle finlandais (HETU)
BE36Numéro national belge (NN)
IT37Codice Fiscale italien (CF)
SE38Numéro de coordination suédois (Samordningsnummer)
NO39Numéro d'identité national norvégien (Fødselsnummer)
PE40DNI péruvien
DE41Numéro d'identification fiscale allemand (IdNr)
NL42Numéro de service citoyen néerlandais (BSN)
NG43Jeton BVN nigérian (haché)
NG44Jeton NIN nigérian (haché)
PT45Numéro d'identification fiscale portugais (NIF)
FR46Numéro de référence fiscale français (SPI)
IE47Numéro personnel de service public irlandais (PPSN)
LU48Numéro d'identification national luxembourgeois (Matricule)
AR49Permis de conduire argentin (Licencia Nacional de Conducir)
ES50Numéro d'identité d'étranger espagnol (NIE)
ES51Document national d'identité espagnol (DNI)
CL52Passeport chilien
CO53Passeport colombien
PE54Passeport péruvien
CO55Permis de conduire colombien (Licencia de Conducción)
CO56Carte de citoyenneté colombienne (Cédula de Ciudadanía)
CL57Permis de conduire chilien (Licencia de Conducir)
MX58Permis de conduire mexicain (Licencia de Conducir)
0Non spécifié
3Identifiant interne Unico

Exemple

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..." }
]
}
}'

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
idstring (UUID)Identifiant du processus.
statusinteger3 (terminé avec succès), 5 (terminé avec échec).
document.idstringIdentifiant du document capturé. Utilisez cette valeur dans les futures requêtes document.documentId pour la réutilisation.
document.typestringType de document identifié, sous forme de nom de dictionnaire complet. Voir valeurs de document.type ci-dessous.
document.cpfMatchbooleantrue si l'identifiant extrait du document correspond à subject.code.
document.faceMatchbooleantrue si le visage sur le document correspond au selfie biométrique de document.authProcessId.
document.contentobjectChamps extraits par OCR. La structure varie selon le type de document — cliquez ici pour les détails des champs.
document.fileUrlsarrayURLs 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 — 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écifiques

Les types de document qui utilisent leur propre schéma de champs — listés sous specific_document_schemas dans la référence des champs — sont présentés dans le tableau ci-dessous :

PaysValeurDocument
BRunico.moja.dictionary.br.rg.v2.RgRG
BRunico.moja.dictionary.br.cnh.v2.CnhCNH (permis de conduire)
BRunico.moja.dictionary.br.cin.v1.CinCIN
BRunico.moja.dictionary.br.passaporte.v1.PassaportePasseport
MXunico.moja.dictionary.mx.ine.v1.IneCarte d'électeur INE
MXunico.moja.dictionary.mx.lpc.v1.LpcLicencia para conducir (permis de conduire)
MXunico.moja.dictionary.mx.pasaporte.v1.PasaportePasseport
unico.moja.dictionary.other.unknown.v1.UnknownLe type n'a pas pu être identifié — document.content est vide

Aucune 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

CodeMessageDescription
99989The document is invalid.L'objet document a une structure invalide.
99988The document is empty.L'objet document est absent du corps de la requête.
20900O 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.
20807A 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.
20509The subject.name field is invalid.subject.name contient des caractères invalides.
20508The subject.gender field is invalid.subject.gender doit être M ou F.
20507O parâmetro subject.code é inválido.Valeur d'identifiant non standard ou inexistante.
20506O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.La taille de l'image dépasse 800 Ko ; compressez en JPEG92.
20505O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.Le format base64 est invalide ou non pris en charge.
20068The document.documentId or document.files parameter must be present.Ni document.documentId ni document.files n'ont été fournis.
20067The document.purpose parameter is invalid.Valeur non reconnue dans document.purpose.
20066The document.authProcessId parameter is invalid.Valeur invalide dans document.authProcessId.
20062The useCase field is invalid.Valeur non reconnue dans le champ useCase.
20021The subject.phone field is invalid.Le format de subject.phone est invalide (IDD + indicatif régional + numéro, 13 caractères).
20019The subject.birthDate field is invalid.subject.birthDate n'est pas au format ISO 8601 (YYYY-MM-DD).
20009O parâmetro imagebase64 não foi informado.Le paramètre d'image du document est manquant.
20008The subject.email field is invalid.Format d'e-mail invalide dans subject.email.
20005O parâmetro subject.code não foi informado.Le paramètre subject.code est manquant.
20004O parâmetro subject não foi informado.Le paramètre subject est manquant.
20003The request body is missing or invalid.Charge utile nulle ou invalide.
20002O parâmetro APIKey não foi informado.Le paramètre APIKEY est absent de l'en-tête de la requête.
20001O 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.
10508The JWT with the captured face has already been used.Le JWT ne peut être utilisé qu'une seule fois.
10507The JWT with the captured face is expired.JWT expiré ; doit être envoyé dans les 10 minutes.
10506The imageBase64 field is not a valid JWT from SDK.Le champ imageBase64 n'est pas un JWT valide généré par le SDK.

Étapes suivantes