Guia

Erros e limites

Todo erro volta como JSON com um detail que explica o que houve. A regra de ouro da cobrança nas falhas: falha nossa nunca cobra; tentativa feita sempre cobra.

Formato do erro

{ "detail": "Rate limit exceeded" }

Códigos

CódigoQuandoCobra?
401Chave ausente, desconhecida, revogada ou desativada.não
403Chave válida, mas sem o escopo buybox:read.não
404Marketplace que não atendemos. Nada foi tentado.não
422Lote vazio, acima de 200 itens, ou month fora do formato YYYY-MM.não
429Acima do rate limit da chave (header Retry-After em segundos).não
501Rota reservada, ainda não implementada (fase 2).não
503Indisponibilidade nossa. Nada foi cobrado; repita a chamada.não

Item que não tem buybox, ou que não monitoramos, não é 404: é 200 com status: EMPTY, e é cobrado - a tentativa aconteceu. Só o marketplace dá 404. Veja o guia do buybox.

Rate limit

O limite é por chave: 120 requests por minuto por padrão, ajustável no seu contrato. Acima dele a API responde 429 com o header Retry-After dizendo em quantos segundos a janela reabre.

HTTP/1.1 429 Too Many Requests
Retry-After: 37

{ "detail": "Rate limit exceeded" }

Como tratar 503

O 503 na leitura significa que preferimos não servir o dado a servir sem registrar a cobrança - nada foi cobrado e nada foi entregue. Repita a chamada; com backoff simples (1s, 2s, 4s) é suficiente.