error. As respostas bem-sucedidas nunca a incluem.
message e mantêm error fixo em "Unauthorized":
code estável que você pode usar para comparação e,
às vezes, um objeto context com identificadores relacionados:
error como texto para pessoas e
code como o valor para tomar decisões no seu código.
Códigos de status
Validação de parâmetros
Cada endpoint valida seus parâmetros antes de executar qualquer ação. Uma verificação com falha retorna422 com uma mensagem
que nomeia o parâmetro, por exemplo:
Tipos incorretos e valores fora de uma lista permitida falham da mesma forma, com uma mensagem que nomeia o parâmetro.
Compare pelo código de status e pelo nome do parâmetro, e não pela frase exata.
Erros de negócio
As regras de negócio retornam422 com uma frase descritiva, por exemplo
"no shipping_label with id 99 was found.". Cada endpoint na referência da API lista as mensagens que pode
retornar. Algumas mensagens são retornadas no idioma do país do armazém (espanhol ou português) quando
vêm do lado da operação; a referência as mostra literalmente.
Exceções a observar
Alguns endpoints ainda não seguem os padrões acima. Trate-os explicitamente:- Erros com status
200.POST /orders/cancel,POST /orders/delete,PATCH /orders/{id}/holdePATCH /orders/{id}/unholdpodem responder200com uma chaveerror, por exemplo quando o pedido está em um status que não permite a ação. Verifique se o corpo contémerrormesmo com200. - Click and collect. Esses endpoints respondem
404com umcodecomoORDER_NOT_FOUND, e o corpo do500é{"error": "unexpected_error", "timestamp": 1760000000}. - Criação de pedidos.
POST /orders,POST /orders/create-and-shipePOST /brazil/ordersrespondem500com{"error": "unexpected error"}e sem timestamp. - Identificadores desconhecidos. Alguns endpoints respondem
500em vez de422para umstore_idoushipping_method_idque não existe. Verifique os identificadores antes de tentar novamente um500.