PulsantPulsantDocs
GuiasAPI e integraçõesOperação

Eventos pelo servidor

Envie eventos de negócio com identidade, data e ID lógico estáveis.

Enviar um evento

Use analytics:write. O siteId do corpo precisa corresponder ao site da rota, e a URL deve pertencer a um hostname autorizado do site.

events.ts
import { Pulsant } from '@pulsant/sdk';

const pulsant = new Pulsant({
  baseUrl: 'https://api.pulsant.app',
  key: process.env.PULSANT_SECRET_KEY!,
  siteId: process.env.PULSANT_SITE_ID!,
});

await pulsant.track({
  id: 'signup_123456',
  name: 'signup',
  url: 'https://seusite.com/cadastro',
  sessionId: 'session_123456',
  properties: { plan: 'basic' },
});

Disponibilidade do SDK

@pulsant/sdk é um pacote local do monorepo. Para um backend externo, use HTTP; não há instalação npm pública anunciada neste guia.

Campos e limites

Nome e propriedades devem representar a ação de negócio, sem dados pessoais ou conteúdo de formulários.

CampoRegra
idID lógico estável de 8 a 128 caracteres; reutilize no retry
sessionIdSessão observada; não gere outra por evento
occurredAtISO 8601; até 72 horas atrás ou 5 minutos no futuro
nameAté 80 caracteres
propertiesAté 32 propriedades primitivas; texto até 500 caracteres
Evento completoAté 8 KiB

Eventos no navegador

Para eventos de interface, use o tracker instalado no site. Ele cuida da sessão e envia as informações permitidas pelas configurações do site.

Navegador
await window.pulsant?.('track', 'signup', { plan: 'basic' }, { id: 'signup_123456' });

Retries sem duplicação

Reenvie o mesmo ID para a mesma ação. A resposta da coleta informa accepted, duplicate e id. Um evento novo deve receber um novo ID.

Corpo da resposta
{
  "accepted": true,
  "duplicate": false,
  "id": "signup_123456"
}

Nesta página