El envoltorio del error, la lista completa de respuestas y qué hacer ante cada una.
Envoltorio
{ "message": "MISSING_CLIENT_ID", "details": [] }
message identifica el error, y details suele estar vacío. Cuando un flujo rechaza una solicitud, por ejemplo por una imagen inválida, la respuesta mantiene este envoltorio con el motivo en message y details. Consulte Rechazos.
Referencia
| Estado | message | Endpoint | ¿Reintentar? |
|---|---|---|---|
| 400 | INVALID_REQUEST | create | No. Corrija la solicitud |
| 400 | REQUEST_TOO_LARGE | create | No. Cuerpo superior a 2 MiB |
| 400 | MISSING_<FIELD> / INVALID_<FIELD> | create | No. <FIELD> es el campo en mayúsculas con guiones bajos, por ejemplo MISSING_CREDENTIAL_VALUE |
| 401 | Vacío ("") | create, selfie | No. Unico rechazó la clave de acceso. Revise HUMAN_API_ACCESS_KEY |
| 409 | CORRELATION_ID_ALREADY_USED | create | No. Otro proceso tiene ese correlationId. Use uno nuevo |
| 422 | ATTRIBUTE_TYPE_NOT_SUPPORTED | create | No. Use un código del catálogo |
| 4xx | El message del flujo | create | No. El proceso se almacena como fallido |
| 404 | PROCESS_NOT_FOUND | get, selfie | No |
| 404 | SELFIE_NOT_FOUND | selfie | No. El proceso no tiene selfie disponible |
| 4xx | El message del rechazo | selfie | No |
| 503 | DATABASE_UNAVAILABLE | todos | Create: vea más abajo. Get y selfie: sí |
| 502 | UPSTREAM_UNAVAILABLE | todos | Create: vea más abajo. Get y selfie: sí |
| 500 | INTERNAL | todos | Create: vea más abajo |
Reintentar una creación
Cada creación aceptada inicia un proceso nuevo con un id nuevo, y cada correlationId puede usarse una sola vez: uno ya utilizado, por un proceso en cualquier estado, se rechaza con 409 CORRELATION_ID_ALREADY_USED.
- 400, 409, 422 y otros rechazos: corrija la solicitud antes de enviarla de nuevo.
- 503
DATABASE_UNAVAILABLE: no se almacenó ni se procesó nada. Reintente con el mismocorrelationId. - 502 y 500: la solicitud no fue confirmada. No reintente automáticamente. Para volver a intentarlo, envíe una nueva creación con un
correlationIdnuevo.
Enfoque recomendado para su back-end:
- Registre cada intento antes de llamar a Human Plugin, con su
correlationIdcomo clave. - Ante un
502o un500, decida según su regla de negocio si inicia un nuevo intento. - Mantenga vinculados en sus registros los intentos relacionados.
Reintentar una lectura
GET, de un proceso o de su selfie, se puede reintentar con seguridad. Use backoff y deténgase ante un 404.
Límites de tasa
Human Plugin no tiene un limitador de tasa integrado. Aplique límites en su gateway si los necesita.