Saltar al contenido principal
Errores y reintentos

El envoltorio del error, la lista completa de respuestas y qué hacer ante cada una.

Markdown

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​

EstadomessageEndpoint¿Reintentar?
400INVALID_REQUESTcreateNo. Corrija la solicitud
400REQUEST_TOO_LARGEcreateNo. Cuerpo superior a 2 MiB
400MISSING_<FIELD> / INVALID_<FIELD>createNo. <FIELD> es el campo en mayúsculas con guiones bajos, por ejemplo MISSING_CREDENTIAL_VALUE
401Vacío ("")create, selfieNo. Unico rechazó la clave de acceso. Revise HUMAN_API_ACCESS_KEY
409CORRELATION_ID_ALREADY_USEDcreateNo. Otro proceso tiene ese correlationId. Use uno nuevo
422ATTRIBUTE_TYPE_NOT_SUPPORTEDcreateNo. Use un código del catálogo
4xxEl message del flujocreateNo. El proceso se almacena como fallido
404PROCESS_NOT_FOUNDget, selfieNo
404SELFIE_NOT_FOUNDselfieNo. El proceso no tiene selfie disponible
4xxEl message del rechazoselfieNo
503DATABASE_UNAVAILABLEtodosCreate: vea más abajo. Get y selfie: sí
502UPSTREAM_UNAVAILABLEtodosCreate: vea más abajo. Get y selfie: sí
500INTERNALtodosCreate: 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 mismo correlationId.
  • 502 y 500: la solicitud no fue confirmada. No reintente automáticamente. Para volver a intentarlo, envíe una nueva creación con un correlationId nuevo.

Enfoque recomendado para su back-end:

  1. Registre cada intento antes de llamar a Human Plugin, con su correlationId como clave.
  2. Ante un 502 o un 500, decida según su regla de negocio si inicia un nuevo intento.
  3. 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.