Aller au contenu principal

Get Reusable Documents

Utilisez ce endpoint pour vérifier si un utilisateur dispose déjà d'un document disponible pour réutilisation avant de démarrer un nouveau flux de capture de document. Si un document est trouvé, son documentId peut être transmis directement à POST /processes/v1 (type Document) pour ignorer l'étape de capture.

Endpoint

EnvironnementURL
ProductionGET https://api.id.unico.app/documents/v1
SandboxGET https://api.id.uat.unico.app/documents/v1

Requête

En-têtes
En-têteValeur
AuthorizationBearer <access_token> (voir Authentification)
APIKEYClé API provisionnée avec la Capture de documents et réutilisation activée.
Paramètres de requête
ParamètreTypeRequisDescription
codestringouiIdentifiant de l'utilisateur (CPF ou CURP, sans formatage).
typestringouiType de document à rechercher. Valeurs acceptées : BR_RG, BR_CNH, BR_CIN, BR_PASSPORT.
remarque

Les valeurs de type ci-dessus sont spécifiques à ce endpoint. Ne les confondez pas avec :

  • subject.duiType dans les requêtes POST -- utilise le préfixe DUI_TYPE_* et identifie la personne, pas le type de document (ex. : DUI_TYPE_BR_CPF).
  • documentType dans la réponse -- utilise le chemin complet du registre (ex. : unico.moja.dictionary.br.cnh.v2.Cnh).

Exemple

curl -X GET "https://api.id.unico.app/documents/v1?code=12345678909&type=BR_CNH" \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY"

Réponses

200 OK
{
"items": [
{
"documentType": "unico.moja.dictionary.br.cnh.v2.Cnh",
"documentId": "doc-abc-123"
}
]
}
ChampTypeDescription
itemsarrayListe des documents réutilisables trouvés pour l'utilisateur. Tableau vide si aucun document réutilisable n'a été trouvé pour le code et le type donnés.
items[].documentTypestringIdentifiant du type de document. Valeurs possibles : unico.moja.dictionary.br.rg.v2.Rg, unico.moja.dictionary.br.cnh.v2.Cnh, unico.moja.dictionary.br.cin.v1.Cin, unico.moja.dictionary.br.passaporte.v1.Passaporte.
items[].documentIdstringIdentifiant du document. Transmettez cette valeur dans document.documentId lors de POST /processes/v1 pour réutiliser le document.
403 Forbidden

Le Bearer token ou l'APIKEY est manquant, expiré ou invalide.

429 Too Many Requests

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 refroidissement (backoff) : Arrêtez ou limitez immédiatement les requêtes suivantes de votre système. Ne réessayez pas continuellement les requêtes échouées en boucle serrée.
  • Mise en file d'attente et limitation : Mettez en 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 tentatives (ex. : 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.
avertissement

Frapper continuellement un endpoint limité en débit sans faire 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é assure 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, voir Limites de débit.

Utilisation du documentId pour la réutilisation

Une fois que vous avez un documentId, transmettez-le dans la requête de processus Document pour ignorer la capture :

{
"subject": {
"code": "12345678909",
"name": "Luke Skywalker"
},
"document": {
"purpose": "onboarding",
"authProcessId": "<biometric-process-id>",
"documentId": "doc-abc-123"
}
}
ChampDescription
document.purposeObjectif commercial de ce processus de document. Valeurs acceptées : creditprocess, carpurchase, paybypaycheck, onboarding, fgts. Ces valeurs sont spécifiques à l'API Document et diffèrent de l'enum purpose du SDK biométrique.
document.authProcessIdID du processus biométrique précédemment créé pour cet utilisateur (issu de POST /processes/v1).
document.documentIdID du document obtenu à partir de la réponse de ce endpoint. Lorsqu'il est fourni, document.files peut être omis -- la plateforme récupère automatiquement le document précédemment capturé.

Pour le schéma complet de la requête de processus Document, voir Créer un processus Document.

Codes d'erreur

CodeMessageDescription
20507O parâmetro subject.code é inválido.Valeur d'identifiant malformée ou inexistante (CPF ou CURP).
20002O parâmetro APIKey não foi informado.En-tête APIKEY manquant.
20001O parâmetro authtoken não foi informado.En-tête de jeton d'authentification manquant.