Aller au contenu principal

Vérification de l'âge

Pour le flux d'intégration complet, voir Vue d'ensemble de l'API.

Endpoint

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 -- doit avoir les capacités de Vérification de l'âge activées.
Content-Typeapplication/json
Paramètres du corps
ChampTypeRequisDescription
subjectobjectouiConteneur d'informations de l'utilisateur.
subject.codestringconditionnelCPF (BR) ou CURP (MX), sans formatage. Requis lorsque le flux inclut la Détection de Vie ou la Vérification d'identité (voir capacité Vérification de l'âge) ; non requis pour les flux de Vérification de l'âge uniquement.
subject.namestringnonNom complet de l'utilisateur.
subject.genderstringnonM pour masculin ou F pour féminin.
subject.birthDatestring (ISO 8601)nonDate de naissance (AAAA-MM-JJ).
subject.emailstringnonAdresse e-mail de l'utilisateur.
subject.phonestringnonNuméro de téléphone : indicatif pays + indicatif régional + numéro, sans séparateurs (ex. 5519725570707).
useCasestringnonIdentifiant du cas d'utilisation de l'opération.
subsidiaryIdstringnonID de la succursale -- requis uniquement si plusieurs succursales existent.
imageBase64stringouiSortie chiffrée du SDK ou image en base64 (PNG, JPEG, WebP).
Exigences d'image
  • Résolution minimale : 640 x 480 (standard HD)
  • Taille maximale du fichier : 800 Ko (compression JPEG92 recommandée)
  • Les jetons JWT du SDK expirent après 10 minutes et ne peuvent être utilisés qu'une seule fois

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": {
"code": "12345678909",
"name": "Luke Skywalker",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "AgeVerification",
"imageBase64": "/9j/4AAQSkZJR..."
}'

Réponses

200 OK

Les champs de réponse retournés dépendent des capacités activées pour votre APIKEY.

Vérification de l'âge uniquement (sans Détection de Vie, sans Vérification d'identité) :

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"idAge": { "result": "yes" }
}

Vérification de l'âge + Détection de Vie + Vérification d'identité :

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": { "result": "yes" },
"idAge": { "result": "yes" },
"liveness": 1
}
ChampTypeDescription
idstring (UUID)Identifiant du processus. Utilisez-le avec Get Process pour les re-requêtes.
statusinteger3 (terminé avec succès), 5 (erreur). N'utilisez que status = 3 pour les décisions métier. Pour toutes les valeurs possibles, voir Get Process.
idAge.resultstringyes, no, inconclusive -- Résultat de la Vérification de l'âge. Présent dans toutes les réponses.
unicoId.resultstringyes, no, inconclusive -- présent uniquement lorsque la Vérification d'identité est activée.
livenessinteger1 (réussi), 2 (échoué) -- présent uniquement lorsque la Détection de Vie est activée.
400 Bad Request

Le payload est malformé, l'image est invalide ou des champs requis sont manquants.

403 Forbidden

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

409 Conflict

Le processId fourni existe déjà pour ce tenant. Voir les Codes d'erreur ci-dessous.

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.

500 Internal Server Error

Erreur serveur inattendue.

Codes d'erreur

CodeMessageDescription
20900O base64 informado não é válido.Paramètre base64 invalide ; problème potentiel d'image ou 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 est en dessous du seuil minimum.
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 malformée ou inexistante. Ne se déclenche que lorsque la Détection de Vie ou la Vérification d'identité est incluse dans le flux -- non requis pour les flux de Vérification de l'âge uniquement.
20506O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.Le payload dépasse 800 Ko ; compressez en JPEG92.
20505O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.Format non pris en charge ou préfixe base64 invalide.
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 (AAAA-MM-JJ).
20009O parâmetro imagebase64 não foi informado.Paramètre d'image selfie manquant.
20008The subject.email field is invalid.Format d'e-mail invalide dans subject.email.
20005O parâmetro subject.code não foi informado.Paramètre subject.code manquant. Ne se déclenche que lorsque la Détection de Vie ou la Vérification d'identité est incluse dans le flux -- non requis pour les flux de Vérification de l'âge uniquement.
20004O parâmetro subject não foi informado.Objet subject manquant.
20003The request body is missing or invalid.Payload nul ou malformé.
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.
10508The JWT with the captured face has already been used.Le JWT ne peut être consommé qu'une seule fois.
10507The JWT with the captured face is expired.Le JWT dépasse la fenêtre de validité de 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.

Prochaines étapes

  • Pour interroger un processus existant, voir Get Process.