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:
Acesse Listar Agentes no painel principal
Selecione o agente no qual deseja habilitar a funcionalidade PostMessage
Navegue até a seção Widget nas configurações do agente
No final do formulário, localize o campo "Domínios autorizados para comunicação via postMessage"
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