Webhooks e eventos
Catálogo de eventos de domínio do OSBPulse, payloads e o modelo de entrega HTTP outbound.
O Pulse emite eventos de domínio quando algo relevante acontece na organização (oportunidade ganha, pedido fechado, pagamento na loja, etc.). Esses eventos alimentam:
- Automação (regras if/then dentro do produto) — vários eventos já estão disponíveis
- Webhooks outbound (HTTP POST para a URL da sua aplicação) — módulo Plataforma, em liberação
A tabela abaixo é o contrato público v1. Ao adicionar ou alterar um evento de forma incompatível, publicaremos uma nova versão do identificador.
Modelo de entrega (webhook outbound)
Quando o módulo Plataforma estiver ativo na organização:
- Você cadastra um endpoint (URL HTTPS) e escolhe quais eventos deseja receber.
- Em cada evento inscrito, o Pulse enfileira um
POSTJSON para a sua URL. - A requisição inclui assinatura HMAC (cabeçalhos
X-Pulse-SignatureeX-Pulse-Timestamp) para você validar a origem. - Falhas temporárias são retentadas de forma assíncrona; use o identificador do evento para garantir idempotência no seu lado.
A UI de cadastro de endpoints e a entrega HTTP entram com o módulo Plataforma. O catálogo de eventos abaixo já pode ser usado para planejamento e, onde indicado, na Automação.
Formato previsto do corpo
{
"id": "evt_…",
"trigger": "sales.opportunity.won",
"organization_id": 123,
"occurred_at": "2026-08-03T18:00:00.000Z",
"entity_type": "sales_opportunity",
"entity_id": 456,
"data": { }
}
O objeto data segue os campos listados por evento (notação ponto na documentação = caminhos no JSON).
Webhooks de entrada (provedores de pagamento)
Além dos eventos do Pulse para o seu sistema, a loja online e a cobrança bancária recebem callbacks dos provedores (Stripe, Mercado Pago, etc.) em rotas internas do Pulse. Esses endpoints são configurados na integração do módulo — não fazem parte do catálogo abaixo.
Catálogo
A listagem detalhada (domínio, disponibilidade e campos) é renderizada nesta página a partir do catálogo oficial do produto.
Vendas
| Evento | Descrição | Emissão | Automação | Webhook |
|---|---|---|---|---|
sales.opportunity.createdOportunidade — Criada | Uma oportunidade foi criada no funil. Campos do payload: opportunity.id, opportunity.des_title, opportunity.num_value, opportunity.id_user_owner, client.id, client.des_name | Emitido hoje | Sim | Webhook em breve |
sales.opportunity.stage_changedOportunidade — Mudou de estágio | A oportunidade mudou de estágio no funil. Campos do payload: opportunity.id, opportunity.des_title, opportunity.num_value, opportunity.id_stage_from, opportunity.id_stage_to, client.id, client.des_name | Emitido hoje | Sim | Webhook em breve |
sales.opportunity.wonOportunidade — Ganha | A oportunidade foi marcada como ganha. Campos do payload: opportunity.id, opportunity.des_title, opportunity.num_value, opportunity.id_user_owner, client.id, client.des_name, bol_notify_team, bol_notify_managers | Emitido hoje | Sim | Webhook em breve |
sales.opportunity.lostOportunidade — Perdida | A oportunidade foi marcada como perdida. Campos do payload: opportunity.id, opportunity.des_title, opportunity.num_value, opportunity.id_loss_reason, client.id, client.des_name, bol_notify_team, bol_notify_managers | Emitido hoje | Sim | Webhook em breve |
Comercial
| Evento | Descrição | Emissão | Automação | Webhook |
|---|---|---|---|---|
commercial.order.closedPedido — Fechado | Um pedido comercial foi fechado. Campos do payload: order.id, order.num_total, client.id, client.des_name | No catálogo (emissão em alinhamento) | Sim | Webhook em breve |
RH
| Evento | Descrição | Emissão | Automação | Webhook |
|---|---|---|---|---|
hr.employee.createdFuncionário — Cadastrado | Um funcionário foi cadastrado (wizard, criação rápida ou importação). Campos do payload: employee.id, employee.des_name, employee.dta_admission, employee.num_employment_type, employee.id_hr_department, employee.id_hr_job_title, employee.id_employee_manager, employee.id_user, employee.id_user_manager, employee.des_department_name, employee.des_job_title_name, employee.num_salary, employee.bol_user_created | Emitido hoje | Sim | Webhook em breve |
E-commerce
| Evento | Descrição | Emissão | Automação | Webhook |
|---|---|---|---|---|
ecommerce.order.paidPedido loja — Pago | Pedido da loja online confirmado como pago pelo provedor. Campos do payload: order.id, order.num_total, payment.provider | Emitido hoje | Não | Webhook em breve |