Adición de flujos de diálogo personalizados para integraciones

Utilice el editor de JSON del diálogo para acceder a información enviada por la integración de la conversación web.

A partir de la versión de API 2020-04-01, el objeto context que se pasa como parte de la solicitud de API v2 /message contiene un objeto integrations. Este objeto permite pasar información específica de un tipo de integración del contexto. Para obtener más información, consulte Variables de contexto.

El objeto integrations solo está disponible en la API v2 de la versión 2020-04-01 o posterior.

Para aprovechar el objeto context.integrations, puede crear variables de contexto que se denominen de la siguiente manera para obtener y establecer valores para distintas integraciones:

Variables de contexto específicas de la integración
Tipo de integración Sintaxis de variable de contexto
Teléfono $integrations.voice_telephony
Servicio de atención al cliente Salesforce de la conversación web $integrations.salesforce
SMS con Twilio $integrations.text_messaging
Conversación web (y vista previa del asistente) $integrations.chat
Servicio de atención al cliente Zendesk de la conversación web $integrations.zendesk

Creación de flujo de diálogo específico de la integración

Cree un único diálogo que esté optimizado para utilizar las mejores características que ofrece cada canal o interfaz de cliente en la que se despliega.

Puede personalizar la conversación de las formas siguientes:

  • Para añadir una rama de diálogo completa que solo se procese con un tipo de integración específico, añada la variable de contexto de tipo de integración adecuada, como por ejemplo $integrations.chat, al campo Si el asistente reconoce del nodo raíz de diálogo.

  • Para añadir un único nodo de diálogo que solo se procese con un tipo de integración específico, añada la variable de contexto de tipo de integración adecuada, como, por ejemplo, $integrations.zendesk, en el campo Si el asistente reconoce del nodo hijo del diálogo.

  • Para añadir respuestas ligeramente distintas para un solo único nodo diálogo basado en el tipo de integración, realice los pasos siguientes:

    • En la vista de edición del nodo, pulse Personalizar y establezca el conmutador Varias respuestas condicionadas en Activado. Pulse Aplicar.

    • En la sección de respuesta del nodo de diálogo, añada la condición adecuada y la respuesta correspondiente para cada tipo de respuesta personalizado.

      Los ejemplos siguientes muestran cómo especificar un enlace de hipertexto en el mejor formato para la integración donde se visualiza la respuesta de texto. Para la integración Conversación web, que soporte el formato Markdown, puede incluir una etiqueta de enlace en el texto de respuesta para que el aspecto de la respuesta sea más agradable. Para la integración de SMS con Twilio, puede saltarse el formato que tiene sentido en una página web y añadir el URL directo.

      Respuestas condicionadas personalizadas
      Tipo de integración Condición Respuesta de texto de ejemplo
      SMS con Twilio $integrations.text_messaging For more information, go to https://www.ibm.com.
      Conversación web $integrations.chat For more information, go to [the ibm.com site](https://www.ibm.com).
      Respuesta para mostrar si no se cumplen otras condiciones. true For more information, go to ibm.com.

Con frecuencia, los tipos de respuesta enriquecidos se comportan de manera distinta cuando se visualizan en distintas integraciones incorporadas o en la vista previa del asistente.

Si necesita proporcionar respuestas personalizadas para diferentes canales, pero no necesita modificar el flujo de diálogo en función de la integración que se utiliza, también puede utilizar la matriz channels para orientar las respuestas a integraciones específicas.

Conversación web: Acceso a datos confidenciales

Si habilita la seguridad para la conversación web, puede configurar la implementación de su conversación web para que envía datos cifrados al diálogo. Los datos de carga útil que se envían desde la conversación web se almacenan en una variable de contexto privada denominada context.integrations.chat.private.user_payload. No se envían variables privadas desde el diálogo a las integraciones. Para obtener más información sobre cómo pasar datos, consulte Cifrado de datos confidenciales en la conversación web.

Para acceder a los datos de carga útil, puede hacer referencia al objeto context.integrations.chat.private.user_payload en la condición del nodo de diálogo.

Debe conocer la estructura del objeto JSON que se envía en la carga útil.

Por ejemplo, si ha pasado el valor "mvp:true" en la carga útil de JSON, puede añadir un flujo de diálogo que busque este valor para definir una respuesta dirigida únicamente a clientes VIP. Añada un nodo de diálogo con una condición como la siguiente:

Variable privada como condición de nodo
Campo Valor
Si el asistente reconoce $integrations.chat.private.user_payload.mvp
El asistente responde I can help you reserve box seats at the upcoming conference!

Conversación web: Acceso a la información del navegador web

Cuando utilice la integración de conversación web, la información sobre el navegador web que el cliente está utilizando para acceder a la conversación web se recopila y almacena automáticamente. La información se almacena en el objeto context.integrations.chat.browser_info.

Puede diseñar el diálogo para aprovechar los detalles sobre el navegador web en uso. Las siguientes propiedades se obtienen del objeto window que representa la ventana en la que se ejecuta la conversación web:

  • browser_name: nombre del navegador, como, por ejemplo, chrome, edge o firefox.
  • browser_version: navegador del navegador, como, por ejemplo, 80.0.0.
  • browser_OS: el sistema operativo del sistema del cliente, como, por ejemplo, Mac OS.
  • language: el código de entorno local predeterminado del navegador, como, por ejemplo, en-US.
  • page_url: URL completo de la página web en la que la conversación web está incorporada. Por ejemplo: https://www.example.com/products
  • screen_resolution: especifica la altura y anchura de la ventana del navegador en la que se visualiza la página web. Por ejemplo: width: 1440, height: 900
  • user_agent: Contenido de la cabecera de solicitud User-Agent. Por ejemplo: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:80.0) Gecko/20100101 Firefox/80.0
  • client_ip_address: dirección IP del sistema del cliente. Por ejemplo: 183.49.92.42

