@leadble/capture
v0.5.0
Published
SDK de captura de leads para diagnósticos Leadble
Maintainers
Readme
@leadble/capture
SDK oficial de captura de leads para diagnósticos Leadble.
Instalação
npm install @leadble/captureUso rápido
import {
Leadble,
resolveResultPageBaseUrl,
buildResultUrl
} from '@leadble/capture'
const lb = new Leadble({
apiKey: 'lb_sk_...',
diagnosticKey: 'dlg_...'
})
await lb.init()
lb.track('diagnostic_start')
const { publicKey, sessionId } = await lb.completeLead({
contact: { name, email, phone },
answers: [...],
resultPageUrl: resolveResultPageBaseUrl()
})
const resultLink = buildResultUrl(
resolveResultPageBaseUrl(),
publicKey,
{ sessionId }
)Recomeçar / retentativa
Cada “Recomeçar” deve criar uma nova sessão (tentativa pagável). O lead (pessoa) permanece o mesmo.
async function onRestart() {
const { sessionId } = await lb.restart()
resetQuizUi()
return sessionId
}restart()limpa o cache desessionId, mantém ovisitorIde chamaPOST /sessions.init()também rotaciona se o cache local apontar para sessãopaid/abandoned.- Depois do restart:
completeLead()de novo → checkout só com o novosessionId.
resultPageUrl (v0.4.0+)
Envie a URL base da página de resultado no completeLead (sem lead/session na query). A Leadble usa esse valor no funil de e-mail e injeta lead, session, cupom e UTMs no disparo.
Helpers:
resolveResultPageBaseUrl(origin?, path?)— monta a URL base (padrão/diagnostico/resultado)buildResultUrl(baseUrl, publicKey, { sessionId?, coupon? })— link permanente para o lead
Build local
cd packages/capture
pnpm install
pnpm buildArtefatos em dist/ (index.js, index.cjs, index.d.ts).
Publicar no npm
cd packages/capture
pnpm build
npm publish --access publicChangelog
0.5.0
lb.restart()— nova tentativa pagável (Recomeçar)init()/ensureSession()não reutilizam sessãopaidouabandoneddo cache local- Contrato: 1 lead, N sessões; pagamento por sessão
0.4.1
- Correção crítica:
completeLeadenviava o objeto{ sessionId, isNew }no camposessionId(causava 422expected string, received object). Agora desestrutura osessionIdcorretamente.
0.4.0
completeLeadaceitaresultPageUrlcom validação client-side- Novos helpers:
resolveResultPageBaseUrl,DEFAULT_RESULT_PAGE_PATH buildResultUrlaceitasessionIdecouponopcionaiscompleteLeadalinhado à API:interests,whatsappOptIn,resultSummarytipado- Validação de
score(0–100) no cliente
0.3.0
- Versão anterior com
init,track,completeLead, pagamentos e relatório premium
