Action (ação)
Frequentemente, no final de um fluxo, uma chamada de back-end da API será configurada para, por exemplo, salvar uma passagem de trem no sistema de pedido de passagens. Depois disso, os usuários devem ser capazes de reservar um novo bilhete para um local diferente.
Você pode conseguir isso com a ação 'limpar a sessão'. Esta ação remove os valores das variáveis de sessão definidas. Isso é útil quando um usuário pede para corrigir um valor ou para começar de novo e excluir todas as variáveis.

Um usuário que alcançar esta ação será transferido para um agente humano de suporte ao cliente. Para que isso funcione, você precisa habilitar o descarregamento.
Dependendo do provedor de descarregamento selecionado, configuração adicional pode ser necessária.
Esta ação pode ser usada para integrar serviços de back-end em seu bot. Mais detalhes podem ser encontrados no nosso tutorial.
O editor de código permite que os desenvolvedores criem rapidamente lógica customizada em cima do bot, escrevendo seus próprios blocos de código JavaScript. Normalmente, o editor de código é usado para realizar solicitações a sistemas externos ou para fazer operações com variáveis.
Você pode encontrar mais informações sobre o editor de código aqui:
Existem também dois tutoriais nos quais mostramos como o editor de código pode ser usado:
Um iframe é um elemento personalizado que pode ser usado para mostrar uma página da web diferente na conversa de chat. Ele também pode ser usado para se comunicar com a janela principal usando a API postMessage.
Dê uma olhada neste exemplo básico:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<button onClick="window.parent.postMessage(JSON.stringify({target:'CL_API',type:'SEND_MESSAGE', payload:{text: 'You clicked the button'} }),'*')">
SEND_MESSAGE
</button>
</body>
</html>
Se este bloco de código estiver hospedado e incorporado em nosso plug-in iframe, ele enviará ao usuário uma mensagem de bate-papo quando ele clicar no botão.
A API postMessage também pode manipular eventos
ATUALIZAR_SESSAO
e IR_PARA_ESTADODEDIALOGO
.Se o seu bot for publicado no canal da API Webhook, você pode usar a ação JSON Builder para enviar mensagens para a conversa que não precisam resultar em uma mensagem real para o usuário. Normalmente, ele é usado para enviar informações sobre a conversa do usuário ou do bot para o site em que o bot foi publicado.

Você pode usar a ação do JSON Builder em combinação com o canal webwidget para receber eventos de janela em sua página da web. Esses eventos conterão os dados conforme configurados em sua ação de JSON Builder.
Aqui está um exemplo:
Configure sua ação de JSON Builder para enviar uma chave de idioma, com uma variável recuperada da sessão, e a opção "Enviar configuração para janela principal" ativada.

Ação do JSON Builder com um campo de linguagem
Seu widget irá disparar um evento para aquela configuração em sua janela principal como um MessageEvent. O MessageEvent conterá um campo `dados` que contém o resultado "cadeia" da configuração do JSON Builder. A seguir, um exemplo de como ouvir esses eventos:
// Chatlayer JSON Builder Event Handler
window.addEventListener('message', (event) => {
const data = event && event.data && JSON.parse(event.data) || {}
const { type, payload } = data
if (type !== 'CL_DISPATCH_EVENT') return;
console.log('Chatlayer language received: ' + payload.language)
})