Ejemplo: Utilización de información de URL de página en el diálogo

Puede incluir la conversación web en varias páginas del sitio web. Quizás desee direccionar las transferencias de conversación desde la conversación web a distintos agentes de Salesforce basándose en la página desde la que el cliente solicita hablar con alguien. Si el cliente está en la página de planes de seguro de su sitio web (https://www.example.com/insurance.html), desea direccionarlos a agentes expertos en los planes de seguro de su empresa. Si el cliente está en la página web de inversiones (https://www.example.com/invest.html), desea direccionarlos a agentes que sean expertos en las oportunidades de inversión de su empresa. Puede añadir varias respuestas condicionadas al nodo de diálogo en el que tiene lugar la transferencia y añadir lógica como la siguiente:

Respuesta condicionada 1

  • Condición: $integrations.chat.browser_info.page_url.contains('insurance.html')
  • Tipo de respuesta: Conectar con un agente humano
  • ID de botón: Z23453e25vv (El botón que lleva hasta la cola del agente de expertos en seguros)

Respuesta condicionada 2

  • Condición: $integrations.chat.browser_info.page_url.contains('invest.html')
  • Tipo de respuesta: Conectar con un agente humano
  • ID de botón: Z23453j24ty (el botón que lleva hasta la cola del agente experto de inversión)

Conversación web: Reutilización de una JWT para la autenticación de webhooks

Puede utilizar la misma señal web de JSON (JWT - JSON Web Token) que se ha utilizado para proteger la conversación web para autenticar las llamadas de webhook. Si especifica una señal en la propiedad identityToken al añadir la conversación web a su página web, la señal se almacena en una variable privada denominada context.integrations.chat.private.jwt. Para obtener más información sobre cómo pasar un JWT, consulte Habilitación de la seguridad de conversación web.

  1. En el diálogo, abra Webhooks.

  2. Pulse Añadir cabecera.

  3. En Nombre de cabecera, especifique cualquier nombre, como por ejemplo JWT.

  4. En el campo Valor de cabecera, añada $integrations.chat.private.jwt.