Pular para o conteúdo

↑↓ navegar ↵ abrir Ctrl↵ nova aba esc fechar

Referência dos valores aceitos nos dois canais de captura. Vale para POST /capture/{token}/events e POST /capture/events.

CampoTipoLimiteObrigatório
typestring (enum)ver tabela abaixoSim
order_refstring100 caracteresSim
event_idstring64 caracteresSim no navegador, opcional no servidor
payloadobjetover campos aceitosNão
captured_atstring (ISO 8601)-Não, e só o canal servidor usa
merchant_idstring (UUID)-Só no canal servidor

É o identificador do pedido no seu sistema, e é a única coisa que liga o evento a uma transação. A Rapid procura, dentro da sua empresa e do merchant informado:

  1. uma transação com external_id igual ao order_ref
  2. se não achar, uma transação com order_number igual ao order_ref

Mande sempre o mesmo valor que você usou no external_id ao criar a transação. order_ref errado não gera erro na chamada: o evento é aceito, não acha transação e é descartado depois da janela de correlação.

Identificador do evento, gerado por você. Serve de chave de idempotência: reenviar o mesmo event_id para o mesmo merchant não cria evidência duplicada.

No canal navegador ele é obrigatório (o snippet gera um UUID por evento). No canal servidor, se você omitir, a Rapid gera um. Mande o seu quando puder reenviar a mesma chamada, é o que garante a idempotência.

Não use : no event_id. O caractere é removido antes do uso interno, o que faria dois ids diferentes colidirem.

Quando o fato aconteceu, em ISO 8601.

CanalComportamento
Navegadorignorado. A Rapid registra o horário em que o evento chegou
Servidorusado como enviado. Omitido, vale o horário da chamada

Se o fato aconteceu antes da chamada (um processamento em lote à noite, por exemplo), use o canal servidor e informe captured_at.

ValorO que registraNavegadorServidor
checkoutFinalização da compra, com os dados do aparelhoSimSim
terms_acceptanceAceite de termos, política ou contratoSimSim
access_logAcesso ao produto ou à área logadaSimSim
usage_logUso efetivo do produto ou serviçoSimSim
delivery_confirmationEntrega confirmadaNãoSim
scanLeitura de código de rastreio em trânsitoNãoSim
delivery_gpsCoordenada da entregaNãoSim

Os três últimos existem só no canal servidor: são fatos da sua operação, não do navegador do comprador. Usá-los no canal navegador responde 422 invalid_type.

O payload tem lista fechada de campos. Chave fora da lista é descartada em silêncio, sem erro, então confira a grafia.

CampoTipoUsar em
device_idstringcheckout
device_fingerprintstringcheckout
fpstringcheckout, indica a origem da identificação (pro ou fallback)
fp_request_idstringcheckout, exigido para validar a identificação
urlstringterms_acceptance, access_log, usage_log
notestringqualquer tipo
carrierstringdelivery_confirmation, scan
trackingstringdelivery_confirmation, scan
latnúmerodelivery_gps
lngnúmerodelivery_gps

Regras:

  • só valores escalares (string, número, booleano). Objeto e lista são descartados
  • string acima de 512 caracteres responde 422 payload_too_large
  • payload ausente ou vazio é aceito

O checkout é o único tipo que grava dados direto na transação, e não apenas como registro anexo. Ele preenche aparelho e IP da transação somente quando os campos estão vazios: captura anterior nunca é sobrescrita.

O que cada canal pode gravar:

Dado da transaçãoNavegadorServidor
device_idnão gravagrava
device_fingerprintsó com identificação validadagrava
ip_addresssó com identificação validadagrava

A diferença existe porque o token do navegador é publicável: qualquer pessoa com ele pode mandar eventos. Dado não validado não encosta nos campos que sustentam a defesa.

Identificação validada quer dizer: você mandou fp_request_id e device_id no payload, e a Rapid confirmou o par contra o Fingerprint do lado servidor. Nesse caso o evento também gera um registro de verificação de aparelho, com os sinais de bot, VPN e janela anônima. Sem fp_request_id, o evento continua valendo como registro, apenas sem a parte de aparelho.

Cada fp_request_id vale para uma transação. O mesmo par reaproveitado em outro pedido é tratado como repetição e ignorado.

O evento pode chegar antes da transação existir. Ele fica na fila e é retentado por cerca de 68 horas, em intervalos crescentes. Passada a janela sem transação correspondente, o evento é descartado.

Na prática: mandar o checkout no exato momento da compra funciona, mesmo que a sua rotina só envie a transação à Rapid horas depois.