L'enveloppe d'erreur, la liste complète des réponses et la marche à suivre pour chacune.
Enveloppe
{ "message": "MISSING_CLIENT_ID", "details": [] }
message identifie l'erreur, et details est généralement vide. Lorsqu'un flux refuse une requête, par exemple à cause d'une image invalide, la réponse conserve cette enveloppe avec la raison dans message et details. Voir Refus.
Référence
| Statut | message | Endpoint | Réessayer ? |
|---|---|---|---|
| 400 | INVALID_REQUEST | création | Non. Corrigez la requête |
| 400 | REQUEST_TOO_LARGE | création | Non. Corps supérieur à 2 MiB |
| 400 | MISSING_<FIELD> / INVALID_<FIELD> | création | Non. <FIELD> est le champ en snake case majuscule, par exemple MISSING_CREDENTIAL_VALUE |
| 401 | Vide ("") | création, selfie | Non. Unico a refusé la clé d'accès. Vérifiez HUMAN_API_ACCESS_KEY |
| 409 | CORRELATION_ID_ALREADY_USED | création | Non. Un autre processus a ce correlationId. Utilisez-en un nouveau |
| 422 | ATTRIBUTE_TYPE_NOT_SUPPORTED | création | Non. Utilisez un code du catalogue |
| 4xx | Le message du flux | création | Non. Le processus est enregistré comme échoué |
| 404 | PROCESS_NOT_FOUND | lecture, selfie | Non |
| 404 | SELFIE_NOT_FOUND | selfie | Non. Aucun selfie n'est disponible pour le processus |
| 4xx | Le message du refus | selfie | Non |
| 503 | DATABASE_UNAVAILABLE | tous | Création : voir ci-dessous. Lecture et selfie : oui |
| 502 | UPSTREAM_UNAVAILABLE | tous | Création : voir ci-dessous. Lecture et selfie : oui |
| 500 | INTERNAL | tous | Création : voir ci-dessous |
Rejouer une création
Chaque création acceptée démarre un nouveau processus avec un nouvel id, et chaque correlationId ne peut être utilisé qu'une fois : un correlationId déjà utilisé, par un processus dans n'importe quel état, est refusé avec 409 CORRELATION_ID_ALREADY_USED.
- 400, 409, 422 et autres refus : corrigez la requête avant de la renvoyer.
- 503
DATABASE_UNAVAILABLE: rien n'a été stocké ni traité. Réessayez avec le mêmecorrelationId. - 502 et 500 : la requête n'a pas été confirmée. Ne réessayez pas automatiquement. Pour réessayer, envoyez une nouvelle création avec un nouveau
correlationId.
Approche recommandée pour votre back-end :
- Enregistrez chaque tentative avant d'appeler Human Plugin, avec son
correlationIdcomme clé. - En cas de
502ou500, décidez selon votre règle métier s'il faut lancer une nouvelle tentative. - Gardez les tentatives liées entre elles dans vos enregistrements.
Rejouer une lecture
GET, pour un processus ou son selfie, peut être rejoué sans risque. Utilisez un backoff et arrêtez-vous sur 404.
Limites de débit
Human Plugin n'a pas de limiteur de débit intégré. Appliquez des limites au niveau de votre passerelle si nécessaire.