

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Creación de bots de IA conversacionales en Amazon Connect
<a name="connect-conversational-ai-bots"></a>

Puedes usar el sitio web de Amazon Connect administración para crear, editar y mejorar continuamente los bots de IA conversacional para ofrecer experiencias de respuesta de voz interactiva (IVR) y de autoservicio de chatbots. Los bots funcionan con Amazon Lex.

Al utilizar el sitio web de Amazon Connect administración, puedes ofrecer experiencias de IA conversacionales y dinámicas para entender las intenciones de tus clientes, hacer preguntas de seguimiento y automatizar la resolución de sus problemas. En los temas de esta sección se explica cómo habilitar la experiencia de creación de bots en el sitio web de Amazon Connect administración y cómo crear tu propio bot.

**Topics**
+ [Habilitación de bots y análisis en Amazon Connect](enable-bot-building.md)
+ [Cree un bot](work-bot-building-experience.md)
+ [Cómo crear un flujo y agregar el bot de IA conversacional](create-bot-flow.md)
+ [Configure proveedores de voz de terceros](configure-third-party-speech-providers.md)
+ [Cree la intención de un agente de Connect AI](create-qic-intent-connect.md)
+ [Creación de versiones y alias de bots](create-bot-version.md)
+ [Análisis del rendimiento de un bot de IA conversacional](lex-bot-analytics.md)
+ [Métricas y análisis de bots](bot-metrics.md)
+ [Configuración de bots avanzada](bot-advanced-config.md)
+ [Agregar un bot de Amazon Lex](amazon-lex.md)

# Cómo habilitar la creación y el análisis de bots en Amazon Connect
<a name="enable-bot-building"></a>

Complete los siguientes pasos para permitir a los usuarios crear bots de Amazon Lex en el sitio web de Amazon Connect administración y ver las métricas sobre el rendimiento de los bots.

Los usuarios no pueden editar los bots LEX V1 ni los bots interregionales desde Amazon Connect.

