A UserIn expõe quatro superfícies de API para diferentes cenários de integração:
Tracker JavaScript
Roda no navegador do visitante. Identifica usuários, captura eventos e configura comportamento do tracker.Objeto global:window.__SmartTrack
Journey Engine
Roda no navegador do visitante. Controla jornadas InSite: dispara triggers manuais, consulta perfil e gerencia estado.Objeto global:window.__JourneyInsiteEngine
REST API (Ingestion)
API server-to-server para enviar dados de identificação, eventos e objetos via HTTP. Ideal para integração backend.Base URL: configurável por ambiente
Offsite API
API server-to-server para disparar jornadas OffSite (email, SMS, push) para usuários específicos via HTTP.Base URL: configurável por ambiente
APIs JavaScript (Tracker e Journey Engine) carregam de forma assíncrona. Se precisar garantir que estão disponíveis antes de chamar métodos, verifique typeof __SmartTrack !== 'undefined' ou typeof __JourneyInsiteEngine !== 'undefined'.
O Tracker é instalado via tag <script> no site e expõe o objeto global window.__SmartTrack. Ele é responsável por identificar visitantes, capturar eventos e enviar dados para a UserIn.
Identifica o visitante atual com dados do seu sistema. Vincula o perfil anônimo (criado pelo tracker) ao ID real, unificando todo o histórico de navegação.
Envia um evento customizado para a UserIn. Eventos customizados aparecem na timeline do visitante e podem ser usados como critério em regras, segmentos e jornadas.
Configura quais eventos comportamentais avançados o tracker deve capturar. Por padrão, apenas eventos básicos (pageview, click, scroll) são capturados.
Configura a estratégia de captura de formulários. O tracker pode capturar automaticamente dados de formulários enviados, respeitando as regras de exclusão.
Seletores CSS dos formulários a capturar (quando strategy = whitelist)
exclude
string[]
[]
Seletores CSS dos formulários a ignorar (quando strategy = blacklist)
excludeFields
string[]
['password', 'cvv']
Nomes de campos a nunca capturar (independente da strategy)
trigger
string
'submit'
Quando capturar: 'submit' (ao enviar), 'change' (ao alterar) ou 'blur' (ao sair do campo)
Campos sensíveis como password e cvv são excluídos por padrão. Adicione outros campos sensíveis do seu contexto (ex: cpf, card_number) na lista excludeFields.
Quando ativado, o Insights AI analisa o comportamento do visitante em tempo real e gera diagnósticos e oportunidades acessíveis na seção Insights da plataforma.
O Journey Engine é carregado automaticamente junto com o tracker e expõe o objeto global window.__JourneyInsiteEngine. Ele controla a execução de jornadas InSite no navegador do visitante.
Dispara manualmente uma jornada configurada com o gatilho Trigger Manual. Use quando quiser controlar via código o momento exato em que uma jornada inicia.
ID do nó de trigger específico (quando há múltiplos triggers)
options.userData
object
Não
Dados adicionais passados ao contexto da jornada
O ID da jornada está disponível na URL do Construtor de Fluxos: /journey-builder/{journeyId}. O nome do trigger é configurado no bloco Trigger Manual da jornada.
Os métodos reset() e resetJourney() são ferramentas de debug. Não use em produção para controlar o fluxo de jornadas. Para controlar reentrada, configure a opção de reentrada no bloco de gatilho da jornada.
A API de ingestão permite enviar dados para a UserIn via HTTP, sem depender do tracker JavaScript. Ideal para integrações backend, importação de dados e sincronização com sistemas externos.Todas as requisições exigem autenticação via API Key no header Authorization.
A Offsite API é ideal para integrações com CRMs e sistemas de automação externos. Exemplo: quando um evento no seu ERP indica que um cliente está inativo, use a API para disparar uma jornada de reativação com email e SMS.
O tracker utiliza o localStorage e sessionStorage do navegador para persistir dados entre sessões. Estas chaves podem ser úteis para debug ou integração com outros scripts no site.
Nunca manipule essas chaves diretamente em produção. Elas são gerenciadas internamente pelo tracker. Para ler valores, use os métodos getters (getLocalStorageId(), getSessionId(), getExternalId()).