Pular para conteúdo

postMessage + Nimble Leads

O Nimble Leads dispara eventos que podem ser ouvidos via postMessage.


Exemplo

Segue abaixo um exemplo de como utilizar o postMessage.

<!-- Exemplo postMessage + Nimble -->
<script type="module">
  // A flag para permitir que os dados sejam adicionados apenas uma vez.
  let trigger = false

  // Dados oriundo de outro sistema
  let trigger_data = {
    'segurado:tipo_pessoa': 'FISICA',
    'segurado:inscricao_fiscal': '987.654.321-00',
    'segurado:nome': 'BENEDITA RAMOS DE SOUZA',
    'segurado:sexo': 'FEMININO',
    'segurado:data': '1944-04-28',
    'segurado:estado_civil': 'CASADO',
    'segurado:emails': [
      {
        tipo: 'PESSOAL',
        email: '[email protected]',
      },
    ],
    'segurado:telefones': [
      {
        tipo: 'CELULAR',
        numero: '(11) 999999999',
      },
    ],
  }

  // Função de manipulação do postMessage
  function handlePostMessage(event) {
    const origin = event?.origin ?? event?.originalEvent?.origin ?? ''
    const authorized = new Set([
      'https://seguro.nimble.com.br',
      // coloque aqui o dominio do seu site
    ])

    if (authorized.has(origin) === false) {
      return
    }

    const message = event?.data

    if (message.type === 'nimble-next-ui.preparado') {
      // coloca aqui seu código de tracking/analytics/pixel/etc...
    }

    if (message.type === 'nimble-next-ui.template') {
      // Alimenta o Nimble com dados oriundo de outro sistema
      if(message.data === 'pergunta' && trigger === false) {
        trigger = true
        globalThis['nimble-next-ui'].__store({
          ...globalThis['nimble-next-ui'].__store(),
          ...trigger_data,
        })
      }
    }
  }

  // Escuta postMessage
  globalThis.addEventListener('message', handlePostMessage, false)
</script>

<!-- Widget do Nimble -->
<script
  type="module"
  crossOrigin="anonymous"
  id="nimble_next_js"
  src="https://seguro.nimble.com.br/widget.js?id=nimble_next_js"
  data-target="nimble_next_div"
  data-company="{codigo_da_empresa}"
></script>

<!-- Local onde widget será criado -->
<div id="nimble_next_div"></div>

Eventos do Nimble

Eventos que o Nimble envia ao cliente.

Evento Descrição
nimble-next-ui.preparado Aplicação pronta para uso
nimble-next-ui.template Template carregado
nimble-next-ui.form Retorno do formulário postado

nimble-next-ui.preparado

Campo Descrição
type Identificação do evento
data Hash da cotação no Nimble

nimble-next-ui.template

Campo Descrição
type Identificação do evento
data Nome do template

nimble-next-ui.form

Campo Descrição
type Identificação do evento
data Dados salvos

Dúvidas e sugestões

Envie um email para atendimento@textecnologia.com.br