1. Abra la [consola de Amazon Connect](https://console.aws.amazon.com/connect/).

1. Seleccione la instancia de Amazon Connect que desea integrar con su bot de Amazon Lex.  
![\[Página de instancias del centro de contacto virtual de Amazon Connect, alias de instancia.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/instance.png)

1. En el menú de navegación, elija **Flujos**.

1. Seleccione **Activar la administración de bots de Lex en Amazon Connect** y **Activar el análisis y las transcripciones de bots en Amazon Connect**; luego, seleccione **Guardar**.  
![\[La página de bots de Amazon Lex, las opciones para habilitar la administración y el análisis de los bots de Lex en Amazon Connect.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lex-bot-service-linked-role.png)

   
**nota**  
Si ya tiene políticas de control de servicio (SCP) vigentes que bloquean el acceso a Lex, Amazon Connect respeta esas políticas y no habilita la característica de análisis y administración de bots. Sin embargo, si implementa esas políticas de SCP después de haber activado esta característica, no se respetarán. En ese caso, tendrá que desactivar esta característica.

   Amazon Connect muestra el rol de servicio y el nombre del rol vinculado al servicio que utiliza. Utiliza las políticas basadas en recursos de Amazon Lex para realizar llamadas a su bot de Amazon Lex. Cuando asocia un bot de Amazon Lex a su instancia de Amazon Connect, la política basada en recursos del bot se actualiza para dar permiso a Amazon Connect a fin de invocar al bot. 

   Para obtener más información sobre los permisos de políticas basadas en recursos de Amazon Lex V2, consulte [Políticas basadas en recursos en Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies), en la *Guía para desarrolladores de Amazon Lex V2*.

1. Asigne los siguientes permisos de perfil de seguridad a los usuarios que necesiten crear y administrar bots y análisis de bots: 
   + Permisos **Canales y flujos** - **Bots** - **Ver**, **Editar** y **Crear**.
   + Permiso **Análisis y optimización** - **Métricas históricas** - **Acceso**

# Cree un bot mediante el sitio web Amazon Connect de administración
<a name="work-bot-building-experience"></a>

Puede crear bots Lex completos en el sitio web de Amazon Connect administración sin tener que salir de la interfaz de Amazon Connect. La creación o edición de bots en Amazon Connect es gratuita. Amazon Lex le facturará por el uso. Para obtener más información sobre los precios, consulte la página [Precios de Amazon Lex](https://aws.amazon.com/lex/pricing/).

**Crear un bot**

1. Inicie sesión en el sitio web de Amazon Connect administración en https://*instance name*.my.connect.aws/. Utilice una cuenta de administrador o una cuenta que tenga el permiso de **creación** de **Canales y flujos** (**bots**) en su perfil de seguridad.

1. En el menú de navegación izquierdo, elija **Enrutamiento** y **Flujos**.

1. En la página **Flujos**, elija **Bots** y **Crear bot**.   
![\[La página Flujos, la pestaña Bots y el botón Crear bot.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/flows-bots-tab.png)

1. En el cuadro de diálogo **Detalles**, proporcione la siguiente información: 
   + **Nombre del bot**: introduzca un nombre exclusivo para el bot.
   + **Descripción del bot** (opcional): proporcione información adicional que explique para qué sirve el bot.
   + **Ley de Protección de la Privacidad en Línea para Niños (COPPA)**: elija si el bot está sujeto a la Ley de Protección de la Privacidad en Línea para Niños de EE. UU.

   La siguiente imagen muestra el cuadro de diálogo **Detalles** y estas opciones.  
![\[Página de detalles de la creación de bots, con el nombre, la descripción y la configuración COPPA\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-create.png)

1. Seleccione **Crear**. Una vez que el bot se haya creado correctamente, se le dirigirá a la página de configuración del bot. La siguiente imagen muestra una página de ejemplo de un bot recién creado llamado. **HotelBookingBot**  
![\[Ejemplo de página de configuración para un bot no configurado\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/hotelbookingbot.png)

1. En la página de configuración del bot, seleccione **Agregar idioma**. Elija el idioma principal del bot y la forma de crear este idioma.   
![\[Un ejemplo de la página Defina su bot, con el cuadro desplegable Agregar idioma\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-language-create.png)

1. Después de elegir el idioma, se le dirigirá a la sección **Defina su bot**. En la siguiente imagen, se muestra un ejemplo de esta sección. En esta sección, añadirá las intenciones.  
![\[Ejemplo de la sección Defina su bot\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/define-bot-page.png)

## Cómo añadir intenciones al bot
<a name="define-bot"></a>

En la sección **Defina su bot**, añadirá las intenciones. Las intenciones son los objetivos que los usuarios quieren conseguir, como pedir flores o reservar un hotel.

Su bot debe tener, como mínimo, una intención. Hay dos tipos de intenciones:
+ Intenciones personalizadas: aquí crea intenciones que representen las acciones o solicitudes que deberá gestionar el bot. En este tema, se explica cómo crear intenciones personalizadas. 
+ De forma predeterminada, todos los bots contienen una única intención integrada, la intención alternativa. Esta intención se utiliza cuando el bot no reconoce ninguna otra intención. Por ejemplo, si un usuario dice «Quiero pedir flores» a una intención de reserva de hotel, se activa la intención alternativa. En la siguiente imagen, se muestra un ejemplo de una intención integrada.  
![\[En el cuadro de diálogo Utilizar intención integrada, una intención integrada, se denomina AMAZON. HelpIntent.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/built-in-intent.png)

**Cómo crear una intención personalizada**

1. Seleccione **Agregar intención** y **Agregar intención vacía**. 

1. En el cuadro de diálogo **Agregar intención**, introduzca un nombre para su intención y una descripción que usted vaya a reconocer. Elija **Añadir**.

1. Especifique la siguiente información para configurar la intención:
   + Añada ejemplos de **enunciados**: seleccione **Agregar** y, a continuación, proporcione frases o preguntas que los usuarios puedan utilizar para expresar esa intención. Seleccione **Save**. 
   + Configure **ranuras**: elija **Agregar** y defina las ranuras, o los parámetros, necesarios para cumplir la intención. Cada slot tiene un tipo que define los valores que se pueden introducir en el slot. Elija **Agregar** para agregar la ranura. Cuando haya acabado de agregar etiquetas, elija **Guardar**.
   + Cree **peticiones**: seleccione **Editar**; luego, podrá introducir las peticiones que el bot utilizará para solicitar información o aclarar las entradas de los usuarios. Cuando termine, seleccione **Guardar**.
     + **Mensaje de respuesta inicial**: el mensaje inicial que se envía al usuario después de invocar la intención. Puede proporcionar respuestas, inicializar valores y definir el siguiente paso que debe dar el bot para responder al usuario al principio de la intención.
     + **Respuestas y peticiones de confirmación**: se utilizan para confirmar o rechazar el cumplimiento de la intención. El mensaje de confirmación pide al usuario que revise los valores del slot. Por ejemplo, «He reservado una habitación de hotel para el viernes. ¿Es correcto?». La respuesta negativa se envía al usuario cuando rechaza la confirmación. 
     + **Mensaje de respuesta de cierre**: la respuesta que se envía al usuario cuando se ha cumplido la intención y se han reproducido todos los demás mensajes. Por ejemplo, “Gracias por reservar una habitación de hotel”. 

Para obtener más información sobre las intenciones y las configuraciones avanzadas de los bots de Amazon Lex, consulte [Añadir intenciones](https://docs.aws.amazon.com/lexv2/latest/dg/add-intents.html) en la Guía para desarrolladores de *Amazon Lex V2*.

# Cómo crear un flujo y agregar el bot de IA conversacional
<a name="create-bot-flow"></a>

En este tema, se explica cómo añadir a un flujo un bot de IA conversacional creado anteriormente. 

1. En el menú de navegación de Amazon Connect, seleccione **Direccionamiento**, **Flujos**, **Crear flujo** y escriba un nombre para el flujo.

1. En **Interactuar**, arrastre un bloque [Get customer input (Obtener entrada del cliente)](get-customer-input.md) al diseñador y conéctelo al bloque **Punto de entrada**.

1. Seleccione el bloque [Get customer input (Obtener entrada del cliente)](get-customer-input.md) para abrirlo.

1. En la pestaña Amazon Lex, utilice los menús desplegables para seleccionar el bot que creó anteriormente y el alias, como se muestra en la imagen siguiente.  
![\[Página de propiedades del bloque Obtener la entrada del cliente, con la pestaña Amazon Lex\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/get-customer-input-lextab.png)

1. **En la sección **Mensaje del cliente o inicialización del bot**, elija Text-to-speech el texto del chat.**

1. Escriba un mensaje que proporcione a la persona que efectúa la llamada información sobre lo que puede hacer. Por ejemplo, utilice un mensaje que coincida con las intenciones que se utilizan en el bot, como *Para consultar el saldo de su cuenta, pulse o diga 1. Para hablar con un agente, pulsa o di 2*. En la siguiente imagen, se muestra la página de propiedades del bloque [Get customer input (Obtener entrada del cliente)](get-customer-input.md).  
![\[La sección de inicialización del bot o de la petición del cliente en el bloque Obtener la entrada del cliente\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/customer-prompt-bot-initialization.png)

1. En **Intenciones**, seleccione **Agregar una intención** y, a continuación, introduzca o busque las intenciones del cliente que deberían activar el bot.   
![\[La sección Intenciones, el botón Agregar una intención y el botón Buscar\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/add-intent.png)

   Al buscar intenciones, puede filtrar por configuración regional. La configuración regional solo se usa para filtrar, no está vinculada a la configuración regional cuando se activa el bot. Por ejemplo, puede encontrar la BookHotel intención utilizando la configuración regional en inglés (EE. UU.), pero la intención se puede devolver correctamente tanto en inglés (EE. UU.) como en inglés (GB).

   Para obtener más información sobre la búsqueda de intenciones, consulte [Búsqueda de intenciones](#find-notlisted-intents). 

   En la siguiente imagen se muestra el cuadro de diálogo para filtrar las intenciones por configuración regional.  
![\[Opción de búsqueda y el cuadro de diálogo Filtrar mediante la configuración regional para añadir intenciones\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/filter-intents.png)

1. Seleccione **Save**.

**importante**  
Si utiliza un bot de Amazon Lex V2, su atributo de idioma en Amazon Connect debe coincidir con el modelo de idioma utilizado para crear su bot de Lex. Es diferente de Amazon Lex (clásico). Utilice un bloque [Establecer voz](set-voice.md#set-voice-lexv2bot) para indicar el modelo de idioma de Amazon Connect o utilice un bloque [Establecer atributos de contacto](set-contact-attributes.md).

## Búsqueda de intenciones para los bots de Amazon Lex V1, los bots entre regiones o los bots configurados de forma dinámica
<a name="find-notlisted-intents"></a>

El cuadro desplegable **Intenciones** no muestra las intenciones de los bots de Amazon Lex V1 ni los bots interregionales, y tampoco indica si el ARN del bot está configurado de forma dinámica. Pruebe las siguientes opciones para buscar esas intenciones.
+ Comprueba si la **AmazonConnectEnabled**etiqueta está establecida en true:

  1. Abra la consola de Amazon Lex, seleccione **Bots**, seleccione el bot correspondiente y, a continuación, seleccione **Etiquetas**.

  1.  Si la **AmazonConnectEnabled**etiqueta no está presente, add **AmazonConnectEnabled = true**.

  1.  Regrese al sitio web Amazon Connect de administración. Actualice el diseñador de flujos para ver las selecciones en el bloque **Obtener la entrada del cliente**.
+ Compruebe si la versión está asociada al alias: 

  1. En el sitio web de Amazon Connect administración, selecciona **Enrutamiento**, **Flujos**, el bot y los **alias**. Compruebe que **Utilizar en el flujo y en los módulos de flujo** esté habilitado, como se muestra en la siguiente imagen.  
![\[La pestaña Alias y la opción Utilizar en el flujo y en los módulos de flujo\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-alias-enabled.png)

  1. Actualice el diseñador de flujos para ver las selecciones en el bloque **Obtener la entrada del cliente**.

# Configurar proveedores de voz de terceros en Amazon Connect
<a name="configure-third-party-speech-providers"></a>

Puede configurar proveedores de terceros speech-to-text (STT) y text-to-speech (TTS) en Amazon Connect para ampliar la cobertura lingüística, mejorar la precisión del reconocimiento y ofrecer una voz sintetizada más expresiva. En esta sección, se describe cómo configurar los proveedores de STT de terceros para los bots y los proveedores de TTS de terceros para su uso en los flujos de contacto.

**Topics**
+ [Configurar proveedores de terceros speech-to-text (STT)](configure-third-party-stt.md)
+ [Configure proveedores externos text-to-speech (TTS)](configure-third-party-tts.md)
+ [Puntos finales y regiones para proveedores de STT externos](endpoints-regions-third-party-stt.md)
+ [Gestión de secretos y políticas de recursos](managing-secrets-resource-policies.md)

# Configurar proveedores de terceros speech-to-text (STT)
<a name="configure-third-party-stt"></a>

Utilice las siguientes instrucciones para configurar un proveedor de terceros speech-to-text (STT).

## Requisitos previos
<a name="stt-prerequisites"></a>
+ Un bot con una configuración regional existente.
+ Una clave de API de un proveedor de STT externo almacenada en. AWS Secrets Manager Para obtener más información sobre cómo almacenar las claves de API como secretos en Secrets Manager, consulte [Crear un AWS Secrets Manager secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).
+ Una política de recursos de Secrets Manager que permite a Amazon Connect recuperar el secreto. Para obtener más información, consulte [Gestión de secretos y políticas de recursos](managing-secrets-resource-policies.md).
+ AWS KMS key permisos que permiten el descifrado. Para obtener más información, consulte [Gestión de secretos y políticas de recursos](managing-secrets-resource-policies.md).
+ Un ID de modelo de proveedor y un ARN de Secrets Manager.

## Paso 1: Abra el panel de configuración del modelo de voz
<a name="stt-step1"></a>

1. Inicia sesión en el sitio web de administración de Amazon Connect.

1. Selecciona **Bots** y, a continuación, elige el bot.

1. Elige la configuración regional.

1. En la sección **Modelo de voz**, elija **Editar** para abrir el modal de configuración.  
![\[La página de configuración de tu bot de IA conversacional.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/Lex/01-airlinesbot.png)

## Paso 2: elige el tipo de modelo
<a name="stt-step2"></a>

En el menú desplegable **Tipo de modelo**, selecciona Conversión de **voz a texto (STT)**. Esto garantiza que la configuración regional esté configurada para la transcripción en lugar de hacerlo. speech-to-speech

![\[El cuadro de diálogo del modelo de voz.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/Lex/02-speech-model.png)


## Paso 3: Revise la configuración predeterminada del modelo de voz
<a name="stt-step3"></a>

De forma predeterminada, se selecciona Amazon como speech-to-text proveedor. Revisa la configuración actual antes de cambiarte a un proveedor externo.

![\[El cuadro de diálogo del modelo de voz con Amazon seleccionado como proveedor de voz.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/Lex/03-speech-model-amazon.png)


## Paso 4: Elige un proveedor de STT externo
<a name="stt-step4"></a>

Abre el menú desplegable del **proveedor de voz** y elige un proveedor externo speech-to-text compatible.

![\[El cuadro de diálogo del modelo de voz con Deepgram seleccionado como proveedor de voz.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/Lex/04-speech-model-deepgram.png)


## Paso 5: Introduzca el ID del modelo y el ARN de Secrets Manager
<a name="stt-step5"></a>

1. En **Model ID**, introduzca el nombre del modelo del proveedor.
   + Algunos proveedores requieren una longitud mínima o máxima.
   +  IDs Los modelos distinguen mayúsculas de minúsculas y deben coincidir con la documentación del proveedor.

1. En **Secrets Manager ARN**, introduzca el ARN del secreto que contiene la clave de API del proveedor.
   + El secreto debe estar en la misma región que la instancia de Amazon Connect.
   + Las políticas de claves de Secrets Manager y KMS deben permitir a Amazon Connect acceder a la clave y descifrarla. Para obtener más información, consulte [Gestión de secretos y políticas de recursos](managing-secrets-resource-policies.md).

1. Seleccione **Continuar** para guardar los cambios.

## Cree y active la configuración regional
<a name="stt-build-activate"></a>

**Si la configuración regional muestra **cambios no integrados**, selecciona el idioma de compilación.** La nueva configuración de STT se activa después de una compilación correcta.

## Comportamiento en tiempo de ejecución (STT)
<a name="stt-runtime-behavior"></a>
+ Amazon Connect enruta el audio al speech-to-text proveedor externo elegido.
+ No es necesario realizar cambios en los flujos ni en las funciones Lambda.
+ En los registros IDs aparecen errores como credenciales o modelos no válidos.
+ Las métricas y los análisis siguen funcionando con normalidad.

## Solución de problemas (STT)
<a name="stt-troubleshooting"></a>
+ **ID de modelo no válido**: confirme el valor con la documentación del proveedor.
+ **Acceso denegado**: compruebe los permisos de Secrets Manager y KMS.
+ No se **puede compilar la configuración regional**: asegúrese de que los campos obligatorios sean válidos.
+ **Alta latencia**: valide la configuración de la región del proveedor.

# Configure proveedores externos text-to-speech (TTS)
<a name="configure-third-party-tts"></a>

Utilice las siguientes instrucciones para configurar un proveedor de terceros text-to-speech (TTS).

## Requisitos previos
<a name="tts-prerequisites"></a>
+ Existe un flujo de contactos (o tiene permiso para crearlo).
+ Una clave de API de un proveedor de TTS externo almacenada en AWS Secrets Manager. Para obtener más información sobre cómo almacenar las claves de API como secretos en Secrets Manager, consulte [Crear un AWS Secrets Manager secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).
+ Una política de recursos de Secrets Manager que permite a Amazon Connect recuperar la clave. Para obtener más información, consulte [Gestión de secretos y políticas de recursos](managing-secrets-resource-policies.md).
+ AWS KMS key permisos que permiten el descifrado. Para obtener más información, consulte [Gestión de secretos y políticas de recursos](managing-secrets-resource-policies.md).
+ Modelos y valores de voz específicos del proveedor.

## Paso 1: Abrir el flujo de contactos
<a name="tts-step1"></a>

1. Inicia sesión en el sitio web de administración de Amazon Connect.

1. Elige **Flows**.

1. Elija un flujo existente o cree uno nuevo.

## Paso 2: Agrega o elige un Set Voice Block
<a name="tts-step2"></a>

1. En el diseñador de Flow, busca **Set voice**.

1. Arrastra el bloque al lienzo o elige uno existente.

1. Elija el bloque para abrir su panel de configuración.

## Paso 3: Elige un proveedor de TTS externo
<a name="tts-step3"></a>

En el menú desplegable del **proveedor de voz**, elige el text-to-speech proveedor externo que deseas usar.

![\[El panel de configuración «Configurar voz» muestra una lista desplegable de proveedores de voz.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/Lex/08-set-voice-amazon.png)


## Paso 4: Especificar el modelo, la voz, el ARN de Secrets Manager y el idioma
<a name="tts-step4"></a>

1. En **Modelo**, elija **Configurar manualmente** e introduzca el modelo del proveedor.

1. En **Voz**, selecciona **Configurar manualmente** e introduce la voz del proveedor.

1. En **Secrets Manager ARN**, selecciona **Establecer manualmente** e introduce el ARN del secreto del proveedor.
   + El secreto debe estar en el mismo lugar. Región de AWS
   + AWS Secrets Manager y las políticas de KMS deben permitir la recuperación y el descifrado. Para obtener más información, consulte [Gestión de secretos y políticas de recursos](managing-secrets-resource-policies.md).

1. En **Idioma**, elija **Configurar manualmente** y elija un idioma que sea compatible con la voz del proveedor.  
![\[El panel de configuración del «proveedor de voz» muestra el proveedor de voz ElevenLabs externo.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/Lex/09-voice-provider-elevenlabs.png)

## Paso 5: Guarda y publica el flujo
<a name="tts-step5"></a>

1. Elija **Guardar** en el diseñador de flujos.

1. Elija **Publicar** para activar la configuración de flujo actualizada.

## Comportamiento en tiempo de ejecución (TTS)
<a name="tts-runtime-behavior"></a>
+ Amazon Connect envía el texto al proveedor de TTS para su síntesis.
+ El audio devuelto se reproduce al cliente.
+ Los registros de ejecución incluyen errores del proveedor, como credenciales o valores de modelo no válidos.

## Solución de problemas (TTS)
<a name="tts-troubleshooting"></a>
+ **Sin salida de audio**: valide los valores del modelo y de la voz.
+ **Errores de autenticación**: compruebe los permisos de Secrets Manager y KMS.
+ **Atributos dinámicos**: asegúrese de que los valores de tiempo de ejecución se correspondan con los parámetros de proveedor válidos.
+ **Alta latencia**: valide la alineación de la región del proveedor.

# Puntos finales y regiones para proveedores de STT externos
<a name="endpoints-regions-third-party-stt"></a>

De forma predeterminada, Amazon Connect se comunica con los siguientes puntos de enlace:

**Deepgram**: [https://api.deepgram.com](https://api.deepgram.com)

**ElevenLabs**[: https://api.elevenlabs.io](https://api.elevenlabs.io)

Puedes especificar una región de proveedor diferente junto con tu clave de API como parte del objeto JSON:

```
{
  "apiToken": "XXXXX",
  "apiTokenRegion": "xx"
}
```

Se admiten las siguientes regiones:


| **Proveedor** | **apiTokenRegion** | **Punto de conexión** | 
| --- | --- | --- | 
| Deepgram | eu | [https://api.eu.deepgram.com](https://api.eu.deepgram.com)(solo compatible con) speech-to-text | 
| Deepgram | \$1SHORT\$1UID\$1. \$1REGION\$1SUBDOMINIO\$1 | https://\$1SHORT\$1UID\$1.\$1REGION\$1SUBDOMAIN\$1.api.deepgram.com(Puntos finales dedicados a Deepgram) | 
| ElevenLabs | us | [https://api.us.elevenlabs.io](https://api.us.elevenlabs.io) | 
| ElevenLabs | eu | [https://api.eu.residency.elevenlabs.io](https://api.eu.residency.elevenlabs.io) | 
| ElevenLabs | in | [https://api.in.residency.elevenlabs.io](https://api.in.residency.elevenlabs.io) | 

# Gestión de secretos y políticas de recursos
<a name="managing-secrets-resource-policies"></a>

Al [configurar un proveedor de voz externo](configure-third-party-speech-providers.md), tendrá que crear un secreto en Secrets Manager que contenga la clave de API del proveedor de voz. La creación del secreto es un proceso de dos pasos:
+ Crea el secreto que contiene la clave de API. Para obtener instrucciones, consulta [Crear un AWS Secrets Manager secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).
+ Configure los permisos necesarios:
  + Adjunte al secreto una política basada en recursos.
  + Adjunta una política basada en recursos a la clave de KMS (no a la clave de API) asociada al secreto. La clave KMS protege la clave de API del secreto.

  Estas políticas permiten a Amazon Connect acceder a la clave de API incluida en el secreto. Tenga en cuenta que no puede usar la clave `aws/secretsmanager` KMS predeterminada; tendrá que crear una clave nueva o usar una clave existente administrada por el cliente. Para obtener más información sobre cómo las claves de KMS protegen los secretos, consulte [Cifrado y descifrado secretos en Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html).

Asegúrese de que la política basada en recursos para el secreto incluya las condiciones secundarias `aws:SourceArn` confusas (consulte El `aws:SourceAccount` [problema del diputado confuso) y que la](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) política basada en recursos para la clave de KMS incluya la condición. `kms:EncryptionContext:SecretARN` Esto garantizará que Amazon Connect solo pueda acceder a su clave secreta de API en el contexto de una única instancia específica y solo pueda acceder a su clave de KMS en el contexto de esa instancia y del secreto específico.

## Ejemplo de una política basada en recursos para los secretos de Secrets Manager
<a name="example-resource-policy-secrets-manager"></a>

El siguiente es un ejemplo de una política basada en recursos que puede adjuntar a su secreto.

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///"
        }
      }
    }
  ]
}
```

## Ejemplo de una política basada en recursos para s AWS KMS key
<a name="example-resource-policy-kms-keys"></a>

El siguiente es un ejemplo de una política basada en recursos que puede adjuntar a su clave de KMS.

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///",
          "kms:EncryptionContext:SecretARN": "///the ARN of your secrets manager secret///"
        }
      }
    }
  ]
}
```

## Adjuntar una política basada en recursos a tu secreto de Secrets Manager
<a name="attaching-resource-policy-secrets-manager"></a>

[Para adjuntar una política basada en recursos a tu secreto, ve a la consola Secrets Manager de la Consola de administración de AWS, navega hasta tu secreto, selecciona **Editar permisos o Permisos** de **recursos y, a continuación, añade o modifica la política de recursos directamente en la página para que tenga** un aspecto similar al del ejemplo.](#example-resource-policy-secrets-manager) También puedes adjuntar la política de recursos mediante el `put-resource-policy` comando AWS CLI's o mediante programación mediante la operación de la API. [PutResourcePolicy](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html)

## Adjuntar una política basada en recursos a la clave de KMS
<a name="attaching-resource-policy-kms-key"></a>

[Para adjuntar una política basada en recursos a su clave de KMS, vaya a la AWS Key Management Service consola que contiene Consola de administración de AWS, navegue hasta su clave de KMS y edite la política de claves para que tenga un aspecto similar al del ejemplo.](#example-resource-policy-kms-keys) También puedes actualizar la clave mediante el `put-key-policy` comando AWS CLI's o mediante programación mediante la operación de API. [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html)

## Claves de API rotativas
<a name="rotating-api-keys"></a>

Recomendamos rotar las claves de API al menos cada 90 días para minimizar el riesgo de que se vean comprometidas y mantener un proceso de rotación de claves bien practicado en situaciones de emergencia.

Para rotar una clave de API, debes rotar el secreto en el que se encuentra. Consulte [Rotate Secrets Manager secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) en la *Guía del usuario de Secrets Manager* para obtener más información sobre cómo rotar secretos. Al rotar una clave de API, se recomienda esperar a que el uso de la clave anterior se reduzca a cero antes de revocar la clave de API anterior para garantizar que las solicitudes en curso no se vean afectadas.

# Cree la intención de un agente de Connect AI a partir de una instancia de Amazon Connect
<a name="create-qic-intent-connect"></a>

Puede utilizar las capacidades de IA generativa impulsadas por los agentes de Connect AI para su bot activando [AMAZON. QinConnectIntent](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-qinconnect.html)en tu bot. Esta es una intención integrada de Amazon Lex. 

Complete los siguientes pasos para habilitar los agentes de Connect AI.

1. Abre el bot al que quieres añadir el **AMAZON. QinConnectIntent**intención.

1. Vaya a la pestaña **Configuración** en la interfaz del creador de bots.

1. Habilita el **AMAZON. QinConnectIntent**intente activando el conmutador. En la imagen siguiente, se muestra la ubicación de dicha opción.  
![\[Ejemplo de página de configuración para un bot no configurado\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/enable-qic-bot.png)

   La opción de **intención de los agentes de Connect AI** solo es compatible con los bots creados directamente en el sitio web de Amazon Connect administración. Para añadir las capacidades de Amazon Q a las intenciones de los bots creados fuera del sitio web de Amazon Connect administración, utilice la consola Amazon Lex para actualizar la configuración.

1. En el cuadro **de diálogo de intención de los agentes de Connect AI**, utilice el menú desplegable para elegir el nombre de recurso de Amazon (ARN) de la intención de los agentes de Connect AI.  
![\[Un cuadro de diálogo de intención de los agentes de Enable Connect AI.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/qic-intent-dropdownbox.png)

1. Seleccione **Confirmar** para añadir **AMAZON. QinConnectIntent**soporte de intenciones.
**importante**  
No puedes usar **AMAZON. **QInConnectIntent**junto con intenciones sin expresiones específicas, como **AMAZON.QN, AMAZON. AIntent** BedrockAgentIntent**en la misma configuración regional del bot. Para obtener más información, consulta [AMAZON. QinConnectIntent](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-qinconnect.html)en la *Guía para desarrolladores de Amazon Lex V2*. 

# Creación de versiones y alias de bots en Amazon Connect
<a name="create-bot-version"></a>

Para controlar qué implementación de bot usa su cliente, debe crear versiones y alias. 
+ Una versión actúa como una instantánea numerada de su trabajo.
+ Puede asignar un alias a la versión de su bot que quiere que esté disponible para sus clientes.

Entre la creación de versiones, puede seguir actualizando la versión de borrador de su bot sin que ello afecte a la experiencia del usuario. Este proceso es crucial para implementar bots en un entorno de producción. 

## Creación de una versión
<a name="create-bot-version1"></a>

La creación de una nueva versión conserva el estado actual de la configuración de los bots. Complete los siguientes pasos para crear una nueva versión de su bot de Amazon Lex en Amazon Connect.

1. Abra el bot para el que desea crear una nueva versión.

1. Seleccione la pestaña **Versiones** y **Crear versión**.  
![\[La pestaña Versiones y el botón Crear versión\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-versionstab.png)

1. En el cuadro de diálogo **Crear versión**:

   1. Introduzca una descripción de la versión (opcional, pero es recomendable para hacer un seguimiento de los cambios)

   1. Seleccione **Crear**. La imagen siguiente muestra un ejemplo del cuadro de diálogo **Crear versión**.  
![\[Cuadro de diálogo Crear versión\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/create-version-bot.png)

Una vez creada la versión, puede asociarla a alias o utilizarla para volver a un estado anterior del bot.

## Creación de un alias de
<a name="create-bot-alias-association"></a>

Un alias es un puntero hacia una versión específica de un bot. Con un alias, puede actualizar fácilmente la versión que usan las aplicaciones cliente. Por ejemplo, puede apuntar un alias hacia la versión 1 de su bot. Cuando esté listo para actualizar el bot, puede crear la versión 2 y cambiar el alias para que apunte a la nueva versión. Dado que sus aplicaciones utilizan el alias en lugar de una versión específica, todos los clientes obtienen las nuevas funcionalidades sin necesidad de actualizarse. Esto permite hacer una implementación controlada y una gestión sencilla de las versiones. 

**importante**  
Si quiere usar el bot en un flujo, deberá seleccionar **Habilitar para su uso en flujos y módulos de flujo** al crear un alias.

Complete los siguientes pasos para crear un alias para su bot de Amazon Lex.

1. Abra el bot para el que quiera agregar el alias.

1. Seleccione la pestaña **Alias** y elija **Crear alias**.  
![\[La pestaña Alias y el botón Crear alias\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-aliases-button.png)

1. En el cuadro de diálogo **Crear alias**:

   1. Introduzca un nombre exclusivo para el alias.

   1. Proporcione una descripción para el alias (opcional, pero recomendable).

   1. Selecciona la versión del bot que quiera asociar a este alias.

   1. (Recomendado) Seleccione **Habilitar para su uso en flujos y módulos de flujo**. Este paso es obligatorio si quiere usar el bot en un flujo.

   1. Seleccione **Crear**. La siguiente imagen muestra un ejemplo del cuadro de diálogo **Crear alias**.  
![\[Cuadro de diálogo Crear alias\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-create-alias.png)

Para obtener más información sobre el control de versiones y los alias en Amazon Lex V2, consulte [Control de versiones y alias con el bot de Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/versions-aliases.html) en la *Guía para desarrolladores de Amazon Lex V2*. 

# Análisis del rendimiento de un bot de IA conversacional en Amazon Connect
<a name="lex-bot-analytics"></a>

Puede utilizar las completas herramientas de análisis de Amazon Connect para evaluar y optimizar el rendimiento de sus bots de IA conversacional. Esta información le permite identificar las interacciones que hayan ido bien, descubrir los errores y visualizar los patrones de conversación para mejorar continuamente la experiencia del cliente.

El panel de análisis incluye métricas clave, como la tasa de reconocimiento de las expresiones y el rendimiento de las conversaciones. Estas métricas le ayudan a entender las tasas de éxito y fracaso de las interacciones del bot con los clientes.

**nota**  
La página de análisis del bot muestra los datos de las conversaciones que se desencadenan únicamente a partir de flujos. Puedes activar bots de forma externa mediante Lex APIs o integraciones personalizadas, pero los datos de esas conversaciones no se reflejan en esta página.

**Cómo ver los análisis del bot**

1. Inicia sesión en el sitio web de Amazon Connect administración en *instance name* https://.my.connect.aws/. Utilice una cuenta de administrador o una cuenta que tenga los siguientes permisos en el perfil de seguridad.
   + **Canales y flujos** - **Bots** - **Ver**
   + **Canales y flujos** - **Bots** - **Editar**
   + **Análisis y optimización** - **Métricas históricas** - **Acceso**

1. En el menú de navegación izquierdo, elija **Enrutamiento** y **Flujos**.

1. En la página **Flujos**, seleccione **Bots**, elija el bot cuyo rendimiento quiera evaluar y seleccione **Análisis**.  
![\[La página Flujos y la pestaña Análisis\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-analytics1.png)

 En la siguiente imagen, se muestran datos de análisis de muestra.

![\[La pestaña Análisis, con datos de análisis de muestra para un bot\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-analytics.png)


Use estos análisis para detectar cosas que se puedan perfeccionar, ajustar las respuestas del bot y mejorar la experiencia general del cliente.

Para obtener métricas adicionales y técnicas de análisis avanzadas específicas de Amazon Lex, consulte [Supervisión del rendimiento de los bots en Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/monitoring-bot-performance.html).

# Métricas y análisis de los bots de Amazon Connect
<a name="bot-metrics"></a>

[Las siguientes métricas basadas en el flujo están disponibles en la versión 2 y 2. [El panel Rendimiento de flujos y bots conversacionales](flows-performance-dashboard.md) GetMetricData](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html)

## Tiempo medio de conversación entre bots
<a name="average-bot-conversation-time-metric"></a>

Esta métrica mide la duración media de las conversaciones finalizadas para las que se inició el recurso invocador (flujo o módulo de flujo) entre la hora de inicio y la hora de finalización especificadas. 

**Tipo de métrica**: cadena (*hh:mm:ss*)

**Categoría de métrica**: métrica basada en flujo

**Cómo acceder mediante la API de Amazon Connect**: 
+ GetMetricDataIdentificador de métricas de la API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html): `AVG_BOT_CONVERSATION_TIME`

   Se puede filtrar según los resultados de una conversación específicos con un filtro de nivel métrico `BOT_CONVERSATION_OUTCOME_TYPE`.

**Lógica de cálculo**:
+ Suma (hora de inicio de la conversación y hora de finalización de la conversación de todas las conversaciones filtradas)/(recuento de todas las conversaciones filtradas)

**Notas:**
+ Los datos de esta métrica están disponibles a partir del 2 de diciembre de 2024 a las 0:00:00 GMT.

## Promedio de turnos de una conversación entre bots
<a name="average-bot-conversation-turns-metric"></a>

Esta métrica proporciona el número promedio de turnos de las conversaciones finalizadas para las que el recurso invocador (flujo o módulo de flujo) se inició entre la hora de inicio y la hora de finalización especificadas. 

Un turno es una solicitud de la aplicación cliente y una respuesta del bot.

**Tipo de métrica**: doble

**Categoría de métrica**: métrica basada en flujo

**Cómo acceder mediante la API de Amazon Connect**: 
+ GetMetricDataIdentificador de métrica de la API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html): `AVG_BOT_CONVERSATION_TURNS`

   Se puede filtrar según los resultados de una conversación específicos con un filtro de nivel métrico `BOT_CONVERSATION_OUTCOME_TYPE`.

**Lógica de cálculo**:
+ Suma (turno de conversación de todas las conversaciones filtradas)/(recuento de todas las conversaciones filtradas)

**Notas:**
+ Los datos de esta métrica están disponibles a partir del 2 de diciembre de 2024 a las 0:00:00 GMT.

## Conversaciones con bots finalizadas
<a name="bot-conversations-completed-metric"></a>

Esta métrica proporciona el recuento de las conversaciones completadas en las que el recurso invocador (flujo o módulo de flujo) se inició entre la hora de inicio y la hora de finalización especificadas. La hora de finalización de la conversación puede ser superior a la hora de finalización especificada. 

Por ejemplo, si solicita esta métrica con la hora de inicio a las 9:00 y la hora de finalización a las 10:00, el resultado incluye las conversaciones en las que el recurso invocador (flujo o módulo de flujo):
+ comenzó a las 9:15 y terminó a las 9:40;
+ comenzó a las 9:50 y terminó a las 10:10.

Pero excluirá las conversaciones para las que el recurso invocador (flujo o módulo de flujo):
+ comenzó a las 8:50 y terminó a las 9:10.

**Tipo de métrica**: entero

**Categoría de métrica**: métrica basada en flujo

**Cómo acceder mediante la API de Amazon Connect**: 
+ GetMetricDataIdentificador de métrica de la API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html): `BOT_CONVERSATIONS_COMPLETED`

  Se puede filtrar según los siguientes resultados de la conversación mediante un filtro de nivel métrico `BOT_CONVERSATION_OUTCOME_TYPE`.
  + EXITOSA: la intención final de la conversación se clasifica como un *éxito*.
  + FALLIDA: la intención final de la conversación es fallida. La conversación también falla si Amazon Lex V2 utiliza de forma predeterminada el`AMAZON.FallbackIntent`.
  + DESCARTADA: el cliente no responde antes de que la conversación se clasifique como *exitosa* o *fallida*.

**Lógica de cálculo**:
+ Recuento total de conversaciones.

**Notas:**
+ Los datos de esta métrica están disponibles a partir del 2 de diciembre de 2024 a las 0:00:00 GMT.

## Ambas intenciones cumplidas
<a name="bot-intents-completed-metric"></a>

Esta métrica proporciona el recuento de intenciones completadas. Incluye las intenciones de las conversaciones finalizadas en las que el recurso invocador (flujo o módulo de flujo) comenzó entre la hora de inicio y la hora de finalización especificadas.

**Tipo de métrica**: entero

**Categoría de métrica**: métrica basada en flujo

**Cómo acceder mediante la API de Amazon Connect**: 
+ GetMetricDataIdentificador métrico de la API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html): `BOT_INTENTS_COMPLETED`

  Se puede filtrar según los siguientes resultados de la conversación mediante un filtro de nivel métrico `BOT_CONVERSATION_OUTCOME_TYPE`.

  Se puede filtrar según los siguientes resultados de intención mediante un filtro de nivel métrico `BOT_INTENTS_OUTCOME_TYPE`.
  + EXITOSA: el bot cumplió satisfactoriamente la intención. Se cumple una de las siguientes condiciones:
    + *El *estado* de intención es *ReadyForFulfillment*y el tipo de *DialogAction es Cerrar*.*
    + El `state` de la intención es `Fulfilled` y el tipo de `dialogAction` es `Close`.
  + FALLIDA: el bot no cumplió con la intención. El estado de la intención. Se cumple una de las siguientes condiciones:
    + El `state` de la intención es `Failed` y el `type` de `dialogAction` es `Close` (por ejemplo, el usuario rechazó la solicitud de confirmación).
    + El bot cambia a la `AMAZON.FallbackIntent` antes de que se complete la intención.
  + CAMBIADA: el bot reconoce una intención diferente y cambia a esa intención antes de que la intención original se clasifique como *exitosa* o *fallida*.
  + DESCARTADA: el cliente no responde antes de que la intención se clasifique como *exitosa* o *fallida*.

**Lógica de cálculo**:
+ Recuento total de intentos.

**Notas:**
+ Los datos de esta métrica están disponibles a partir del 2 de diciembre de 2024 a las 0:00:00 GMT.

## Porcentaje de resultados de conversaciones con bots
<a name="percent-bot-conversations-outcome-metric"></a>

Esta métrica proporciona el porcentaje del total de conversaciones que terminaron con el tipo de resultado especificado en el filtro de nivel de métrica (`BOT_CONVERSATION_OUTCOME_TYPE`). Solo incluye las conversaciones finalizadas para las que el recurso invocador (flujo o módulo de flujo) se inició entre la hora de inicio y la hora de finalización especificadas. 

**Tipo de métrica**: porcentaje

**Categoría de métrica**: métrica basada en flujo

**Cómo acceder mediante la API de Amazon Connect**: 
+ GetMetricDataIdentificador métrico de la API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html): `PERCENT_BOT_CONVERSATIONS_OUTCOME`

**Cómo acceder mediante el sitio web Amazon Connect de administración**: 

**Lógica de cálculo**:
+ (Recuento de conversaciones con BOT\$1CONVERSATION\$1OUTCOME\$1TYPE)/(recuento total de conversaciones)\$1100

**Notas:**
+ Los datos de esta métrica están disponibles a partir del 2 de diciembre de 2024 a las 0:00:00 GMT.

## Porcentaje de resultados de intenciones de bots
<a name="percent-bot-intents-outcome-metric"></a>

Esta métrica proporciona el porcentaje de intenciones que terminaron en el tipo de resultado especificado en el filtro de nivel de métrica (`BOT_INTENT_OUTCOME_TYPE`). Incluye las intenciones de las conversaciones finalizadas en las que el recurso invocador (flujo o módulo de flujo) comenzó entre la hora de inicio y la hora de finalización especificadas.

**Tipo de métrica**: porcentaje

**Categoría de métrica**: métrica basada en flujo

**Cómo acceder mediante la API de Amazon Connect**: 
+ GetMetricDataIdentificador métrico de la API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html): `PERCENT_BOT_INTENTS_OUTCOME`

**Cómo acceder mediante el sitio web Amazon Connect de administración**: 

**Lógica de cálculo**:
+ (Recuento de intentos con BOT\$1INTENT\$1OUTCOME\$1TYPE)/(recuento total de intentos) \$1 100

# Soporte de configuración avanzada de bots de Amazon Connect
<a name="bot-advanced-config"></a>

La característica de configuración avanzada le permite hacer personalizaciones detalladas en su bot sin tener que ir a la consola de Amazon Lex.

1. En el sitio web de Amazon Connect administración, en la barra de navegación izquierda, selecciona **Flows**. Seleccione la pestaña **Bots** y elija el bot con el que desea trabajar.

1. Seleccione el botón **Configuraciones avanzadas**, como se muestra en la imagen siguiente.  
![\[El botón de configuraciones avanzadas de la página de detalles de un bot\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-advanced-config.png)

   Esta acción cambiará la vista a una interfaz más detallada en la que podrá acceder a más características para personalizar el bot. 

1. Para volver a la interfaz de usuario sencilla del bot, seleccione **Resumen de la configuración**, como se muestra en la siguiente imagen.  
![\[Una página de configuración avanzada y el botón de resumen de la configuración\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/bot-adv-config2.png)

# Agregar un bot de Amazon Lex a Amazon Connect
<a name="amazon-lex"></a>

**importante**  
**Aviso de fin de soporte**: el 15 de septiembre de 2025, AWS dejaremos de ofrecer soporte para Amazon Lex V1. Después del 15 de septiembre de 2025, ya no podrá acceder a la consola de Amazon Lex V1 ni a los recursos de Amazon Lex V1. Para obtener más información sobre la migración a Amazon Lex V2, consulte [Cómo llevar a cabo la migración de un bot](https://docs.aws.amazon.com/lex/latest/dg/migrate.html).

En este artículo le guiamos por los pasos para agregar un bot de Amazon Lex a Amazon Connect. 

Con Amazon Lex, puede crear interacciones de conversación (bots) que resulten naturales para sus clientes. Los bots de Amazon Connect con Amazon Lex también pueden capturar las entradas de los clientes como dígitos que estos introducen en su teclado numérico cuando se utilizan en un flujo de Amazon Connect. De este modo, los clientes pueden seleccionar la manera en que desean introducir información confidencial, como los números de cuenta. 

Para continuar con este tutorial, necesita lo siguiente: 
+ Una AWS cuenta activa. 
+ Una instancia de Amazon Connect. 

**sugerencia**  
También puede utilizar Amazon Lex para impulsar mensajes interactivos para el chat de Amazon Connect. Los mensajes interactivos son mensajes enriquecidos que presentan un mensaje y opciones de visualización preconfiguradas que un cliente puede seleccionar. Estos mensajes utilizan tecnología de Amazon Lex y se configuran a través de Amazon Lex mediante una Lambda. Para obtener más información, consulte [Adición de mensajes interactivos de Amazon Lex para los clientes en el chat](interactive-messages.md).

## Creación de un bot de Amazon Lex
<a name="lex-bot-create"></a>

En este paso, creará un bot personalizado para demostrar la integración de "pulse o diga" con Amazon Connect. El bot pide a la persona que efectúa la llamada que "pulse o diga" el número de la opción de menú correspondiente a la gestión que desea realizar. En este caso, el objetivo es comprobar el saldo de su cuenta.

------
#### [ Amazon Lex ]

1. Abra la [consola de Amazon Lex](https://console.aws.amazon.com/lexv2/home).

1. Elija **Crear bot**.

1. En la página **Configurar los ajustes del bot**, elija **Crear: Crear un bot en blanco** y proporcione la siguiente información:
   + **Nombre del bot**: para este tutorial, asigne un nombre al bot **AccountBalance**.
   + **Permisos de IAM**: seleccione un rol si tiene uno creado. De lo contrario, elija **Crear un rol con los permisos de Amazon Lex básicos**.
   + **COPPA**: elija si el bot está sujeto a la Ley de Protección de la Privacidad Online de Menores de EE. UU.
   + **Tiempo de espera de la sesión**: elija el tiempo que debe esperar el bot para obtener respuesta del intermediario antes de terminar la sesión.

1. Elija **Siguiente**.

1. Proporcione información específica sobre el idioma y la voz:
   + **Idioma**: seleccione el idioma y la configuración regional en la lista de [idiomas y configuraciones regionales compatibles con Amazon Lex](https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html). 
   + **Interacción por voz**: seleccione la voz que desea que utilice el bot para hablar al intermediario. La voz predeterminada para Amazon Connect es Joanna.

1. Seleccione **Listo**. Se crea el AccountBalance bot y se muestra la página de **intenciones**.

------
#### [ Amazon Lex (Classic) ]

1. Abra la [consola de Amazon Lex](https://console.aws.amazon.com/lex/).

1. Si está creando su primer bot, elija **Empezar**. De lo contrario, elija **Bots, Crear**.

1. En la página **Create your bot (Crear un bot)**, elija **Custom bot (Bot personalizado)** y proporcione la siguiente información:
   + **Nombre del bot**: para este tutorial, asigne un nombre al bot **AccountBalance**.
   + **Voz de salida**: seleccione la voz que desea que utilice el bot para hablar al intermediario. La voz predeterminada para Amazon Connect es Joanna.
   + **Tiempo de espera de la sesión**: elija el tiempo que debe esperar el bot para obtener respuesta del intermediario antes de terminar la sesión.
   + **COPPA**: elija si el bot está sujeto a la Ley de Protección de la Privacidad Online de Menores de EE. UU.

1. Seleccione **Crear**.

------

## Configuración del bot de Amazon Lex
<a name="lex-bot-configure"></a>

En este paso, podrá determinar cómo responde el bot a los clientes proporcionando intenciones, enunciados de muestra, slots para la entrada y control de errores.

En este ejemplo, podrá configurar el bot con dos intenciones: una para consultar la información de la cuenta y otra para hablar con un agente.

### Crea una intención AccountLookup
<a name="lex-bot-create-account-lookup-intent"></a>

------
#### [ Amazon Lex ]

1. Después de crear el bot, se encuentra en la página **Intentos** de la consola de Amazon Lex. Si no estás allí, puedes llegar allí eligiendo **Bots**, **Bot versions **AccountBalance****, **Draft o** **Intents.** Elija **Agregar intento**, **Agregar intento vacío**.

1. En el cuadro **Nombre de la intención**, ingresa **AccountLookup**.

1. Desplácese por la página hasta **Ejemplos de enunciados**. En este paso, introduce expresiones que permiten al cliente expresar la AccountLookup intención. Introduzca los siguientes enunciados y elija **Agregar enunciado** después de cada uno. 
   + **Consultar el saldo de mi cuenta**
   + **Uno**: se asigna a la intención la expresión «uno» o la pulsación de la tecla «1». **AccountLookup**

   En la imagen siguiente se muestra dónde agregar el enunciado en la sección **Ejemplos de enunciados**.  
![\[La sección de ejemplos de expresiones de la página Intenciones.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lexv2-enter-utterances.png)

1. Desplácese a la sección **Ranuras** y seleccione **Agregar ranura**. Complete el cuadro de la siguiente forma:

   1. **Requerido para esta intención** = seleccionado.

   1. **Nombre =**. **AccountNumber** 

   1. **Tipo de ranura** = **AMAZON.Number**. 

   1. **Mensajes** = el texto que se pronunciará cuando se responda a la llamada. Por ejemplo, pida a la persona que efectúa la llamada que introduzca su número de cuenta con el teclado: **Utilice el teclado de su teléfono para introducir su número de cuenta**. Elija **Añadir**.

   En la siguiente imagen se muestra una sección **Agregar ranura** completada.  
![\[La sección para agregar ranura de la página Intenciones.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lexv2-add-slots.png)

1. Desplácese hasta la sección **Respuestas de cierre**. Agregue un mensaje para que el bot se lo diga a los clientes. Por ejemplo, **El saldo de su cuenta es de 12346,56 USD**. (Para este tutorial, no vamos a obtener realmente los datos, que es lo que usted haría en la realidad).

   En la siguiente imagen se muestra una sección **Respuestas de cierre** completada.  
![\[La sección de respuestas de cierre de la página Intenciones.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lexv2-response1.png)

1. Seleccione **Guardar intención**.

------
#### [ Amazon Lex (Classic) ]

1. En la consola de Amazon Lex elija el icono **\$1** junto a **Intenciones** y elija **Crear nueva intención**.

1. Nombre la intención **AccountLookup**.

1. Añada un enunciado de muestra, como, por ejemplo, *Conocer el saldo de mi cuenta* y elija el icono **\$1**.

1. Añada un segundo enunciado, como, por ejemplo, *Uno* y elija el icono **\$1**. Esto asigna la expresión «uno» o la pulsación de tecla «1» a la **AccountLookup**intención.
**sugerencia**  
Debe agregar un enunciado de "uno" en el bot, y no el número "1". Esto se debe a que Amazon Lex no admite entradas numéricas directamente. Para evitar esto, después se utilizará la entrada numérica para interactuar con un bot de Lex invocado desde un flujo en este tutorial. 

1. En **Ranuras**, añade una ranura con el nombre. **AccountNumber**

   En la siguiente imagen se muestra la ubicación de la sección **Ranuras** en la página.  
![\[La sección de ranuras de la página Intenciones.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lex-slots.png)

1. En **Tipo de slot**, utilice el menú desplegable para elegir **AMAZON.NUMBER**.

1. En **Pregunta**, añada el texto que se va a pronunciar cuando se responda a la llamada. Por ejemplo, pida a la persona que efectúa la llamada que introduzca su número de cuenta con el teclado: *Utilice el teclado de su teléfono para introducir su número de cuenta*.

1. Elija el icono \$1.

1. Asegúrese de que está seleccionada la casilla de verificación **Obligatorio**.

1. En la sección **Respuesta**, añada el mensaje que desea que el bot diga a los clientes. Por ejemplo, **El saldo de su cuenta es de 12346,56 USD**. 

1. Elija **Guardar intención**.

------

### Crea una SpeakToAgent intención
<a name="lex-bot-create-speaktoagent-intent"></a>

------
#### [ Amazon Lex ]

1. Vaya a la página **Intenciones**: elija **Volver a la lista de intenciones**. 

1. Elija **Agregar intento**, **Agregar intento vacío**. 

1. En el cuadro **Nombre de la intención**, introduzca y **SpeakToAgent**, a continuación, seleccione **Añadir**. 

1. Desplácese hasta la sección **Ejemplos de enunciados**. Introduce las siguientes expresiones, que permiten al cliente expresar la SpeakToAgent intención:
   + **Hablar con un agente**
   + **Dos**

1. Desplácese hasta la sección **Respuestas de cierre**. Agregue un mensaje para que el bot se lo diga a los clientes. Por ejemplo, **De acuerdo, en breve le pondremos en contacto con un agente**.

1. Seleccione **Guardar intención**.

------
#### [ Amazon Lex (Classic) ]

1. En la consola de Amazon Lex elija el icono **\$1** junto a **Intenciones** y elija **Crear nueva intención**.

1. Dé un nombre a la intención. **SpeakToAgent**

1. Seleccione **SpeakToAgent**.

1. Añada un enunciado de muestra, como, por ejemplo, *Hablar con un agente* y elija **\$1**.

1. Añada un segundo enunciado, como, por ejemplo, *Dos* y elija **\$1**.

1. Agregue un mensaje en el que se indique al intermediario que la llamada se está transfiriendo a un agente. Por ejemplo, “De acuerdo, en breve le pondremos en contacto con un agente”.

1. Elija **Guardar intención**.

------

## Creación y prueba del bot de Amazon Lex
<a name="lex-bot-build"></a>

Después de crear un bot, asegúrese de que funciona según lo previsto.

------
#### [ Amazon Lex ]

1. En la parte inferior de la página, elija **Crear**. Esta operación puede tardar un minuto o dos. En la siguiente imagen se muestra dónde se encuentra el botón **Crear**.  
![\[La ubicación del botón Crear en la página.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lexv2-build-test-intent.png)

1. Cuando finalice la creación, elija **Probar**.

1. Probemos la **AccountLookup**intención: en el panel **Probar la versión preliminar**, en el cuadro **Escriba un mensaje**, escriba **1** y pulse Entrar. A continuación, escriba un número de cuenta ficticio y presione Intro. En la siguiente imagen se muestra dónde se introduce la intención.  
![\[El cuadro donde se escribe la intención para probar.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lexv2-test1.png)

   1. Borre el cuadro de prueba.

   1. Escriba las intenciones que desea probar.

1. Para confirmar que la **SpeakToAgent**intención funciona, desactive la casilla de prueba, escriba **2** y presione Entrar. En la siguiente imagen se muestra el aspecto de la prueba después de borrarla e introducir 2.  
![\[El cuadro de prueba.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lexv2-test2.png)

1. Cierre el panel **Probar versión de borrador**.

------
#### [ Amazon Lex (Classic) ]

1. Elija **Compilar**. Esta operación puede tardar un minuto o dos.

1. Cuando haya terminado la creación, elija **Probar chatbot**, como se muestra en la siguiente imagen.  
![\[El botón de prueba del chatbot, en la parte derecha de la página.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lex-test-chatbot.png)

1. **Probemos la **AccountLookup**intención: en el panel **Probar chatbot**, en el cuadro **Chatea con tu bot**, escribe 1.** A continuación, escriba un número de cuenta ficticio. En la imagen siguiente, la flecha señala el cuadro donde se escribe 1.  
![\[El bot de prueba, el cuadro para escribir el mensaje.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lex-test-run.png)

1. Elija **Borrar historial de chat**. 

1. Para confirmar que la **SpeakToAgent**intención funciona, escribe **2**.

------

## Creación de una versión de bot (opcional)
<a name="lex-bot-create-bot-version"></a>

En este paso se crea una nueva versión del bot para utilizarla en un alias. Así se crea un alias que puede utilizarse en un entorno de producción. Los alias de prueba están sujetos a limitaciones más bajas. Aunque se trata de un tutorial de prueba, crear una versión es una práctica recomendada.

------
#### [ Amazon Lex ]

1. Si está en la página **Intenciones**, elija **Volver a la lista de intenciones**.

1. En el menú de la izquierda, seleccione **Versiones del bot**.

1. Seleccione **Crear versión**.

1. Revisa los detalles del **AccountBalance**bot y, a continuación, selecciona **Crear**.

   De este modo, se crea una versión de su bot (versión 1). Puede cambiar de versión en un alias que no sea de prueba sin tener que hacer un seguimiento de qué versión se está publicando.  
![\[La página Versiones con la versión 1 en la lista.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lexv2-version1.png)

------

## Creación de un alias para el bot
<a name="lex-bot-create-alias"></a>

------
#### [ Amazon Lex ]

1. En el menú de la izquierda, elija **Alias**.

1. En la página **Alias**, elija **Crear alias**.

1. En el cuadro **Nombre de alias**, introduzca un nombre, como **Prueba**. Más adelante en este tutorial utilizará este alias para especificar esta versión del bot en su flujo. 
**importante**  
En un entorno de producción, utilice siempre un alias diferente **TestBotAlias**al de Amazon Lex y **\$1LATEST** para Amazon Lex classic. **TestBotAlias**y **\$1LATEST** admiten un número limitado de llamadas simultáneas a un bot de Amazon Lex. Para obtener más información, consulte [Cuotas de tiempo de ejecución](https://docs.aws.amazon.com/lexv2/latest/dg/quotas.html#quotas-service).

1. Para **Versión vinculada**, elija la versión que acaba de crear, como **Versión 1**. 

1. Seleccione **Crear**.

------
#### [ Amazon Lex (Classic) ]

1. Elija **Publicar**.

1. Proporcione un alias para el bot. Utilice el alias para especificar esta versión del bot en el flujo, por ejemplo, **Prueba**.
**importante**  
En un entorno de producción, utilice siempre un alias diferente **TestBotAlias**al de Amazon Lex y **\$1LATEST** para Amazon Lex classic. **TestBotAlias**y **\$1LATEST** admiten un número limitado de llamadas simultáneas a un bot de Amazon Lex. Para obtener más información, consulte [Cuotas del servicio de tiempo de ejecución](https://docs.aws.amazon.com/lex/latest/dg/gl-limits.html#gl-limits-runtime).

1. Elija **Publicar**.

------

## Agregar el bot de Amazon Lex a la instancia de Amazon Connect
<a name="lex-bot-add-to-connect"></a>

------
#### [ Amazon Lex ]

1. Abra la [consola de Amazon Connect](https://console.aws.amazon.com/connect/).

1. Seleccione la instancia de Amazon Connect que desea integrar con su bot de Amazon Lex.  
![\[Página de instancias del centro de contacto virtual de Amazon Connect, alias de instancia.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/instance.png)

1. En el menú de navegación, elija **Flujos**.

1. En **Amazon Lex**, utilice el menú desplegable para seleccionar la región de su bot de Amazon Lex y, a continuación, **AccountBalance**seleccione su bot de Amazon Lex. 

1. Elija el nombre del alias del bot de Amazon Lex en la lista desplegable (**Prueba**) y, a continuación, elija **\$1 Agregar bot de Lex**. En la siguiente imagen se muestra la sección Amazon Lex una vez configurada.  
![\[La sección Amazon Lex de la página de flujos.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lexv2-region-bot.png)

**nota**  
Amazon Connect utiliza las políticas basadas en recursos de Amazon Lex para realizar llamadas a su bot de Amazon Lex. Cuando asocia un bot de Amazon Lex a su instancia de Amazon Connect, la política basada en recursos del bot se actualiza para dar permiso a Amazon Connect a fin de invocar al bot. Para obtener más información sobre las políticas basadas en recursos de Amazon Lex, consulte [Cómo funciona Amazon Lex con IAM](https://docs.aws.amazon.com/lexv2/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies).

------
#### [ Amazon Lex (Classic) ]

1. Abra la [consola de Amazon Connect](https://console.aws.amazon.com/connect/).

1. Seleccione la instancia de Amazon Connect que desea integrar con su bot de Amazon Lex.

1. En el menú de navegación, elija **Flujos de contacto**.

1. En **Amazon Lex**, seleccione la región de su bot de Amazon Lex clásico en la lista desplegable y, a continuación, seleccione su bot de Amazon Lex clásico. Su nombre tendrá el sufijo “(Clásico)”. A continuación, elija **Agregar bot de Lex**.

------

## Creación de un flujo y agregar su bot de Amazon Lex
<a name="lex-bot-create-flow-add-bot"></a>

**importante**  
Si utiliza un bot de Amazon Lex V2, su atributo de idioma en Amazon Connect debe coincidir con el modelo de idioma utilizado para crear su bot de Lex. Es diferente de Amazon Lex (clásico). Utilice un bloque [Establecer voz](set-voice.md#set-voice-lexv2bot) para indicar el modelo de idioma de Amazon Connect o utilice un bloque [Establecer atributos de contacto](set-contact-attributes.md).

A continuación, cree un flujo que utilice el bot de Amazon Lex. Al crear el flujo, debe configurar el mensaje que escucha el intermediario.

1. Inicie sesión en la instancia de Amazon Connect con una cuenta que tenga permisos para los flujos de contacto y los bots de Amazon Lex.

1. En el menú de navegación, elija **Enrutamiento, Flujos, Crear flujo** y escriba un nombre para el flujo.

1. En **Interactuar**, arrastre un bloque [Get customer input (Obtener entrada del cliente)](get-customer-input.md) al diseñador y conéctelo al bloque **Punto de entrada**.

1. Elija el bloque **Obtener la entrada del cliente** para abrirlo. Elija **Texto a voz o texto de chat, Introducir texto**.

1. Escriba un mensaje que proporcione a la persona que efectúa la llamada información sobre lo que puede hacer. Por ejemplo, utilice un mensaje que coincida con las intenciones que se utilizan en el bot, como “Para conocer el saldo de su cuenta, pulse o diga 1. Para hablar con un agente, pulse o diga 2”. En la siguiente imagen se muestra este mensaje en la página Propiedades del bloque **Obtener la entrada del cliente**.  
![\[La página Propiedades del bloque Obtener la entrada del cliente.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lex-get-customer-input.png)

1. Seleccione la pestaña **Amazon Lex**, como se muestra en la siguiente imagen.  
![\[La pestaña Amazon Lex en la página Propiedades del bloque Obtener la entrada del cliente.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lexv2-get-customer-input2.png)

1. En el menú desplegable **Nombre**, selecciona el **AccountBalance**bot que creaste anteriormente. 

   1. Si ha seleccionado un bot de Amazon Lex, en **Alias** utilice el menú desplegable para seleccionar el alias del bot, **Prueba**. 

   1. Los bots de Amazon Lex clásico tienen el sufijo “(Clásico)” adjunto al nombre. Si ha seleccionado un bot clásico, introduzca el alias que desea utilizar en el campo **Alias**.

   1. En el caso de los bots de Amazon Lex V2, también tiene la opción de establecer manualmente un ARN de alias de bot. Elija **Establecer manualmente** y, a continuación, escriba el ARN del alias de bot que desea utilizar o establezca el ARN mediante un atributo dinámico.

1. En **Intenciones**, elija **Añadir una intención**.

1. Escribe **AccountLookup**y selecciona **Añadir otra intención**. En la siguiente imagen se muestra la sección **Intenciones** configurada con esta información.  
![\[La sección Intenciones de la pestaña Amazon Lex.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lex-get-customer-input3.png)

1. Escriba **SpeakToAgent**y elija **Guardar**.

### Finalización del flujo
<a name="lex-bot-finish-flow"></a>

En este paso terminará de agregar al flujo las partes que se ejecutan después de que el intermediario interactúe con el bot:

1. Si la persona que efectúa la llamada pulsa 1 para conocer el saldo de su cuenta, utilice un bloque **Pregunta** para reproducir un mensaje y desconectar la llamada.

1. Si el intermediario presiona el 2 para hablar con un agente, utilice un bloque **Establecer cola** para establecer la cola y transferir al intermediario a la cola, con lo que finaliza el flujo.

Estos son los pasos para crear el flujo:

1. En **Interact**, arrastra un **bloque de mensajes de reproducción** hasta el diseñador y conecta a él el **AccountLookup**nodo del bloque de **entrada Get customer**. Una vez que el bot de Amazon Lex proporciona al cliente el saldo de su cuenta, se reproduce el mensaje del bloque **Reproducir mensaje**.

1. En **Terminar/transferir**, arrastre un bloque **Desconectar** al diseñador y conéctelo con el bloque **Reproducir mensaje**. Cuando se reproduce el mensaje de la pregunta, la llamada se desconecta.

Para completar la **SpeakToAgent**intención:

1. Añada un bloque **Set Working Queue** y conéctelo al **SpeakToAgent**nodo del bloque de **entrada Get customer**.

1. Añada un blloque **Transferir a la cola**. 

1. Conecte el nodo Correcto del bloque **Establecer flujo de cola de clientes** a la **Cola de transferencia**.

1. Elija **Guardar** y, a continuación, **Publicar**.

Su flujo terminado se parecerá a la siguiente imagen. El flujo comienza con el bloque **Obtener la entrada del cliente**. Ese bloque se divide en **Reproducir mensaje** o **Establecer cola de clientes**.

![\[El flujo finalizado en el diseñador de flujos.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/lex-contactflow-designer.png)


**sugerencia**  
Si su empresa utiliza varias configuraciones regionales en un mismo bot, agregue un bloque [Establecer atributos de contacto](set-contact-attributes.md) al principio de su flujo. Configura este bloque para usar el [\$1. LanguageCode](connect-attrib-list.md#attribs-system-table)atributo del sistema. 

## Asignación del flujo a un número de teléfono
<a name="lex-bot-assign-number"></a>

Cuando los clientes llaman al centro de contacto, el flujo al que se les envía es el que tiene asignado el número de teléfono al que han llamado. Para que el flujo nuevo esté activo, asígneselo a un número de teléfono de la instancia.

1. Abra la consola de Amazon Connect.

1. Elija **Enrutamiento, Números de teléfono**.

1. En la página **Administrar números de teléfono**, seleccione el número de teléfono que desea asignar al flujo.

1. Añada una descripción.

1. En el menú **Flujo/IVR**, elija el flujo que acaba de crear.

1. Seleccione **Save**.

## ¡Pruébelo\$1
<a name="lex-bot-try-it"></a>

Para probar el bot y el flujo, llame al número que ha asignado al flujo. Siga las instrucciones. 

# Prácticas recomendadas para usar el canal de chat y Amazon Lex
<a name="bp-lex-bot-chat"></a>

A continuación se indican algunas prácticas recomendadas para utilizar conjuntamente el canal de chat y Amazon Lex.
+ Puede usar el mismo bot tanto para los canales de voz como para el chat. Sin embargo, es posible que desee que el bot responda de manera diferente según el canal. Por ejemplo, supongamos que devolver SSML para voz para que un número se lea como un número de teléfono, pero desea devolver texto normal en el chat. Puede hacerlo si pasa el atributo **Channel** (Canal). Para obtener instrucciones, consulte [Cómo usar el mismo bot de Amazon Lex para voz y chat](one-bot-voice-chat.md). 
+ Para la voz, algunas palabras se deletrean mejor fonéticamente para obtener la pronunciación correcta, como los apellidos. Si este es su caso, inclúyalo en el diseño de su bot. También puede mantener separados los bots de voz y chat. 
+ Hable a los agentes sobre el bot. Cuando un contacto está conectado al agente, este podrá ver toda la transcripción en su ventana. La transcripción incluye texto tanto del cliente como del bot.

# Adición de mensajes interactivos de Amazon Lex para los clientes en el chat
<a name="interactive-messages"></a>

Los mensajes interactivos son mensajes enriquecidos que presentan un mensaje y opciones de visualización preconfiguradas para que el cliente elija. Estos mensajes funcionan con Amazon Lex y se configuran mediante Amazon Lex mediante una AWS Lambda función. 

**sugerencia**  
Si se ha integrado con Apple Messages for Business, consulte [Tipos de mensajes interactivos](https://register.apple.com/resources/messages/msp-rest-api/type-interactive) en el sitio web de Apple.

## Límites de validación
<a name="validation-limits"></a>

Se espera que los límites de los campos de cadena (por ejemplo, título, subtítulo, etc.) los aplique el cliente (es decir, una interfaz personalizada o el widget de comunicaciones alojado). La [SendMessage](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_SendMessage.html)API solo comprueba que el tamaño total de la cadena sea inferior a 20 KB.
+ Cuando utilice el widget de comunicaciones alojado sin personalizarlo, si la cadena excede los límites del campo, se truncará en la interfaz de usuario y se adjuntarán puntos suspensivos (...). Puede determinar cómo aplicar los límites de campo mediante la personalización del widget. 
+ Si se está integrando con otras plataformas (como Apple Messages for Business), consulte los límites en este tema para Amazon Connect y los límites en la documentación de la otra plataforma. Por ejemplo, las respuestas rápidas no se admiten en versiones antiguas de iOS. 

Deben respetarse todos los demás límites de los campos para que el mensaje se envíe correctamente.

## Plantillas de visualización de mensajes
<a name="message-display-templates"></a>

Amazon Connect proporciona las siguientes plantillas de visualización de mensajes. Úselas para ofrecer información a los clientes en un chat:
+  [Selector de lista](#list-picker)
+ [Selector de tiempo](#time-picker)
+ [Panel](#panel)
+ [Respuesta rápida](#quick-reply-template)
+ [Carrusel](#carousel-template)
+ [Plantilla de formulario de Apple](#apple-form-template)
+ [Plantilla de Apple Pay](#apple-pay-template)
+ [Plantilla de la aplicación iMessage](#imessage-app-template)
+ [WhatsApp list](#whatsapp-list)
+ [WhatsApp botón de respuesta](#whatsapp-reply-button)
+ [Formato enriquecido en títulos y subtítulos](#rich-link-formatting)

Estas plantillas definen cómo se representa la información y qué información aparece en la interfaz del chat. Cuando se envían mensajes interactivos a través del chat, los flujos validan que el formato del mensaje sigue una de estas plantillas.

## Plantilla de selector de lista
<a name="list-picker"></a>

Utilice la plantilla del selector de lista para presentar al cliente una lista de hasta seis opciones. Cada opción puede tener su propia imagen. 

En las siguientes imágenes se muestran dos ejemplos de cómo la plantilla del selector de lista muestra la información en un chat. 
+ Una imagen muestra tres botones, cada uno con el nombre de una fruta en el texto: manzana, naranja, plátano.
+ La segunda imagen muestra la foto de una tienda y, bajo ella, tres botones, cada uno con el nombre, la imagen y el precio de la fruta.

![\[La plantilla del selector de lista muestra la información en un chat.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/interactive-messages-listpicker-images2.png)


El siguiente código es la plantilla del selector de lista que puede utilizar en su Lambda. Tenga en cuenta lo siguiente:
+ El **texto en negrita** es un parámetro obligatorio.
+ En algunos casos, si el elemento principal no es obligatorio, pero los campos que contiene sí lo son, los campos son obligatorios. Por ejemplo, consulte la estructura de `data.replyMessage` en la siguiente plantilla. Si la estructura existe, `title` es obligatorio. De lo contrario, un `replyMessage` completo es opcional. 

```
{
   "templateType":"ListPicker",                       
   "version":"1.0",                                   
   "data":{                                           
      "replyMessage":{                             
         "title":"Thanks for selecting!",             
         "subtitle":"Produce selected",
         "imageType":"URL",                                
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",                          
         "imageDescription":"Select a produce to buy"
      },
      "content":{                                       
         "title":"What produce would you like to buy?",
         "subtitle":"Tap to select option",
         "imageType":"URL",                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",                  
         "imageDescription":"Select a produce to buy",
         "elements":[                                   
            {
               "title":"Apple",                          
               "subtitle":"$1.00",
               "imageType":"URL",
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg"
            },
            {
               "title":"Orange",                         
               "subtitle":"$1.50",
               "imageType":"URL",                  
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/orange_17.7kb.jpg",           
            },
             {
               "title":"Banana",                         
               "subtitle":"$10.00",
               "imageType":"URL",                  
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/banana_7.9kb.jpg",            
               "imageDescription":"Banana"
            }
         ]
      }
```

### Límites del selector de lista
<a name="list-picker-limits"></a>

En la tabla siguiente se enumeran los límites de cada uno de los elementos del selector de lista, por si decide crear su propia Lambda desde cero. Los parámetros obligatorios aparecen en negrita.

Para enviar opciones ilimitadas, implemente botones de acción en su aplicación. Para obtener más información, consulte [Implementación de botones de acción en el selector de lista o panel de mensajes interactivo](https://github.com/amazon-connect/amazon-connect-chat-interface/blob/master/.github/docs/InteractiveMessageActionButtonImplementation.md). 


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/interactive-messages.html)

**nota**  
Si utiliza el campo `targetForLinks` y el widget de comunicaciones de Amazon Connect, para abrir enlaces en la misma pestaña del navegador deberá añadir el siguiente atributo al fragmento de código del widget, a fin de permitir que el iframe actual abra los enlaces en la misma pestaña y navegue por estos:  

```
amazon_connect('updateSandboxAttributes', 'allow-scripts allow-same-origin allow-popups allow-downloads allow-top-navigation-by-user-activation')                                       
```

## Plantilla de selector de tiempo
<a name="time-picker"></a>

La plantilla de selector de tiempo es útil para que los clientes puedan programar citas. Puede proporcionar hasta 40 intervalos de tiempo al cliente en un chat. 

En las siguientes imágenes se muestran dos ejemplos de cómo la plantilla del selector de tiempo muestra la información en un chat.
+ Una imagen muestra una fecha, y bajo ella, un intervalo de tiempo.
+ La segunda imagen muestra una fecha y, bajo ella, dos intervalos de tiempo.

![\[La plantilla del selector de tiempo muestra la información en un chat.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/interactive-messages-timepicker.png)


En la siguiente imagen se muestra el selector de tiempo con una imagen

**nota**  
Si utiliza esta plantilla de mensajes con el canal [Apple Messages for Business](apple-messages-for-business.md) y no añade ninguna imagen, Amazon Connect añadirá una imagen predeterminada tanto en los mensajes de reacción como en los de respuesta.

![\[Selector de tiempo con una imagen.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/interactive-messages-timepicker-with-image.png)


El siguiente código es la plantilla del selector de tiempo que puede utilizar en su Lambda. Tenga en cuenta lo siguiente:
+ El **texto en negrita** es un parámetro obligatorio.
+ En algunos casos, si el elemento principal no es obligatorio, pero los campos que contiene sí lo son, los campos son obligatorios. Por ejemplo, consulte la estructura de `data.replyMessage` en la siguiente plantilla. Si la estructura existe, `title` es obligatorio. De lo contrario, un `replyMessage` completo es opcional. 

```
{
   "templateType":"TimePicker",                                 
   "version":"1.0",                                             
   "data":{                                                    
      "replyMessage":{
         "title":"Thanks for selecting",                        
         "subtitle":"Appointment selected",
         "imageType":"URL",                                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/booked.jpg",
         "imageDescription":"Appointment booked"
      },
      "content":{                                               
         "title":"Schedule appointment",                       
         "subtitle":"Tap to select option",
         "imageType":"URL",                                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/calendar.jpg",
         "imageDescription":"Appointment booked",
         "timeZoneOffset":-450,
         "location":{
            "latitude":47.616299,                               
            "longitude":-122.4311,                              
            "title":"Oscar",                                    
            "radius":1,
         },
         "timeslots":[                                          
               {
                  "date" : "2020-10-31T17:00+00:00",             
                  "duration": 60,                               
               },
               {
                  "date" : "2020-11-15T13:00+00:00",            
                  "duration": 60,                              
               },
               {
                  "date" : "2020-11-15T16:00+00:00",            
                  "duration": 60,                              
               }
            ],           
         }
      }
   }
}
```

### Límites del selector de tiempo
<a name="time-picker-limits"></a>

En la tabla siguiente se enumeran los límites de cada uno de los elementos del selector de tiempo. Utilice esta información si elige crear su propia Lambda desde cero. Los parámetros obligatorios aparecen en negrita.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/interactive-messages.html)

## Plantilla de panel
<a name="panel"></a>

Mediante la plantilla de panel, puede presentar al cliente hasta diez opciones en una misma pregunta. No obstante, puede incluir solo una imagen, en lugar de una imagen con cada elección. 

En la siguiente imagen se muestra un ejemplo de cómo la plantilla de panel muestra la información en un chat. Muestra una imagen en la parte superior del mensaje, y debajo de la imagen muestra un mensaje que pregunta *¿En qué puedo ayudarlo? Pulse para seleccionar la opción*. Bajo el mensaje se muestran tres opciones al cliente: **Comprobar las opciones de autoservicio**, **Hablar con un agente**, **Finalizar el chat**. 

![\[La plantilla de panel muestra la información en un chat.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/interactive-messages-panel1.png)


El siguiente código es la plantilla de panel que puede utilizar en su Lambda. Tenga en cuenta lo siguiente:
+ El **texto en negrita** es un parámetro obligatorio.
+ En algunos casos, si el elemento principal no es obligatorio, pero los campos que contiene sí lo son, los campos son obligatorios. Por ejemplo, consulte la estructura de `data.replyMessage` en la siguiente plantilla. Si la estructura existe, es obligatorio usar un `title`. De lo contrario, un `replyMessage` completo es opcional.

```
{
   "templateType":"Panel",                            
   "version":"1.0",                                   
   "data":{                                          
      "replyMessage":{                             
         "title":"Thanks for selecting!",             
         "subtitle":"Option selected",
      },
      "content":{                                      
         "title":"How can I help you?",                
         "subtitle":"Tap to select option",
         "imageType":"URL",                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/company.jpg",                  
         "imageDescription":"Select an option",
         "elements":[                                 
            {
               "title":"Check self-service options",   
            },
            {
               "title":"Talk to an agent",                     
            },
            {
               "title":"End chat",                    
            }
         ]
      }
   }
}
```

### Límites de panel
<a name="panel-limits"></a>

En la tabla siguiente se enumeran los límites de cada uno de los elementos del panel, por si decide crear su propia Lambda desde cero. Los parámetros obligatorios aparecen en negrita.

Para enviar opciones ilimitadas, implemente botones de acción en su aplicación. Para obtener más información, consulte [Implementación de botones de acción en el selector de lista o panel de mensajes interactivo](https://github.com/amazon-connect/amazon-connect-chat-interface/blob/master/.github/docs/InteractiveMessageActionButtonImplementation.md). 


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/interactive-messages.html)

## Plantilla de respuesta rápida
<a name="quick-reply-template"></a>

Utilice mensajes de respuesta rápida para obtener respuestas sencillas de los clientes y para enviarles mensajes en una lista en línea. En las respuestas rápidas no se admiten imágenes.

En la siguiente imagen se muestra un ejemplo de cómo la plantilla de respuesta rápida muestra la información en un chat.

![\[La plantilla de panel muestra la información en un chat.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/quick-reply-template.png)


El siguiente código es la plantilla de respuesta rápida que puede utilizar en su Lambda.

```
{
    "templateType": "QuickReply",
    "version": "1.0",
    "data": {
        "replyMessage": {
            "title": "Thanks for selecting!"
        },
        "content": {
            "title": "Which department would you like?",
            "elements": [{
                    "title": "Billing"
                },
                {
                    "title": "Cancellation"
                },
                {
                    "title": "New Service"
                }
            ]
        }
    }
}
```

### Límites de respuesta rápida
<a name="quickreply-limits"></a>

En la tabla siguiente se enumeran los límites de cada uno de los elementos de la respuesta rápida. Utilice esta información si elige crear su propia Lambda desde cero. Los parámetros obligatorios aparecen en negrita.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/interactive-messages.html)

## Plantilla de carrusel
<a name="carousel-template"></a>

Utilice carruseles para mostrar hasta cinco selectores de lista o paneles a los clientes en un solo mensaje. Al igual que con el selector de lista y el selector de tiempo, puede agregar más opciones al carrusel mediante la característica SHOW\$1MORE.

En el siguiente GIF se muestra un ejemplo de cómo la plantilla de carrusel muestra la información en un chat. Los clientes se desplazan por el carrusel de imágenes con las flechas izquierda y derecha. 

![\[Un carrusel en la experiencia de chat de un cliente.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/carousel-interactive.gif)


En la siguiente imagen se muestran dos hipervínculos **Más información**, que son ejemplos de elementos de hipervínculo del selector de carrusel.

![\[Un selector de carrusel con hipervínculos.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/carousel-interactive1.png)


El siguiente código es la plantilla de carrusel que puede utilizar en su Lambda. 

```
{
  "templateType": "Carousel",            
  "version": "1.0",                      
  "data": {                              
      "content": {                           
        "title": "View our popular destinations",   
        "elements": [                               
        {
          "templateIdentifier": "template0",        
          "templateType": "Panel",
          "version": "1.0",
          "data": {
            "content": {
              "title": "California",
              "subtitle": "Tap to select option",
              "elements": [
                {
                  "title": "Book flights"
                },
                {
                  "title": "Book hotels"
                },
                {
                  "title": "Talk to agent"
                }
              ]
            }
          }
        },
        {
          "templateIdentifier": "template1",   
          "templateType": "Panel",
          "version": "1.0",
          "data": {
            "content": {
              "title": "New York",
              "subtitle": "Tap to select option",
              "elements": [
                {
                  "title": "Book flights"
                },
                {
                  "title": "Book hotels"
                },
                {
                  "title": "Talk to agent"
                }
              ]
            }
          }
        }
      ]
    }
  }
}
```

Para los usuarios de widgets de comunicaciones alojados:
+ Las selecciones en la plantilla de carrusel dan lugar a una respuesta de cadena JSON estructurada como la del ejemplo siguiente, que se devolverá a Lambda (otros tipos de mensajes interactivos devuelven una respuesta de cadena normal con solo el valor `selectionText`):

  ```
  {
      templateIdentifier: "template0",
      listTitle: "California",
      selectionText: "Book hotels"
  }
  ```
+ En los carruseles, puede proporcionar hipervínculos en los elementos de la lista. picker/panel Para crear un hipervínculo en lugar de un botón, incluya los siguientes campos adicionales para el elemento que debe ser un hipervínculo:

  ```
  {
      title: "Book flights",
      ...
      type: "hyperlink",
      url: "https://www.example.com/Flights"
  }
  ```

### Límites de carrusel
<a name="carousel-limits"></a>

En la tabla siguiente se enumeran los límites de cada uno de los elementos del carrusel. Utilice esta información si elige crear su propia Lambda desde cero. Los parámetros obligatorios aparecen en negrita.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/interactive-messages.html)

## Plantilla de formulario de Apple
<a name="apple-form-template"></a>

**nota**  
 Esta plantilla es aplicable únicamente a los flujos de contacto de Apple Messages for Business. 

Una empresa puede enviar un formulario de mensaje interactivo a sus clientes finales mediante un único mensaje que contenga varias páginas con los datos solicitados. Cuando el mensaje se recibe en el dispositivo Apple del cliente final, este puede abrir el formulario y navegar por las páginas, proporcionando una respuesta para cada página, antes de enviar todas las respuestas al final del formulario.

Por ejemplo, las empresas pueden utilizar los formularios de Apple para diversos fines, como los flujos de clasificación, las encuestas a los clientes y la creación o registro de cuentas.

**aviso**  
El contenido de los mensajes interactivos y las respuestas de los clientes finales se almacenan en la transcripción del registro de contactos y pueden verlos otros participantes del chat y analistas de contactos con acceso a las transcripciones. Para evitar que la información de identificación personal aparezca en la transcripción del registro de contactos una **vez que el contacto haya terminado**, utilice el [bloque Defina el comportamiento de registro y análisis](set-recording-behavior.md) en su flujo de step-by-step guías y active y [habilite Contact Lens](sensitive-data-redaction.md) la redacción de datos confidenciales. Para obtener más información sobre cómo habilitar la eliminación de información de identificación personal, consulte [Enable redaction of sensitive data](enable-analytics.md#enable-redaction).

 Los dos tipos de páginas compatibles son:
+ **ListPicker**: una lista de opciones que el usuario debe seleccionar con soporte para imágenes.
+ **WheelPicker**: similar a ListPicker , pero la selección se realiza mediante una rueda de opciones desplazable.
+ **DatePicker**: una vista de calendario donde el usuario puede elegir una fecha.
+ **Entrada:** un campo de texto que el usuario debe rellenar.

El siguiente código es un ejemplo de una plantilla de formularios de Apple que puede utilizar en su Lambda.

**nota**  
 El **texto en negrita** es un parámetro obligatorio. 
 En algunos casos, si el elemento principal existe en la solicitud y no es obligatorio o está en negrita, pero los campos que contiene sí lo son, significa que los campos son obligatorios. 

 Ejemplo de formulario de encuesta sencillo: 

```
{
  "templateType": "AppleForm",
  "version": "1.0",
  "data": {
    "content": {
      "title": "Survey",
      "pages": [
        {
          "pageType": "DatePicker",
          "title": "Date you visited",
          "subtitle": "When did you last visit?",
          "minDate": "2024-01-02"
        },
        {
          "pageType": "ListPicker",
          "title": "Rating",
          "subtitle": "How do you rate the experience?",
          "items": [
            {
              "title": "Good",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/good.jpg"
            },
            {
              "title": "Okay",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/okay.jpg"
            },
            {
              "title": "Poor",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/poor.jpg"
            }
          ]
        },
        {
          "pageType": "ListPicker",
          "title": "Dine type",
          "subtitle": "Select all dine types that apply",
          "multiSelect": true,
          "items": [
            {
              "title": "Pickup"
            },
            {
              "title": "Dine-in"
            },
            {
              "title": "Delivery"
            }
          ]
        },
        {
          "pageType": "WheelPicker",
          "title": "Visits",
          "subtitle": "How often do you visit?",
          "items": [
            {
              "title": "Often"
            }
            {
              "title": "Sometimes"
            },
            {
              "title": "Rarely"
            }
          ]
        },
        {
          "pageType": "Input",
          "title": "Additional notes",
          "subtitle": "Anything else you'd like to mention about your visit?",
          "multiLine": true
        }
      ]
    }
  }
}
```

### Límites de formularios de Apple
<a name="apple-forms-limits"></a>

#### InteractiveMessage
<a name="apple-forms-limits-interactivemessage"></a>


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| versión | cadena  | Sí  | Número de versión. Valor permitido: “1.0”  | 
| templateType  | TemplateType  | Sí  | Tipo de plantilla de mensaje interactivo. Valores permitidos: [» ListPicker «," TimePicker «, «Panel», "QuickReply«Carousel», "ViewResource«," "AppleForm]  | 
| datos | InteractiveMessageData  | Sí  | Datos de mensajes interactivos  | 

#### InteractiveMessageData
<a name="apple-forms-limits-interactivemessagedata"></a>


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| content  | InteractiveMessageContent  | Sí  | Contenido del mensaje interactivo principal  | 
| replyMessage  | ReplyMessage  | No  | Configuración de la visualización de mensajes tras el envío de la respuesta al mensaje interactivo  | 

#### AppleFormContent
<a name="apple-forms-limits-appleformcontent"></a>


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| título | Cadena  | Sí  | Título del formulario. Se muestra en la burbuja de mensajes de recepción de Apple y en la representación de la transcripción  | 
| subtitle  | Cadena  | No  | Utilizado como subtítulo en ReceivedMessage  | 
| imageType  | Cadena  | No  | Valores válidos: «URL» Se utiliza para la imagen en ReceivedMessage  | 
| imageData  | Cadena  | No  | URL de la imagen de S3 Se utiliza para la imagen en ReceivedMessage  | 
| pages  | AppleFormPage[]  | Sí  | Lista de páginas de formulario  | 
| showSummary  | Booleano  | No  | Si se debe mostrar una página de resumen de las respuestas para revisarlas antes de enviarlas. Predeterminado: falso (sin confirmation/summary página)  | 
| splashPage  | AppleFormSplashPage  | No  | La página de bienvenida inicial se mostrará antes de las páginas reales Valor predeterminado: sin página de inicio  | 

#### AppleFormSplashPage
<a name="apple-forms-limits-appleformsplashpage"></a>


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| título | Cadena  | Sí  | Título de la página de inicio  | 
| subtitle  | Cadena  | No  | Subtítulo / cuerpo de la página de inicio  | 
| imageType  | ImageType  | No  | Se muestra al visualizar la imagen en la página de inicio Valor permitido: “URL” Valor predeterminado: no se muestra ninguna imagen  | 
| imageData  | Cadena  | No  | Para imageType="URL", este es el valor de la URL Valor predeterminado: no se muestra ninguna imagen  | 
| buttonTitle  | Cadena  | Sí  | Texto del botón Continuar. Requerido por Apple, no admite texto predeterminado localizado  | 

#### AppleFormPage
<a name="apple-forms-limits-appleformpage"></a>
+  Modelo de base para las páginas de formularios. Algunos tipos de páginas se basan en este modelo 


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sí  | Enumeración de los tipos de página. Valores permitidos: ["Entrada», "DatePickerWheelPicker«," ListPicker «]  | 
| título | Cadena  | Sí  | Título de página  | 
| subtitle  | Cadena  | Sí  | Subtítulo de la página. Se utiliza en la página de confirmación  | 

#### AppleFormDatePickerPage
<a name="apple-forms-limits-appleformdatapickerpage"></a>

 **AppleFormDatePickerPage**se extiende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sí  | Valor: "DatePicker»  | 
| labelText  | Cadena  | No  | El texto se muestra junto a la entrada de fecha. Consulte las capturas de pantalla de ejemplo en el Apéndice  | 
| helperText  | Cadena  | No  | El texto auxiliar se muestra debajo de la entrada de fecha. Consulte las capturas de pantalla de ejemplo en el Apéndice Valor predeterminado: sin texto auxiliar  | 
| dateFormat  | Cadena  | No  | Formato de fecha ISO 8601. Valor predeterminado: MM/dd/yyyy  | 
| startDate  | Cadena  | No  | Fecha seleccionada inicial / predeterminada en un formato de fecha válido Valor predeterminado: fecha actual para el usuario final cuando se envía el mensaje  | 
| minDate  | Cadena  | No  | La fecha mínima que se puede seleccionar en un formato de fecha válido Valor predeterminado: sin mínimo  | 
| maxDate  | Cadena  | No  | Fecha máxima que se puede seleccionar en un formato de fecha válido Valor predeterminado: fecha actual para el usuario final cuando se envía el mensaje  | 

#### AppleFormListPickerPage
<a name="apple-forms-limits-appleformlistpickerpage"></a>

 **AppleFormListPickerPage**se extiende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sí  | Valor: "ListPicker»  | 
| multiSelect  | Booleano  | No  | Permite seleccionar varios elementos Valor predeterminado: false (selección única)  | 
| artículos | AppleFormListPickerPageItem[]  | Sí  | Lista de elementos de la página de lista  | 

#### AppleFormListPickerPageItem
<a name="apple-forms-limits-appleformlistpickerpageitem"></a>

 **AppleFormListPickerPageItem**se extiende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| título | Cadena  | Sí  | Texto del artículo  | 
| imageType  | ImageType  | No  | Se muestra al visualizar la imagen en el artículo Valor permitido: “URL” Valor predeterminado: no se muestra ninguna imagen  | 
| imageData  | Cadena  | No  | Para imageType="URL", este es el valor de la URL Valor predeterminado: no se muestra ninguna imagen  | 

**nota**  
Modelo de imagen similar a los modelos de mensajes interactivos existentes (ListPicker), excepto que no `imageDescription` está incluido, que se utiliza para el texto alternativo de las imágenes en los widgets de chat o los chats web y se ignora en los mensajes interactivos de Apple.

#### AppleFormWheelPickerPage
<a name="apple-forms-limits-appleformwheelpickerpage"></a>

 **AppleFormWheelPickerPage**se extiende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sí  | Valor: "WheelPicker»  | 
| artículos | AppleFormWheelPickerPageItem[]  | Sí  | Lista de artículos del selector circular  | 
| labelText  | Cadena  | No  | El texto se muestra junto a la entrada. Consulte las capturas de pantalla de ejemplo en el Apéndice  | 

#### AppleFormWheelPickerPageItem
<a name="apple-forms-limits-appleformwheelpickerpageitem"></a>

 **AppleFormWheelPickerPageItem**se extiende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| título | Cadena  | Sí  | Texto del elemento del selector  | 

#### AppleFormInputPage
<a name="apple-forms-limits-appleforminputpage"></a>

 **AppleFormInputPage**se extiende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Obligatorio  | Descripción / Notas  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sí  | Valor: “Input”  | 
| labelText  | Cadena  | No  | El texto se muestra junto al cuadro de entrada. Consulte las capturas de pantalla de ejemplo en el Apéndice  | 
| helperText  | Cadena  | No  | Texto adicional que se muestra debajo del cuadro de entrada Valor predeterminado: sin texto auxiliar  | 
| placeholderText  | Cadena  | No  | Texto de marcador de posición que se mostrará inicialmente cuando no haya ninguna entrada Valor predeterminado: texto de marcador de posición “(Opcional)” u “(Obligatorio)”  | 
| prefixText  | Cadena  | No  | Prefijo que se muestra junto a la entrada. Por ejemplo: “\$1” cuando la entrada es un valor monetario Valor predeterminado: sin prefijo  | 
| requerido | Booleano  | No  | Si se requiere que el usuario final proporcione una entrada Valor predeterminado: false  | 
| multiLine  | Booleano  | No  | Si se puede proporcionar una entrada con varias líneas Valor predeterminado: false (solo una línea)  | 
| maxCharCount  | Número  | No  | Recuento máximo de caracteres de la entrada. Impuesto en el cliente de Apple Valor predeterminado: sin límite  | 
| expresión regular | Cadena  | No  | Se proporciona una cadena de expresiones regulares para imponer restricciones a la entrada. Valor predeterminado: sin restricciones de expresión regular  | 
| keyboardType  | Cadena  | No  | Determina el tipo de teclado que se muestra cuando el usuario final introduce el texto de entrada Valores permitidos: igual que los de Apple. Consulte los [documentos](https://register.apple.com/resources/messages/msp-rest-api/type-interactive#form-message). Algunos valores permitidos: numberPad, phonePad, emailAddress  | 
| textContentType  | Cadena  | No  | Ayuda a rellenar automáticamente las sugerencias en un dispositivo Apple.  Valores permitidos: los mismos que los de Apple. Consulte los [documentos](https://register.apple.com/resources/messages/msp-rest-api/type-interactive#form-message). Algunos de los valores permitidos: TelephoneNumber, FamilyName fullStreetAddress  | 

## Plantilla de Apple Pay
<a name="apple-pay-template"></a>

**nota**  
Esta plantilla es aplicable únicamente a los flujos de contacto de Apple Messages for Business.

 Utilice la plantilla de Apple Pay para ofrecer a los clientes una forma fácil y segura de comprar productos y servicios a través de Apple Messages for Business con Apple Pay.

 El siguiente código es la plantilla de Apple Pay que puede utilizar en su Lambda:

**nota**  
 El **texto en negrita** es un parámetro obligatorio. 
 En algunos casos, si el elemento principal existe en la solicitud y no es obligatorio o está en negrita, pero los campos que contiene sí lo son, significa que los campos son obligatorios. 

```
{
  "templateType":"ApplePay",
  "version":"1.0",
  "data":{
    "content":{
      "title":"Halibut",
      "subtitle":"$63.99 at Sam's Fish",
      "imageType":"URL",
      "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fish.jpg",
      "payment": {
        "endpoints": {
          "orderTrackingUrl": "https://sams.example.com/orderTrackingUrl/",
          "paymentGatewayUrl": "https://sams.example.com/paymentGateway/",
          "paymentMethodUpdateUrl": "https://sams.example.com/paymentMethodUpdate/",
          "shippingContactUpdateUrl": "https://sams.example.com/shippingContactUpdate/",
          "shippingMethodUpdateUrl": "https://sams.example.com/shippingMethodUpdate/",
          "fallbackUrl": "https://sams.example.com/paymentGateway/"
        },
        "merchantSession": {
          "epochTimestamp": 1525730094057,
          "expiresAt": 1525730094057,
          "merchantSessionIdentifier": "PSH40080EF4D6.........9NOE9FD",
          "nonce": "fe72cd0f",
          "merchantIdentifier": "merchant.com.sams.fish",
          "displayName": "Sam's Fish",
          "signature": "308006092a8.......09F0W8EGH00",
          "initiative": "messaging",
          "initiativeContext": "https://sams.example.com/paymentGateway/",
          "signedFields": [
            "merchantIdentifier",
            "merchantSessionIdentifier",
            "initiative",
            "initiativeContext",
            "displayName",
            "nonce"
          ],
        },
        "paymentRequest": {
          "applePay": {
            "merchantCapabilities": [
              "supports3DS",
              "supportsDebit",
              "supportsCredit"
            ],
            "merchantIdentifier": "merchant.com.sams.fish",
            "supportedNetworks": [
              "amex",
              "visa",
              "discover",
              "masterCard"
            ]
          },
          "countryCode": "US",
          "currencyCode": "USD",
          "lineItems": [
            {
              "amount": "59.00",
              "label": "Halibut",
              "type": "final"
            },
            {
              "amount": "4.99",
              "label": "Shipping",
              "type": "final"
            }
          ],
          "requiredBillingContactFields": [
            "postalAddress"
          ],
          "requiredShippingContactFields": [
            "postalAddress",
            "phone",
            "email",
            "name"
          ],
          "shippingMethods": [
            {
              "amount": "0.00",
              "detail": "Available within an hour",
              "identifier": "in_store_pickup",
              "label": "In-Store Pickup"
            },
            {
              "amount": "4.99",
              "detail": "5-8 Business Days",
              "identifier": "flat_rate_shipping_id_2",
              "label": "UPS Ground"
            },
            {
              "amount": "29.99",
              "detail": "1-3 Business Days",
              "identifier": "flat_rate_shipping_id_1",
              "label": "FedEx Priority Mail"
            }
          ],
          "total": {
            "amount": "63.99",
            "label": "Sam's Fish",
            "type": "final"
          },
          "supportedCountries" : [
            "US",
            "CA",
            "UK",
            "JP",
            "CN"
          ]
        }
      },
      "requestIdentifier" : "6b2ca008-1388-4261-a9df-fe04cd1c23a9"
    }
  }
}
```

### Límites de Apple Pay
<a name="apple-pay-limits"></a>


| Campo principal  | Campo  | Obligatorio  | Mínimo de caracteres  | Máximo de caracteres  | Otro requisito  | 
| --- | --- | --- | --- | --- | --- | 
|  | templateType  | Sí  |  |  | Tipo de plantilla válido  | 
|  | datos | Sí  |  |  |  | 
|  | versión | Sí  |  |  | Debe ser “1.0”  | 
| datos | content  | Sí  |  |  |  | 
| content  | título | Sí  | 1  | 512  | El título de la burbuja del mensaje recibido  | 
|  | subtitle  | No  | 0  | 512  | El subtítulo se mostrará debajo del título de la burbuja del mensaje recibido  | 
|  | imageData  | No  | 0  | 200  | Debe ser una URL válida de acceso público  | 
|  | imageType  | No  | 0  | 50  | Debe ser “URL”  | 
|  | pago | Sí  |  |  | Un diccionario que contiene campos con los detalles de una solicitud de Apple Pay.  | 
|  | requestIdentifier  | No  |  |  | Cadena, un identificador de la ApplePay solicitud. Si no se especifica, se generará y se utilizará un UUID.  | 
| pago | puntos finales | Sí  |  |  | Un diccionario que contiene los puntos de conexión para procesar pagos, las actualizaciones de los contactos y el seguimiento de los pedidos.  | 
|  | merchantSession  | Sí  |  |  | Un diccionario que contiene la sesión de pago proporcionada por Apple Pay tras solicitar una nueva sesión de pago.  | 
|  | paymentRequest  | Sí  |  |  | Un diccionario con información sobre la solicitud de pago  | 
| puntos finales | paymentGatewayUrl  | Sí  |  |  | Cadena. Apple Pay lo ejecuta para procesar el pago a través del proveedor de pagos. La URL debe coincidir con la URL del campo initiativeContext de la sesión del comerciante  | 
|  | fallbackUrl  | No  |  |  | Una URL que se abre en un navegador web para que el cliente pueda completar la compra si su dispositivo no puede realizar pagos con Apple Pay. Si se especifica, la URL de respaldo debe coincidir. paymentGatewayUrl  | 
|  | orderTrackingUrl  | No  |  |  | Messages for Business lo ejecuta después de completar el pedido y le ofrece la oportunidad de actualizar la información del pedido en su sistema.  | 
|  | paymentMethodUpdateURL | No  |  |  | Apple Pay lo ejecuta cuando el cliente cambia el método de pago. Si no implementa este punto de conexión e incluye esta clave en el diccionario, el cliente verá un mensaje de error.  | 
|  | shippingContactUpdateUrl | No  |  |  | Apple Pay lo ejecuta cuando el cliente cambia la información de su dirección de envío. Si no implementa este punto de conexión e incluye esta clave en el diccionario, el cliente verá un mensaje de error  | 
|  | shippingMethodUpdateUrl | No  |  |  | Apple Pay lo ejecuta cuando el cliente cambia el método de envío. Si no implementa este punto de conexión e incluye esta clave en el diccionario, el cliente verá un mensaje de error.  | 
| merchantSession  | displayName  | Sí  | 1  | 64  | Cadena. El nombre canónico de su tienda que se puede mostrar. No localice el nombre.  | 
|  | initiative  | Sí  |  |  | Cadena. Debe ser “mensajes”  | 
|  | initiativeContext  | Sí  |  |  | Cadena. Indique la URL de su puerta de enlace de pago.  | 
|  | merchantIdentifier  | Sí  |  |  | Cadena. Un identificador único que representa a un comerciante en Apple Pay.  | 
|  | merchantSessionIdentifier  | Sí  |  |  | Cadena. Un identificador único que representa una sesión de comerciante en Apple Pay.  | 
|  | epochTimestamp  | Sí  |  |  | Cadena. Representación de la hora en número de segundos transcurridos desde las 00:00:00 UTC del jueves 1 de enero de 1970.  | 
|  | expiresAt  | Sí  |  |  | Cadena. Representación de la hora en número de segundos transcurridos desde las 00:00:00 UTC del jueves 1 de enero de 1970.  | 
|  | nonce  | No  |  |  | Binary. Cadena de un solo uso que comprueba la integridad de la interacción.  | 
|  | signature  | No  |  |  | Binary. Un hash de la clave pública usada para firmar las interacciones.  | 
|  | signedFields  | No  |  |  | Lista de cadenas que contiene las propiedades firmadas.  | 
| paymentRequest  | applePay  | Sí  |  |  | Un diccionario que describe la configuración de Apple Pay.  | 
|  | countryCode  | Sí  |  |  | Cadena. El código de país ISO 3166 de dos letras del comerciante.  | 
|  | currencyCode  | Sí  |  |  | Cadena. El código de moneda ISO 4217 de tres letras para el pago.  | 
|  | lineItems  | No  |  |  | Conjunto de partidas que explican los pagos y los cargos adicionales. Las líneas de pedido no son obligatorias. Sin embargo, la matriz no puede estar vacía si la clave lineItems está presente.  | 
|  | total  | Sí  |  |  | Un diccionario que contiene el total. El importe total debe ser superior a cero para pasar la validación.  | 
|  | requiredBillingContactCampos | No  |  |  | La lista de la información de facturación requerida por el cliente para procesar la transacción. Para ver la lista de cadenas posibles, consulte [requiredBillingContactCampos](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/2216120-requiredbillingcontactfields). Solicita solo los campos de contacto necesarios para procesar el pago. La solicitud de campos no necesarios añade complejidad a la transacción, lo que puede aumentar las posibilidades de que el cliente cancele la solicitud de pago.  | 
|  | requiredShippingContactCampos | No  |  |  | La lista de información de envío o de contacto que el cliente debe proporcionar para tramitar el pedido. Por ejemplo, si necesita el correo electrónico o el número de teléfono del cliente, incluya esta clave. Para ver la lista de cadenas posibles, consulte [requiredShippingContactCampos](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/2216121-requiredshippingcontactfields).  | 
|  | shippingMethods  | No  |  |  | Una matriz que muestra los métodos de envío disponibles. La hoja de pagos de Apple Pay muestra el primer método de envío de la matriz como método de envío predeterminado.  | 
|  | supportedCountries  | No  |  |  | Una lista de los países admitidos. Indique cada país con su código ISO 3166.  | 
| applePay  | merchantIdentifier  | Sí  |  |  | Un identificador único que representa a un comerciante en Apple Pay.  | 
|  | merchantCapabilities  | Sí  |  |  | Las diferentes opciones de pago que admite el comerciante. La matriz debe incluir supports3DS y, de forma opcional, supportsCredit, supportsDebit y supportsEMV.  | 
|  | supportedNetworks  | Sí  |  |  | Las diferentes redes de pago que admite el comerciante. La matriz debe incluir uno o más de los siguientes valores: amex, discover, jcb, masterCard, privateLabel o visa  | 
| lineItem  | amount  | Sí  |  |  | El importe monetario de la línea de pedido.  | 
|  | label  | Sí  |  |  | Una descripción corta y traducida de la línea de pedido.  | 
|  | escriba | No  |  |  | Un valor que indica si la línea de pedido es definitiva o está pendiente.  | 
| total  | amount  | Sí  |  |  | El importe total del pago.  | 
|  | label  | Sí  |  |  | Una descripción corta y traducida del pago.  | 
|  | tipo | No  |  |  | Un valor que indica si el pago es definitivo o está pendiente.  | 
| shippingMethods  | amount  | Sí  |  |  | Cadena. El costo no negativo asociado a este método de envío.  | 
|  | detail  | Sí  |  |  | Cadena. Descripción adicional del método de envío.  | 
|  | label  | Sí  |  |  | Cadena. Una breve descripción del método de envío.  | 
|  | identifier  | Sí  |  |  | Cadena. Un valor definido por el cliente que se utiliza para identificar este método de envío.  | 

## Plantilla de la aplicación iMessage
<a name="imessage-app-template"></a>

**nota**  
Esta plantilla es aplicable únicamente a los flujos de contacto de Apple Messages for Business. 

 Utilice la plantilla de iMessage para presentar al cliente la aplicación de iMessage que ha desarrollado. 

 El siguiente código es un ejemplo de una plantilla de la aplicación iMessage que puede utilizar en su función de Lambda.  

```
{
   templateType: AppleCustomInteractiveMessage,
   version: "1.0",
   data: {
       content: {
           appIconUrl: "https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg",
           appId: "123456789",
           appName: "Package Delivery",
           title: "Bubble Title CIM",
           bid: "com.apple.messages.MSMessageExtensionBalloonPlugin:{team-id}:{ext-bundle-id}",
           dataUrl: "?deliveryDate=26-01-2024&destinationName=Home&street=1infiniteloop&state=CA&city=Cupertino&country=USA&postalCode=12345&latitude=37.331686&longitude=-122.030656&isMyLocation=false&isFinalDestination=true",
           subtitle: "Bubble package",
       },
       replyMessage: {
           title: "Custom reply message title",
           subtitle: "Custom reply message subtitle",
           imageType: "URL",
           imageData: "https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",
       }
   }
}
```

### Límites de la aplicación iMessage
<a name="imessage-apps-limits"></a>


|  **Campo principal**  |  **Campo**  |  **Obligatorio**  |  **Tipo**  |  **Otras notas**  | 
| --- | --- | --- | --- | --- | 
|  |  templateType  | Sí  | TemplateType  | Tipo de plantilla válido, "AppleCustomInteractiveMessage»  | 
|  |  data  | Sí  | InteractiveMessageData  | Contiene diccionarios de contenido y receivedMessage  | 
|  |  versión  | Sí  | cadena  | Debe ser “1.0”  | 
|  data  |  content  | Sí  | InteractiveMessageContent  | Contenido interactivo de la aplicación iMessage  | 
|  |  replyMessage  | Sí  | ReplyMessage  | Configuración de la visualización de mensajes tras el envío de la respuesta al mensaje interactivo  | 
|  content  |  appIconUrl  | Sí  | cadena  | URL de AWS S3  | 
|  |  appId  | Sí  | cadena  | ID de IMessage la aplicación empresarial  | 
|  |  appName  | Sí  | cadena  | Nombre de IMessage la aplicación empresarial  | 
|  |  bid  | Sí  | cadena  | Oferta de IMessage aplicaciones empresariales. Patrón: com.apple.messages. MSMessageExtensionBalloonPlugin: \$1team-id\$1: \$1\$1 ext-bundle-id  | 
|  |  dataUrl  | Sí  | cadena  | Datos que se transfieren a la aplicación iMessage  | 
|  |  useLiveLayout  | No  | booleano  | Valor predeterminado: True  | 
|  |  title  | Sí  | cadena  | título de la burbuja de la aplicación iMessage  | 
|  |  subtitle  | No  | cadena  | subtítulo de la burbuja de la aplicación iMessage  | 
|  replyMessage  |  title  | No  | cadena  |  | 
|  |  subtitle  | No  | cadena  |  | 
|  |  imageType  | No  | cadena  | Debe ser una URL válida de acceso público  | 
|  |  imageData  | No  | cadena  | No puede existir sin una imagen  | 

## WhatsApp lista
<a name="whatsapp-list"></a>

**nota**  
Solo usa esta plantilla para los flujos WhatsApp de mensajería. Para obtener más información sobre la integración WhatsApp con Amazon Connect[Configurar la mensajería WhatsApp empresarial](whatsapp-integration.md), consulte la sección anterior de esta guía.

La plantilla de WhatsApp lista se utiliza en WhatsApp los chats para ofrecer a los clientes una lista de opciones.

En el siguiente ejemplo, se muestra una lista de opciones para un servicio bancario.

```
{
  "templateType": "WhatsAppInteractiveList",
  "version": "1.0",
  "data": {
    "content": {
      "title": "Which account do you need help with?",
      "body": {
        "text": "Which account do you need help with?"
      },
      "action": {
        "button": "Options",
        "sections": [
          {
            "title": "Your accounts",
            "rows": [
              {
                "id": "11111111",
                "title": "11111111",
                "description": "PERSONAL CHECKING"
              },
              {
                "id": "22223333",
                "title": "22223333",
                "description": "PERSONAL SAVINGS"
              }
            ]
          },
          {
            "title": "Other",
            "rows": [
              {
                "id": "other",
                "title": "I can't find my account"
              }
            ]
          }
        ]
      }
    }
  }
}
```

En la siguiente imagen, se muestra una pantalla típica antes y después de que un cliente abra una lista.

![\[Imagen con una lista de opciones\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/whatsapp-options-results.png)


### WhatsApp límites de opciones
<a name="whatsapp-options-limits"></a>


| Campo principal | Campo | Obligatorio | Longitud mínima  | Longitud máxima  | Otro requisito | 
| --- | --- | --- | --- | --- | --- | 
|  | templateType | Sí |  |  | Debe ser «WhatsAppInteractiveList» | 
|  | data | Sí |  |  |  | 
|  | versión | Sí |  |  | Debe ser “1.0” | 
| data | content | Sí |  |  |  | 
| content | title | Sí |  |  |  | 
|  | encabezado | No |  |  |  | 
|  | body | Sí  |  |  |  | 
|  | pie de página | No |  |  |  | 
|  | action | Sí |  |  |  | 
| cabecera |  type  | Sí  |  |  |  Debe ser “texto”  | 
|  |  texto  | Sí  | 1  |  60  |  | 
| body |  texto  | Sí  | 1 |  4096  |  | 
|  footer  |  texto  | Sí  | 1 |  60  |  | 
|  action  |  secciones  | Sí  | 1 |  10  |  | 
|  |  botón  | Sí  | 1 |  20  |  | 
|  sección  |  title  | Sí  | 1 |  24  |  | 
|  |  filas  | Sí  | 1 |  10  |  Máximo de 10 filas en todas las secciones  | 
|  fila  |  id  | Sí | 1 | 200 | Debe ser único en todas las filas | 
|  |  title  | Sí  | 1 | 24 |  | 
|  | descripción | No  | 1 |  72  |  | 

## WhatsApp botón de respuesta
<a name="whatsapp-reply-button"></a>

**nota**  
Solo usa esta plantilla para los flujos WhatsApp de mensajería.

Puedes usar la plantilla del botón de WhatsApp respuesta para presentar una lista de opciones en línea para los clientes.

```
{
  "templateType": "WhatsAppInteractiveReplyButton",
  "version": "1.0",
  "data": {
    "content": {
      "title": "What would you like to do?",
      "body": {
        "text": "What would you like to do?"
      },
      "action": {
        "buttons": [
          {
            "type": "reply",
            "reply": {
              "id": "agent",
              "title": "Continue to agent"
            }
          },
          {
            "type": "reply",
            "reply": {
              "id": "end_chat",
              "title": "End chat"
            }
          }
        ]
      }
    }
  }
}
```

En la siguiente imagen, se muestra una experiencia de usuario típica.

![\[Imagen de una respuesta en una sesión de chat\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/whatsapp-reply-template.png)


### WhatsApp límites del botón de respuesta
<a name="whatsapp-reply-limits"></a>

La plantilla de WhatsApp respuesta tiene los siguientes límites.


| Campo principal | Campo | Obligatorio | Longitud mínima | Longitud máxima  | Otro requisito | 
| --- | --- | --- | --- | --- | --- | 
|  | templateType  | Sí |  |  | Debe ser "WhatsAppInteractiveReplyButton»  | 
|  | data  | Sí |  |  |  | 
|  | versión  | Sí |  |  | Debe ser “1.0”  | 
|  data  | content | Sí |  |  |  | 
|  content  | título | Sí |  |  |  | 
|  | cabecera | No |  |  |  | 
|  | body | Sí |  |  |  | 
|  | footer  | No |  |  |  | 
|  | action  | Sí |  |  |  | 
| cabecera  | type  | Sí |  |  | Valores válidos: “text”, “document”, “image”, “vídeo”  | 
|  | texto | No | 1 | 60  |  | 
|  | imagen | No |  |  |  | 
|  | vídeo | No |  |  |  | 
|  | documento | No |  |  |  | 
| imagen | link  | Sí |  |  | Debe ser una URL multimedia de acceso público que comience por https/http  | 
| vídeo | link  | Sí |  |  | Debe ser una URL multimedia de acceso público que comience por https/http  | 
| documento | link  | Sí |  |  | Debe ser una URL multimedia de acceso público que comience por https/http  | 
| body  | texto  | Sí | 1 | 1024  |  | 
| footer  | texto  | Sí | 1 | 60  |  | 
| action  | botones  | Sí | 1 | 3  |  | 
| botón  | type  | Sí |  |  | Debe ser “reply”  | 
|  | reply.id | Sí | 1 | 256  | Debe ser único en todos los botones  | 
|  | reply.title  | Sí | 1 | 20  |  | 

## Formato enriquecido en títulos y subtítulos
<a name="rich-link-formatting"></a>

Puede agregar un formato enriquecido a los títulos y subtítulos de sus mensajes de chat. Por ejemplo, puede agregar enlaces, cursiva, negrita, listas numeradas y listas con viñetas. Puede usar [markdown]( https://commonmark.org/help/) para dar formato al texto. 

En la siguiente imagen de un cuadro de chat se muestra un ejemplo de selector de lista con formato enriquecido en el título y el subtítulo.
+ El título **¿Cómo podemos ayudarlo? aws.amazon.com** está en negrita y contiene un enlace.
+ El subtítulo contiene texto en cursiva y negrita, una lista con viñetas y una lista numerada. También muestra un enlace sin formato, un enlace de texto y un código de muestra.
+ La parte inferior del cuadro de chat muestra tres elementos del selector de lista.

![\[Un cuadro de chat, un título con un enlace, un subtítulo con listas y enlaces.\]](http://docs.aws.amazon.com/es_es/connect/latest/adminguide/images/rich-link-formatting-example1a.png)


### Cómo dar formato al texto con Markdown
<a name="markdown-formatting-text"></a>

Puede escribir cadenas de títulos y subtítulos en formato de varias líneas o en una sola línea con caracteres de salto de línea ``\r\n``.
+ **Formato de varias líneas**: en el siguiente ejemplo de código se muestra cómo crear listas en markdown en formato de varias líneas.

  ```
  const MultiLinePickerSubtitle = `This is some *emphasized text* and some **strongly emphasized text**
  
  This is a bulleted list (multiline):
  * item 1
  * item 2
  * item 3
  
  This is a numbered list:
  1. item 1
  2. item 2
  3. item 3
  
  Questions? Visit https://plainlink.com/faq
  
  [This is a link](https://aws.amazon.com)
  
  This is \`\`
  `
  
  const PickerTemplate = {
      templateType: "ListPicker|Panel",
      version: "1.0",
      data: {
          content: {
              title: "How can we help?",
              subtitle: MultiLinePickerSubtitle,
              elements: [ /* ... */ ]
          }
      }
  }
  ```
+ **Formato de una sola línea**: en el siguiente ejemplo se muestra cómo crear un subtítulo en una sola línea mediante caracteres de salto de línea ``\r\n``. 

  ```
  const SingleLinePickerSubtitle = "This is some *emphasized text* and some **strongly emphasized text**\r\nThis is a bulleted list:\n* item 1\n* item 2\n* item 3\n\nThis is a numbered list:\n1. item 1\n2. item 2\n3. item 3\n\nQuestions? Visit https://plainlink.com/faq\r\n[This is a link](https://aws.amazon.com)\r\nThis is `<code/>`";
  
  const PickerTemplate = {
      templateType: "ListPicker|Panel",
      version: "1.0",
      data: {
          content: {
              title: "How can we help?",
              subtitle: SingleLinePickerSubtitle,
              elements: [ /* ... */ ]
          }
      }
  }
  ```

En el siguiente ejemplo se muestra cómo dar formato al texto en cursiva y negrita con Markdown:

`This is some *emphasized text* and some **strongly emphasized text**`

En el siguiente ejemplo se muestra cómo dar formato al texto como código con Markdown:

`This is `<code />``

### Cómo dar formato a los enlaces con Markdown
<a name="markdown-formatting-links"></a>

Para crear un enlace, utilice la siguiente sintaxis:

 `[aws](https://aws.amazon.com)`

En los siguientes ejemplos se muestran dos formas de agregar enlaces con Markdown:

`Questions? Visit https://plainlink.com/faq `

`[This is a link](https://aws.amazon.com)`

**nota**  
En el caso de los selectores de listas, el campo `targetForLinks` se puede añadir como campo secundario en `content` si se quiere tener un control pormenorizado sobre dónde se abren los enlaces. De forma predeterminada, el widget de comunicaciones abrirá los enlaces en una nueva pestaña del navegador. Para obtener más información, consulte [Plantilla de selector de lista](#list-picker).