Erros
Erros
Toda recusa tem um só formato, em qualquer superfície:
{
"error": {
"code": "conflict",
"message": "Outra pessoa salvou este arquivo antes. Leia de novo, refaça a sua mudança sobre a nova versão e salve.",
"retryable": true,
"currentVersion": 4
}
}
- Onde aparece. Em um resultado de ferramenta com
isError: true, como o texto do resultado; nodatade um erro JSON-RPC, entãoerror.data.erroro traz e oerror.codeJSON-RPC continua numérico; e como corpo da resposta de um link de envio ou de download, com o status HTTP que cabe ao código. code. Minúsculas com sublinhado, comoinvalid_arguments,unknown_tool,organization_inactive,rate_limited,credits_exhaustedouinternal. Decida pelocode; o conjunto é fixo.message. Uma frase simples no idioma do pedido, que termina com o próximo passo. Nunca começa com o código.retryable. Sempretrueoufalse. Comtrue, repita a chamada, depois deretryAfterSecondsquando ele vier.- Detalhes. Junto dos três campos, uma recusa pode trazer
currentVersion(a versão sobre a qual refazer a mudança),retryAfterSeconds,failingRecords(os registros que falharam, em um lote) eissues(cada campo inválido e o que ele espera).
Uma falha que a Siglata não esperava responde internal, com retryable verdadeiro e uma mensagem genérica: ela nunca traz texto do banco, de fornecedor ou de pilha.