Erros e boas práticas

Envelope de erro, códigos HTTP e tabela de code por situação.

Padrão de erro
{
  "success": false,
  "error": "Mensagem de erro",
  "code": "CODIGO_OPCIONAL"
}

Códigos HTTP

CódigoSignificado
200 / 201 / 202Sucesso (sync / criado / enfileirado)
400Validação / estado inválido
401API key ausente ou inválida
403Escopo insuficiente
404Recurso não encontrado no workspace
409Idempotência em andamento
413Payload / arquivo grande demais
429Rate limit ou quota mensal
500Erro interno

Tabela de code (comum)

codeHTTPSituação
IDEMPOTENCY_KEY_REQUIRED400Faltou Idempotency-Key onde é obrigatório
IDEMPOTENCY_IN_PROGRESS409Mesma chave ainda pending/scheduled/processing
workspace_quota_exceeded429Cota mensal de envios esgotada
INVALID_PHONE_E164400Telefone fora de E.164 no upsert/contato
UPSERT_KEY_REQUIRED400Upsert sem phone/email
STAGE_PIPELINE_MISMATCH400Stage de outro pipeline no deal
DELIVERY_ALREADY_SUCCEEDED400Retry de delivery já com sucesso
EXECUTION_NOT_CANCELLABLE400Cancel de execução que não está WAITING
NOT_FOUND404Recurso / delivery / execução ausente no tenant
UNAUTHORIZED401API key inválida no controller
INVALID_WEBHOOK_EVENTS400Eventos de webhook inválidos

Boas práticas

  • Trate 429 com backoff honrando Retry-After.
  • Use HTTPS; nunca exponha a API key no browser.
  • Valide assinatura HMAC dos webhooks.
  • Prefira Idempotency-Key estável por intenção de negócio.