Integração via Front (Iframe)

Esse documento irá descrever como receber eventos no frontend via uma renderização por Iframe.

Renderização

<iframe allow="camera;microphone;display-capture" allowfullscreen src="https://nuvidio.ai/:companySlug/invite/:inviteId"></iframe>

Payload do evento

Abaixo temos um payload de exemplo do formato de como o Iframe irá enviar o evento.

{
  "event": "video_autonomous_escaped_journey",
  "content": {
    "type": "customer_with_incorrect_data",
    "invite": {
      "id": "2998600f-4e79-4c31-af93-a38f6c06de87",
      "step": "data_validation"
    }
  }
}

Recebendo eventos

Nossa aplicação irá enviar alguns eventos baseados em ações do cliente, como quando o mesmo clica em Meus dados estão incorretos ou então quando o cliente clica em Precisa de ajuda

A comunicação é feita usando window.postMessage do iframe para a página host.

Exemplo de código

Abaixo temos um exemplo de como a aplicação host pode escutar por esse eventos vindo do Iframe

window.addEventListener("message", ({ data }) => {
    if (!data) return;
    const dataParsed = typeof data === "string" ? JSON.parse(data) : data;

    if (dataParsed.type === "video_autonomous_escaped_journey") { 
        // Cliente saiu da jornada
    }


});