DOCUMENTAÇÃO REVEALS
Pixel do pipeline
Use o pipeline já publicado para receber cadastros, atualizações e movimentos de negócio.
Script e API HTTP disponíveis · pacote npm ainda não publicado
Abra o Pixel dentro do pipeline
Em Pipelines, abra o pipeline publicado e clique em Pixel. A página já traz o ID da conta, o ID do pipeline e os IDs das etapas ativas e de ganho/perda. Não há alias, escolha de sinal ou regra de destino para configurar.
Emita uma chave para esse pipeline e guarde o segredo ri_ somente no backend do seu site. A chave não autoriza outro pipeline.
- 01Abra um pipeline publicado.
- 02Clique em Pixel.
- 03Emita a chave e salve-a no backend do seu site.
- 04Copie o ID da etapa para cada ação do seu site.
- 05Envie eventos de teste e confira o card no pipeline.
Evento que aconteceu na página
Carregue o script do Reveals e inicialize-o com os IDs exibidos na página do pipeline. O SDK do navegador envia o evento a uma rota do seu próprio site, usando a sessão do visitante. Ele não recebe a chave secreta.
Use lead.upsert para cadastro, atualização, movimento e encerramento: o primeiro envio cria lead e card numa etapa ativa; outro evento com o mesmo externalId atualiza os dados; stageId diferente pede o movimento. Para ganho, o card precisa estar na última etapa ativa com as validações concluídas. Para perda, envie o ID da etapa de perda e lossReason. eventId identifica cada ação confirmada pelo seu site; salve-o com occurredAt e repita ambos sem mudar após falha. externalId identifica o cliente e permanece igual.
● ● ●Exemplo
<script src="https://app.reveals.fit/publico/sdk/pipeline-v1.js"></script>
<script>
const pipeline = RevealsPipeline.create({
endpoint: "/api/reveals-eventos", // backend do seu site
orgId: "<ID_DA_CONTA>", pipelineId: "<ID_DO_PIPELINE>"
});
async function enviarCadastroConfirmado() {
return pipeline.upsert({
eventId: `cadastro-${cadastroConfirmado.id}`,
occurredAt: cadastroConfirmado.occurredAt,
externalId: String(cliente.id), email: cliente.email,
name: cliente.nome, stageId: "<ID_DA_ETAPA>"
});
}
async function registrarPerdaConfirmada() {
return pipeline.upsert({
eventId: `perda-${perdaConfirmada.id}`,
occurredAt: perdaConfirmada.occurredAt,
externalId: String(cliente.id), email: cliente.email,
stageId: "<ID_DA_ETAPA_DE_PERDA>",
lossReason: perdaConfirmada.motivo
});
}
</script>
NotaO endpoint informado ao SDK precisa ser do próprio site. O backend deve autenticar o visitante e validar que a etapa representa uma ação realmente confirmada.
Encaminhe com a chave no backend
A rota do seu site valida a sessão e a ação, então encaminha o mesmo corpo ao Reveals com Authorization: Bearer ri_.... Nunca repasse uma etapa escolhida livremente pelo navegador sem conferir a regra de negócio do seu sistema.
Em falha de rede ou 5xx, repita exatamente o mesmo corpo. O SDK preserva o corpo durante a vida da página; se a fila atravessar recarregamentos, persista também eventId e occurredAt.
● ● ●Exemplo
const response = await fetch("https://app.reveals.fit/publico/api/eventos/v1", {
method: "POST",
headers: { "content-type": "application/json",
authorization: "Bearer " + process.env.REVEALS_PIPELINE_KEY },
body: JSON.stringify(eventoValidado)
});
if (!response.ok) throw new Error(await response.text());