Pular para o conteúdo

↑↓ navegar ↵ abrir Ctrl↵ nova aba esc fechar

Registra um evento de captura usando o token publicável. É o endpoint que o snippet chama, e você pode chamá-lo direto se preferir não carregar o script.

POST https://api.rapidchargeback.com/api/v1/capture/{token}/events

Nenhuma. O token publicável na URL identifica o merchant.

Content-Type: application/json

O token não é segredo e pode ficar no HTML da sua loja. Ele só permite escrever, e o evento só vira evidência se corresponder a um pedido real seu.

CampoTipoDescrição
tokenstringToken publicável do merchant, gerado no painel
CampoTipoDescriçãoObrigatório
typestring (enum)checkout, terms_acceptance, access_log ou usage_logSim
order_refstringIdentificador do pedido no seu sistema, até 100 caracteresSim
event_idstringIdentificador do evento, gerado por você, até 64 caracteresSim
payloadobjetoDados do fato, com campos de lista fechadaNão

A referência completa dos valores aceitos está em Tipos e payload.

Dois pontos específicos deste canal:

  • event_id é obrigatório aqui. Gere um UUID por evento
  • captured_at enviado no corpo é ignorado. A Rapid registra o horário de chegada. Para informar o horário do fato, use o canal servidor

Os tipos delivery_confirmation, scan e delivery_gps não existem neste canal: são fatos da sua operação, não do navegador do comprador.

120 requisições por minuto, por IP de origem. É folgado para um checkout real e aperta quem estiver usando o token fora do seu site.

RegraResposta
Token desconhecido, inativo ou sem merchant404 NOT_FOUND
type ausente, ou fora dos quatro aceitos neste canal422 VALIDATION_ERROR: invalid_type
order_ref ausente, vazio ou acima de 100 caracteres422 VALIDATION_ERROR: invalid_order_ref
event_id ausente, vazio ou acima de 64 caracteres422 VALIDATION_ERROR: invalid_event_id
Campo de texto do payload acima de 512 caracteres422 VALIDATION_ERROR: payload_too_large
Acima de 120 requisições por minuto429 Too Many Requests

Não existe erro para order_ref inexistente. O evento é aceito, fica na fila e é descartado se nenhuma transação corresponder dentro da janela de correlação. Ver Janela de correlação.

Terminal window
curl -X POST https://api.rapidchargeback.com/api/v1/capture/seu_token_publicavel/events \
-H "Content-Type: application/json" \
-d '{
"type": "terms_acceptance",
"order_ref": "TXN-2026-001",
"event_id": "019b0000-1111-7000-8000-000000000001",
"payload": { "url": "https://loja.exemplo.com/checkout" }
}'

Evento de checkout com identificação do aparelho:

Terminal window
curl -X POST https://api.rapidchargeback.com/api/v1/capture/seu_token_publicavel/events \
-H "Content-Type: application/json" \
-d '{
"type": "checkout",
"order_ref": "TXN-2026-001",
"event_id": "019b0000-1111-7000-8000-000000000002",
"payload": {
"device_id": "8kJ2mQvR1nZxYb0T",
"device_fingerprint": "8kJ2mQvR1nZxYb0T",
"fp": "pro",
"fp_request_id": "1712059781234.Xk9Lp2"
}
}'
{ "accepted": true }

202 quer dizer que o evento entrou na fila, não que já virou evidência. A correlação com a transação acontece depois.

{ "error": { "code": "NOT_FOUND" } }
{
"error": {
"code": "VALIDATION_ERROR",
"message": "invalid_type"
}
}
{
"error": {
"code": "VALIDATION_ERROR",
"message": "invalid_event_id"
}
}
{
"error": {
"code": "VALIDATION_ERROR",
"message": "payload_too_large"
}
}