Pular para o conteúdo principal
Erros e novas tentativas

O envelope de erro, a lista completa de respostas e o que fazer em cada uma.

Markdown

Envelope​

{ "message": "MISSING_CLIENT_ID", "details": [] }

message identifica o erro, e details normalmente é vazio. Quando um fluxo recusa uma requisição, por exemplo por uma imagem inválida, a resposta mantém esse envelope com o motivo em message e details. Veja Recusas.

Referência​

StatusmessageEndpointTentar de novo?
400INVALID_REQUESTcreateNão. Corrija a requisição
400REQUEST_TOO_LARGEcreateNão. Corpo acima de 2 MiB
400MISSING_<FIELD> / INVALID_<FIELD>createNão. <FIELD> é o campo em snake case maiúsculo, por exemplo MISSING_CREDENTIAL_VALUE
401Vazio ("")create, selfieNão. A Unico recusou a chave de acesso. Verifique HUMAN_API_ACCESS_KEY
409CORRELATION_ID_ALREADY_USEDcreateNão. Outro processo tem esse correlationId. Use um novo
422ATTRIBUTE_TYPE_NOT_SUPPORTEDcreateNão. Use um código do catálogo
4xxO message do fluxocreateNão. O processo é armazenado como falho
404PROCESS_NOT_FOUNDget, selfieNão
404SELFIE_NOT_FOUNDselfieNão. O processo não tem selfie disponível
4xxO message da recusaselfieNão
503DATABASE_UNAVAILABLEtodosCreate: veja abaixo. Get e selfie: sim
502UPSTREAM_UNAVAILABLEtodosCreate: veja abaixo. Get e selfie: sim
500INTERNALtodosCreate: veja abaixo

Repetindo uma criação​

Toda criação aceita inicia um novo processo com um novo id, e cada correlationId só pode ser usado uma vez: um já utilizado, por um processo em qualquer estado, é recusado com 409 CORRELATION_ID_ALREADY_USED.

  • 400, 409, 422 e outras recusas: corrija a requisição antes de enviá-la novamente.
  • 503 DATABASE_UNAVAILABLE: nada foi armazenado nem processado. Tente de novo com o mesmo correlationId.
  • 502 e 500: a requisição não foi confirmada. Não tente de novo automaticamente. Para tentar outra vez, envie uma nova criação com um novo correlationId.

Abordagem recomendada para o seu back-end:

  1. Registre cada tentativa antes de chamar o Human Plugin, indexada pelo seu correlationId.
  2. Em 502 ou 500, decida pela sua regra de negócio se deve iniciar uma nova tentativa.
  3. Mantenha as tentativas relacionadas ligadas nos seus registros.

Repetindo uma leitura​

GET, de um processo ou da sua selfie, é seguro de repetir. Use backoff e pare em 404.

Limites de taxa​

O Human Plugin não tem limitador de taxa embutido. Aplique limites no seu gateway, se precisar.