SDK Node e API
Envio server-side com chave privada.
SDK no monorepo
O pacote @pulsant/sdk é local ao workspace e ainda não foi anunciado como publicado no npm. Adicione dependência workspace:* ao seu consumidor local ou use HTTP. Guarde a chave apenas no servidor. Ao registrar receita, amountMinor é o valor bruto confirmado em unidades mínimas; feeMinor é opcional e só deve ser enviado quando o próprio gateway confirmar a taxa, na mesma moeda e unidade.
import { Pulsant } from '@pulsant/sdk';
const pulsant = new Pulsant({ baseUrl: process.env.PULSANT_API_URL, key: process.env.PULSANT_SECRET_KEY, workspaceId: 'WORKSPACE', siteId: 'SITE' });
await pulsant.track({ id: 'signup_123456', name: 'signup', url: 'https://seusite.com/cadastro', sessionId: 'session_123456' });Registrar receita e taxa conhecida
amountMinor é o valor bruto confirmado em unidades mínimas. feeMinor é opcional e aceita zero ou um inteiro não negativo; envie somente quando o gateway declarar a taxa da transação. A Pulsant preserva essa taxa, mostra quantos pagamentos têm taxa conhecida e calcula o líquido desses pagamentos como bruto menos ajustes observados e taxa informada. Esse líquido é um cálculo parcial, não o saldo ou repasse do gateway. Omitir feeMinor mantém a taxa desconhecida; nunca envie uma estimativa.
await pulsant.revenue({
externalId: 'pedido_123456',
logicalId: 'pedido_123456',
amountMinor: '12480',
feeMinor: '85', // omita quando o provedor não confirmar a taxa
currency: 'BRL',
occurredAt: new Date().toISOString(),
status: 'paid'
});Escopos e revogação
Crie uma chave com o menor escopo necessário. Eventos exigem analytics:write; consultas exigem analytics:read. O segredo só aparece na criação. Todas as chamadas verificam workspace, sites e permissões atuais do criador.
Referência OpenAPI
A API em execução serve /openapi e /openapi.json. As rotas ausentes não devem ser presumidas. O guia MCP descreve seu contrato próprio; importação ainda depende de implementação.