Erros
A API usa os códigos de status HTTP com o sentido de sempre. Quando a resposta de erro tem corpo,
ele vem em application/problem+json:
{ "type": "https://tools.ietf.org/html/rfc9110#section-15.5.21", "title": "Tipo de evento não cadastrado: 'pedido.pagp'.", "status": 422}Os códigos
Seção intitulada “Os códigos”| Status | Corpo | O que aconteceu | Repetir resolve? |
|---|---|---|---|
400 |
não | O corpo não é JSON válido. | Não |
401 |
não | Chave ausente, inválida ou revogada. | Não |
402 |
sim | Limite ou quota do plano: quota mensal do Free, endpoints ou fontes além do plano. | Não |
404 |
não | O recurso não existe, ou não é do ambiente da chave. | Não |
409 |
sim | Conflito com o estado atual: externalId ou tipo repetido, entrega já na fila. |
Não |
413 |
às vezes | O corpo passa do limite. | Não |
422 |
sim | O pedido é válido como JSON e inválido como pedido. O title diz o motivo. |
Não |
429 |
não | Limite de requisições por segundo. | Sim, depois do Retry-After |
5xx |
às vezes | Erro nosso. | Sim, com espera crescente |
Repetindo com segurança
Seção intitulada “Repetindo com segurança”429: espere os segundos do headerRetry-Aftere repita.5xxe timeout: repita com espera crescente. EmPOST /v1/events, repita com a mesmaIdempotency-Key, e a repetição nunca publica duas vezes. Veja idempotência.4xx: não repita o mesmo pedido. Ele vai falhar igual.
Na URL de ingestão
Seção intitulada “Na URL de ingestão”POST /in/{token} tem um contrato próprio, pensado para o provedor externo que a chama, e responde
202 mesmo com a fonte pausada ou a quota esgotada. Veja
o que o provedor vê.