Docs

Guias do produto, rotinas operacionais e integrações da Plataforma

Referência2 min de leitura

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) — planejados; ainda não implementados

A tabela abaixo é a projeção pública do registro canônico de eventos. Cada payload possui versão de schema; uma mudança incompatível exige novo ID/versão.

Modelo de entrega (webhook outbound)

Quando o módulo Plataforma estiver ativo na organização:

  1. Você cadastra um endpoint (URL HTTPS) e escolhe quais eventos deseja receber.
  2. Em cada evento inscrito, o Pulse enfileira um POST JSON para a sua URL.
  3. A requisição inclui assinatura HMAC (cabeçalhos X-Pulse-Signature e X-Pulse-Timestamp) para você validar a origem.
  4. Falhas temporárias são retentadas de forma assíncrona; use o identificador do evento para garantir idempotência no seu lado.

Esta seção descreve o contrato planejado. A UI de endpoints, assinatura HMAC e entrega HTTP ainda não existem. O catálogo abaixo já é usado internamente e, onde indicado, na Automação.

Formato previsto do corpo

{
  "id": "evt_…",
  "trigger": "sales.opportunity.won",
  "schema_version": 1,
  "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.

A listagem detalhada (domínio, disponibilidade e campos) é renderizada nesta página a partir do catálogo oficial do produto.

Vendas

EventoDescriçãoEmissãoAutomaçãoWebhook
sales.opportunity.createdschema v1

Oportunidade — Criada

Uma oportunidade foi criada no funil.

Campos do payload: opportunity.id, opportunity.des_title, opportunity.num_value, opportunity.id_user_owner, opportunity.id_stage_from, opportunity.id_stage_to, client.des_name, client.id, opportunity.id_loss_reason, client_suffix

Emitido hojeSimWebhook em breve
sales.opportunity.stage_changedschema v1

Oportunidade — 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_user_owner, opportunity.id_stage_from, opportunity.id_stage_to, client.des_name, client.id, opportunity.id_loss_reason, client_suffix

Emitido hojeSimWebhook em breve
sales.opportunity.wonschema v1

Oportunidade — Ganha

A oportunidade foi marcada como ganha.

Campos do payload: opportunity.id, opportunity.des_title, opportunity.num_value, opportunity.id_user_owner, opportunity.id_stage_from, opportunity.id_stage_to, client.des_name, client.id, opportunity.id_loss_reason, client_suffix, bol_notify_team, bol_notify_managers

Emitido hojeSimWebhook em breve
sales.opportunity.lostschema v1

Oportunidade — Perdida

A oportunidade foi marcada como perdida.

Campos do payload: opportunity.id, opportunity.des_title, opportunity.num_value, opportunity.id_user_owner, opportunity.id_stage_from, opportunity.id_stage_to, client.des_name, client.id, opportunity.id_loss_reason, client_suffix, bol_notify_team, bol_notify_managers

Emitido hojeSimWebhook em breve

Comercial

EventoDescriçãoEmissãoAutomaçãoWebhook
commercial.order.closedschema v1

Pedido — 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)SimWebhook em breve

RH

EventoDescriçãoEmissãoAutomaçãoWebhook
hr.employee.createdschema v1

Funcioná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.num_status, 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 hojeSimWebhook em breve

Comércio Exterior

EventoDescriçãoEmissãoAutomaçãoWebhook
comex.process.createdschema v1

Processo — Criado

Um processo de importação foi criado.

Campos do payload: process.id, process.des_description, process.des_process_number, process.num_number, process.num_year

Emitido hojeSimWebhook em breve
comex.stage.changedschema v1

Etapa — Alterada

A etapa atual de um processo Comex avançou.

Campos do payload: process.id, process.des_process_number, stage_from.id, stage_from.des_name, stage_to.id, stage_to.des_name

Emitido hojeSimWebhook em breve
comex.pending.openedschema v1

Pendência — Aberta

Uma pendência foi aberta em um processo Comex.

Campos do payload: pending.id, pending.des_title, pending.num_severity, process.id

Emitido hojeSimWebhook em breve

E-commerce

EventoDescriçãoEmissãoAutomaçãoWebhook
ecommerce.order.paidschema v1

Pedido loja — Pago

Pedido da loja online confirmado como pago pelo provedor.

Campos do payload: order.id, order.num_total, checkout.id, payment.provider

Emitido hojeNãoWebhook em breve

Compras

EventoDescriçãoEmissãoAutomaçãoWebhook
purchase.requisition.submittedschema v1

Requisição — Enviada

Uma requisição de compra foi enviada para o time de compras.

Campos do payload: requisition.id, requisition.des_code, requisition.id_user_requester

Emitido hojeSimWebhook em breve
purchase.quote.approvedschema v1

Cotação — Aprovada

Uma cotação de compra foi aprovada e pode gerar pedido.

Campos do payload: quote.id, quote.des_code, quote.num_amount_total

Emitido hojeSimWebhook em breve