Endpoint de captura
A grafia dlq-injestion faz parte do contrato atual. Em Self-hosted, substitua o domínio pela base da sua instalação, incluindo /api/v1. Use HTTPS em produção.
POST https://api.rebound-dlq.com/api/v1/dlq-injestionHeaders obrigatórios
| Campo | Regra | Descrição |
|---|---|---|
| Content-Type | application/json | Corpo JSON em UTF-8. |
| x-api-key | Bearer <project-secret> | Segredo do projeto; não é o token de login. |
| x-sdk-timestamp | Inteiro em milissegundos | Unix epoch; tolerância de cinco minutos. |
| x-sdk-signature | HMAC-SHA256 / hex | Assinatura de timestamp + ponto + corpo exato. |
Campos do corpo
| Campo | Regra | Descrição |
|---|---|---|
| fingerprint | Obrigatório · string · 1–200 caracteres | Identidade estável do grupo de erros dentro do projeto. Não use UUID aleatório aqui. |
| payload | Obrigatório · string | JSON criptografado em AES-256-CBC: ivHex:ciphertextHex. Nunca JSON em texto puro. |
| eventId | Opcional no contrato · UUID v4 | Recomendado em toda captura. Identifica a ocorrência e protege contra ocorrências duplicadas em reenvios. |
| error | Opcional · objeto | name (até 255), message, stack e code. Use strings; code numérico também é aceito. |
| flowKey | Opcional · string · até 255 | Identidade do fluxo. Inclua no fingerprint se precisar separar grupos por fluxo. |
| flowLabel | Opcional · string · até 255 | Nome legível do fluxo; envie junto de flowKey. |
| flowStep | Opcional · string · até 255 | Etapa da operação; envie junto de flowKey. |
Confirmação de recebimento
A rota POST usa HTTP 201 por padrão. Valide um status 2xx, success igual a true e dlqId como string não vazia. O identificador devolvido pertence ao evento agrupado; ele não é o eventId da captura.
{
"success": true,
"dlqId": "123"
}Consultar o estado de ingestão
Use os mesmos headers e assine o corpo exato {}. A resposta contém allowed, code, retryable, blockedReason, queueAction, bufferWindowSeconds, recheckAfterSeconds e currentPeriodEnd. É uma consulta, não uma reserva de franquia: o estado pode mudar antes do envio seguinte.
POST /api/v1/dlq-injestion/runtime-state
{}