Incluindo fluxos de diálogo customizado para integrações
Use o editor JSON no diálogo para acessar informações que são enviadas da integração de bate-papo da web.
A partir da versão de API 2020-04-01
, o objeto context
que é passado como parte da solicitação de API v2 /message
contém um objeto integrations
. Esse objeto torna possível transmitir informações
específicas para um único tipo de integração no contexto. Para obter mais informações, consulte Variáveis de contexto..
O objeto integrations
está disponível na API v2 na versão 2020-04-01
ou mais recente apenas.
Para tirar proveito do objeto context.integrations
, é possível criar variáveis de contexto que sejam nomeadas da seguinte forma para obter e configurar valores para diferentes integrações:
Tipo de integração | Sintaxe de variável de contexto |
---|---|
Telefone | $integrations.voice_telephony |
Service desk do Salesforce por meio de chat web | $integrations.salesforce |
SMS com Twilio | $integrations.text_messaging |
Chat web (e visualização do assistente) | $integrations.chat |
Service desk do Zendesk por meio de chat web | $integrations.zendesk |
Construindo um fluxo de diálogo específico da integração
Crie um único diálogo que seja otimizado para usar os melhores recursos que são oferecidos por cada canal ou interface com o cliente na qual ele é implementado..
É possível customizar a conversa das seguintes formas:
-
Para incluir uma ramificação de diálogo inteira que seja processada apenas por um tipo de integração específico, inclua a variável de contexto do tipo de integração apropriada, como
$integrations.chat
, no campo Se assistente reconhecer do nó raiz do diálogo. -
Para incluir um único nó de diálogo que seja processado apenas por um tipo de integração específico, inclua a variável de contexto do tipo de integração apropriada, como
$integrations.zendesk
, no campo Se assistente reconhecer do nó filho do diálogo. -
Para incluir respostas um pouco diferentes para um único nó de diálogo com base no tipo de integração, conclua as etapas a seguir:
-
Na visualização de edição do nó, clique em Customizar e, em seguida, configure o comutador Múltiplas respostas condicionadas para Ativado. Clique em Aplicar.
-
Na seção de resposta do nó de diálogo, inclua a condição apropriada e a resposta correspondente para cada tipo de resposta customizada.
Os exemplos a seguir mostram como especificar um link de hipertexto no melhor formato para a integração em que a resposta de texto é exibida Para a integração de Chat web, que suporta a formatação de Markdown, é possível incluir um rótulo de link no texto da resposta para deixá-lo mais agradável. Para a integração SMS com Twilio, é possível ignorar a formatação que faz sentido em uma página web e incluir a URL direta.
Respostas condicionadas customizadas Tipo de integração Condição Resposta de texto de amostra SMS com Twilio $integrations.text_messaging
For more information, go to https://www.ibm.com.
Chat web $integrations.chat
For more information, go to [the ibm.com site](https://www.ibm.com).
Resposta a ser mostrada se nenhuma outra condição for atendida. true
For more information, go to ibm.com.
-
Os melhores tipos de resposta geralmente se comportam de forma diferente quando exibidos em integrações incorporadas diferentes ou na visualização do assistente.
Se for preciso fornecer respostas customizadas para canais diferentes, mas não for preciso modificar o fluxo de diálogo com base em qual integração está em uso, também será possível usar a matriz channels
para destinar suas respostas
às integrações específicas.
Bate-papo da web: acessando dados sensíveis
Se você ativar a segurança para o bate-papo da web, será possível configurar sua implementação de bate-papo da web para enviar dados criptografados para o diálogo. Os dados de carga útil que são enviados do bate-papo da web são armazenados em
uma variável de contexto privada denominada context.integrations.chat.private.user_payload
. Nenhuma variável privada é enviada do diálogo para quaisquer integrações. Para obter mais informações sobre como transmitir dados, consulte
Criptografando dados sensíveis em um bate-papo da web
Para acessar os dados de carga útil, é possível referenciar o objeto context.integrations.chat.private.user_payload
por meio da condição do nó de diálogo.
Deve-se conhecer a estrutura do objeto JSON que é enviado na carga útil.
Por exemplo, se você tiver transmitido o valor "mvp:true"
na carga útil JSON, será possível incluir um fluxo de diálogo que verifique esse valor para definir uma resposta que seja destinada somente aos clientes VIP. Inclua
um nó de diálogo com uma condição como esta:
Campo | Valor |
---|---|
Se o assistente reconhecer | $integrations.chat.private.user_payload.mvp |
O assistente responderá | I can help you reserve box seats at the upcoming conference! |
Bate-papo da web: acessando informações do navegador da web
Quando você usa a integração de bate-papo da web, informações sobre o navegador da web que seu cliente está usando para acessar o bate-papo da web são automaticamente coletadas e armazenadas. As informações são armazenadas no objeto context.integrations.chat.browser_info
.
É possível projetar seu diálogo para aproveitar os detalhes sobre o navegador da web em uso. As propriedades a seguir são tiradas do objeto window
que representa a janela na qual o bate-papo da web está em execução:
browser_name
: o nome do navegador, comochrome
,edge
oufirefox
.browser_version
: a versão do navegador, tal como80.0.0
.browser_OS
: o sistema operacional do computador do cliente, comoMac OS
.language
: o código padrão de idioma do navegador, comoen-US
.page_url
: URL completa da página da web na qual o bate-papo da web está integrado. Por exemplo,:https://www.example.com/products
screen_resolution
: especifica a altura e a largura da janela do navegador na qual a página da web é exibida. Por exemplo,:width: 1440, height: 900
user_agent
: conteúdo do cabeçalho de solicitação do Agente do usuário. Por exemplo,:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:80.0) Gecko/20100101 Firefox/80.0
client_ip_address
: endereço IP do computador do cliente. Por exemplo,:183.49.92.42
Exemplo: usando informações da URL da página em seu diálogo
É possível integrar o bate-papo da web em várias páginas em seu website. Talvez você queira rotear transferências de bate-papo do bate-papo da web para diferentes agentes do Salesforce com base na página da qual o cliente solicita para falar
com alguém. Se o cliente estiver na página de planos de seguro do seu website (https://www.example.com/insurance.html
), será desejado encaminhá-lo para os agentes que são especialistas em planos de seguro de sua empresa. Se
o cliente está na página da web de investimentos (https://www.example.com/invest.html
), será desejado encaminhá-lo para os agentes que são especialistas em oportunidades de investimento da sua empresa. É possível incluir várias
respostas condicionadas no nó de diálogo em que a transferência ocorre e incluir uma lógica como esta:
Resposta condicionada 1
- Condição:
$integrations.chat.browser_info.page_url.contains('insurance.html')
- Tipo de resposta: Conectar-se a um agente humano
- ID do botão:
Z23453e25vv
(o botão que direciona para a fila do agente especialista em seguros)
Resposta condicionada 2
- Condição:
$integrations.chat.browser_info.page_url.contains('invest.html')
- Tipo de resposta: Conectar-se a um agente humano
- ID do botão:
Z23453j24ty
(o botão que direciona para a fila do agente especialista em investimento)
Bate-papo da web: reutilizando o JWT para autenticação de webhook
É possível usar o mesmo JSON Web Token (JWT) que foi usado para proteger o seu bate-papo da web para autenticar chamadas de webhook. Se você especificar um token na propriedade identityToken
ao incluir o bate-papo da web em sua
página da web, o token será armazenado em uma variável privada denominada context.integrations.chat.private.jwt
. Para obter mais informações sobre como transmitir um JWT, consulte Ativando a segurança do bate-papo da web.
-
Em seu diálogo, abra Webhooks.
-
Clique em Incluir cabeçalho.
-
Em Nome do Cabeçalho, insira qualquer nome, como
JWT
-
No campo Valor do cabeçalho, inclua
$integrations.chat.private.jwt
.