code– Um identificador estável e único do erro (por exemplo,BTF-0010). As rejeições do JD SPB repassam o código bruto do fornecedor (por exemplo,AAC90). Falhas no nível de transporte usam o marcador sintéticoTRANSPORT. Use esse valor para comparação, não o status HTTP.service– O serviço ou domínio que produziu o erro (por exemplo,plugin,crm,midaz,fees,jd_spb).category– Categoria de erro legível por máquina para decisões de nova tentativa:deterministic,transient,rate_limitouplugin.message– Orientação detalhada para ajudar você a resolver o erro.requestId– ID de correlação da requisição. Presente mesmo quando vazio. Inclua-o nas solicitações de suporte.fields– Opcional. Metadados estruturados de validação ou nova tentativa (erros por campo, detalhes de limite e outros).
Nas tabelas abaixo, a coluna title é um rótulo legível para facilitar a leitura. Não é um campo do envelope de resposta. O envelope retorna
code, service, category, message e requestId. Use error.code para comparação.Erros do Bank Transfer
Os erros a seguir podem ocorrer ao interagir com os endpoints do Bank Transfer. Cada erro segue a nossa estrutura padrão. Consulte as tabelas abaixo para ver a lista de códigos de erro possíveis, o que eles significam e como resolvê-los.
400
401
403
404
409
410
422
Os erros da integração JD SPB não usam códigos
BTF-*. O código do fornecedor é repassado literalmente no campo error.code do envelope de erro HTTP (por exemplo, ACE95 para tempos limite de requisição, AAC90 para rejeições de assinatura inválida, ALN01 para respostas de número de controle não encontrado). Consulte a documentação do fornecedor JD SPB para a lista completa e a política de nova tentativa correspondente a cada código.429
As respostas de limite de requisições usam a categoria
rate_limit e incluem um header Retry-After. Aplique backoff usando o status HTTP 429 e esse header.
