recurso.ação, um aggregateType e uma version de schema de payload. Hoje todos os tipos estão em version: 1. A lista também é servida pela API em GET /events/types e é exatamente o conjunto válido para o campo subscribedEvents de um webhook endpoint.
O
webhook.test é um tipo sintético: ele é entregue apenas pelo endpoint de teste (POST /webhook-endpoints/{id}/test), mas nunca é registrado no log de eventos nem aparece neste catálogo. Por isso ele é rejeitado se você tentar incluí-lo em subscribedEvents. Veja Visão geral.Envelope do evento
Todo evento (listado emGET /events, lido em GET /events/{id} ou entregue no body de um webhook) usa o mesmo envelope:
Envelope
string
Identificador
evt_ + ULID. O ULID dá ordenação cronológica natural: é o cursor de paginação de GET /events e a chave de deduplicação no recebimento de webhooks.string
Organização (tenant) dona do evento. Presente nas respostas de
GET /events e GET /events/{id}.string
Tipo namespaced
recurso.ação (ex.: commission.paid). Sempre um dos valores deste catálogo.integer
Versão do schema do payload para aquele
type. Hoje sempre 1.string
Tipo do agregado a que o evento se refere (ex.:
commission, payout).string
ID do agregado (ex.:
comm_..., pay_..., aff_...).object
Snapshot do fato. Pode ser um diff (
{ before, after }), a entidade completa ou campos específicos, conforme o tipo.object
{ actor: { type, id }, source? }. actor.type é user, api_key ou system.string
Quando o fato ocorreu (ISO-8601). Pode ser definido pelo emissor.
string
Quando o evento foi registrado (ISO-8601).
Listar a taxonomia pela API
O catálogo abaixo é estático, mas você pode lê-lo em tempo de execução, útil para validar dinamicamente os tipos antes de assinar um endpoint:cURL
Resposta (recorte)
Catálogo por domínio
Os tipos abaixo são o catálogo completo. Os domínioswebhook_endpoint.* e reconciliation.* refletem a própria operação dos seus webhooks e a verificação de integridade dos dados; os demais acompanham o ciclo de vida dos recursos de negócio.
program.*: Programas e regras
program.*: Programas e regras
Agregado
program (e commission_rule). Veja Programas e regras.link.* / coupon.*: Divulgação
link.* / coupon.*: Divulgação
Agregados
link e coupon. Veja Links e cupons.click.* / visitor.*: Tracking
click.* / visitor.*: Tracking
Agregados
click, visitor e organization (varredura de retenção de IP). Veja Tracking e Atribuição.conversion.* / fraud.*: Conversões e fraude
conversion.* / fraud.*: Conversões e fraude
Agregado
conversion. Veja Conversões e fraude.commission.*: Comissões
commission.*: Comissões
Agregado
commission. Veja Comissões.payout.*: Payouts
payout.*: Payouts
Agregado
payout. Veja Payouts.invoice.*: Fiscal
invoice.*: Fiscal
Agregado
invoice. Veja Fiscal.reprocess.*: Reprocessamento
reprocess.*: Reprocessamento
Agregados
reprocess_job e commission. Veja Reprocessamento.settings.*: Configurações
settings.*: Configurações
Eventos emitidos quando as configurações da organização mudam.
webhook_endpoint.*: Webhooks de saída
webhook_endpoint.*: Webhooks de saída
Agregado
webhook_endpoint. Secrets aparecem mascarados (rwhs_***1234) nos payloads. Veja Visão geral e Assinatura.reconciliation.*: Reconciliação de dados
reconciliation.*: Reconciliação de dados
Verificação diária de integridade que confere se o estado atual dos recursos financeiros (comissões, payouts, conversões e notas fiscais) bate com o histórico de eventos. Ator sempre
system. Veja Event store.Atores (metadata.actor)
Cada evento carrega quem o originou. O actor.type ajuda a distinguir ações de usuário de processos automáticos:
Eventos como
payout.*, commission.approved, commission.paid, webhook_endpoint.disabled e os de reconciliation.* são tipicamente emitidos por jobs internos e chegam com actor.type: "system".Consumindo o catálogo
Há duas formas de consumir esses eventos:Pull: GET /events
Liste e filtre o log por tipo, agregado, ator e período, com paginação por cursor ULID. O log é um recurso de primeira classe da API.
Push: Webhooks
Assine um subconjunto da taxonomia por endpoint e receba os eventos por HTTP, com assinatura HMAC e retries.
Filtrando o log por tipo
cURL
types repetido, por aggregate_type/aggregate_id, por actor_type e por período (occurred_since inclusivo, occurred_until exclusivo). Para detalhes de parâmetros e do formato de paginação, veja a aba Referência da API, Paginação e Event store.
Assinando um subconjunto em um webhook
O camposubscribedEvents aceita apenas tipos deste catálogo (mínimo de 1). Um tipo desconhecido (inclusive webhook.test) é rejeitado com 400 parameter_invalid.
cURL
Próximos passos
Assinatura HMAC
Como verificar o header
Repass-Signature e proteger seus endpoints contra replay.Retries e dead letter
Cronograma de tentativas, auto-disable e replay manual de entregas.
Event store
O log imutável de eventos como recurso de API: filtros, cursor e auditoria.
Conversões server-to-server
Gere
conversion.created e seus eventos de comissão a partir do seu backend.