Comunicação via PostMessage

A funcionalidade de comunicação via PostMessage permite que aplicações web enviem comandos JavaScript para alterar dinamicamente o tema do widget EvaGPT e enviar informações contextuais às conversas.

Acessando as configurações do Widget

Para habilitar a comunicação via PostMessage em seu agente, siga os passos abaixo:

  1. Acesse Listar Agentes no painel principal

  2. Selecione o agente no qual deseja habilitar a funcionalidade PostMessage

  3. Navegue até a seção Widget nas configurações do agente

  4. No final do formulário, localize o campo "Domínios autorizados para comunicação via postMessage"

  5. Adicione os domínios que terão permissão para enviar informações via PostMessage ao widget

Importante: Por questões de segurança, apenas os domínios listados neste campo poderão estabelecer comunicação com o widget através de PostMessage.

Conforme ilustrado na imagem a seguir:

Como Alterar o Tema

Após configurar os domínios permitidos, você pode enviar comandos PostMessage para o widget. É necessário seguir o padrão específico para que o widget compreenda qual ação executar.

Alternando entre Temas

Para alternar entre os temas dark e light no widget, utilize o parâmetro type com os valores correspondentes:

Sintaxe:

  • {type: "dark"} - Aplica o tema escuro

  • {type: "light"} - Aplica o tema claro

Enviando Contexto para o Chatbot

Além da alteração de temas, o widget também permite o envio de informações contextuais para enriquecer as conversas. Qualquer conteúdo enviado via PostMessage que não seja os comandos de tema ("dark" ou "light") será automaticamente inserido no contexto da conversa do bot. Você pode enviar desde uma string simples até objetos complexos com informações do usuário, dados de sessão ou qualquer outro conteúdo relevante.

Exemplos de Implementação

var iframe = document.getElementById('intelliframe');
var origin = document.getElementById('eva-widget').getAttribute('data-origin');

// Alterando o tema
document.getElementById('intelliframe').contentWindow.postMessage({type: "light"}, origin);

// Enviando contexto - string simples
document.getElementById('intelliframe').contentWindow.postMessage("Usuário Premium logado há 2 horas", origin);

// Enviando contexto - objeto
document.getElementById('intelliframe').contentWindow.postMessage({nome: "João", plano: "Premium", ultimaCompra: "15/03/2024"}, origin);

Importante: Certifique-se de que o iframe do widget esteja carregado antes de enviar o PostMessage e que o domínio de origem esteja devidamente configurado na lista de domínios autorizados.

Last updated