Skip to main content
O widget reporta o progresso da sessão em eventos, entregues ao callback onEvent do mount():
Eventos são telemetria: use-os para analytics e para reagir na sua interface. O fim do fluxo não chega por aqui, e sim por onComplete e onCancel, descritos abaixo. Os campos from e to carregam identificadores de etapa: são rótulos de telemetria, não um contrato para ramificar comportamento. Os campos code carregam um código de erro. Para abrir as URLs de terms.open e redirect.open, prefira o callback onOpenUrl: ele recebe a URL já validada e deduplicada, e substitui a abertura default.

Modelo evergreen

O widget pode emitir tipos de evento que a sua versão do pacote ainda não conhece: eles passam pelo onEvent normalmente, em vez de serem descartados. Se você liga o onEvent direto num pipeline de analytics e não quer cardinalidade nova aparecendo sozinha, congele o conjunto com eventsAllowlist.
eventsAllowlist: [] silencia todos os eventos. Lista vazia significa que nada passa; para deixar tudo passar, omita a opção.

Desfecho do fluxo

O desfecho chega por dois callbacks próprios, fora do catálogo de eventos. onComplete dispara quando o widget declara fim de fluxo: result.status é "submitted" (o titular enviou tudo) ou "abandoned" (o fluxo terminou sem envio). onCancel dispara quando o widget declara cancelamento, e result.sessionId identifica a sessão quando disponível. Terminar não é ser aprovado: a decisão da verificação chega ao seu backend, nunca ao navegador. E a régua entre os dois callbacks é a origem da declaração, não o resultado, então um abandono pode chegar pelos dois canais. Antes de contabilizar conversão, cheque sempre result.status. Contar "abandoned" como sucesso infla a métrica.

Eventos DOM

Cada sinal também é despachado como CustomEvent no elemento <legitimuz-websdk> que o mount() cria. É útil em HTML puro e em frameworks que escutam eventos direto no template:
Os eventos não borbulham e não atravessam shadow DOM: escute no próprio elemento.