

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.

# Habilitación de la transmisión de mensajes de chat en tiempo real en Amazon Connect
<a name="chat-message-streaming"></a>

Amazon Connect Chat [APIs](https://docs.aws.amazon.com/connect/latest/APIReference/Welcome.html)le permite suscribirse a una transmisión de mensajes de chat en tiempo real. Con ellas APIs, puede: 
+ Transmitir mensajes de chat en tiempo real cuando se cree un nuevo contacto de chat.
+ Amplíe la funcionalidad actual del chat de Amazon Connect para admitir casos de uso como la creación de integraciones con soluciones de SMS y aplicaciones de mensajería de terceros, la habilitación de notificaciones push en móviles y la creación de paneles de análisis para monitorear y realizar un seguimiento de la actividad de los mensajes de chat. 

**nota**  
En esta página se describe cómo suscribirse a un punto final de SNS para la transmisión en tiempo real de los mensajes de chat en Amazon Connect. Si está intentando habilitar la transmisión de mensajes para las interacciones conversacionales de IA en Amazon Connect, consulte[Habilite la transmisión de mensajes para un chat con tecnología de IA](message-streaming-ai-chat.md).

## Cómo funciona la transmisión de APIs mensajes
<a name="how-chat-message-streaming-apis-work"></a>

La [transmisión de mensajes de Amazon Connect APIs](https://docs.aws.amazon.com/connect/latest/APIReference/Welcome.html) se activa cuando se producen determinados eventos en un contacto de Amazon Connect Chat. Por ejemplo, cuando un cliente envía un nuevo mensaje de chat, el evento envía una [carga](sns-payload.md) a un punto de conexión especificado que contiene datos sobre el mensaje que se acaba de enviar. Los mensajes se publican mediante [Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) (Amazon SNS) en un punto de conexión específico. 

En este tema se describe cómo establecer un flujo de mensajes en tiempo real mediante Amazon Connect y Amazon SNS. Los pasos son: 

1. Utilice la consola de Amazon SNS para crear un nuevo tema SNS estándar y configurar los mensajes.

1. Llama a la [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)API para iniciar el contacto de chat.

1. Llama a la [StartContactStreaming](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactStreaming.html)API para iniciar la transmisión de mensajes. 

1. Llama a la [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)API para crear la conexión del participante.

## Paso 1: crear tema de SNS estándar
<a name="step1-chat-streaming"></a>

1. Vaya a la consola de Amazon SNS. 

1. [Crea un tema de SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) en tu AWS cuenta. En la sección **Detalles**, para **Tipo**, elija **Estándar**, introduzca un nombre para el tema y, a continuación, elija **Crear tema**.
**nota**  
Actualmente, la transmisión de mensajes APIs solo admite el SNS estándar para la transmisión de mensajes en tiempo real. No son compatibles con los [temas FIFO (primero en entrar, primero en salir) de Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html). 

1. Tras crear el tema, su nombre de recurso de Amazon (ARN) aparece en la sección **Detalles**. Copie el ARN del tema en el portapapeles. Utilizará el ARN de tema en el siguiente paso y en [Paso 3: habilitar el streaming de mensajes en el contacto](#step3-chat-streaming). 

   El ARN de tema tiene un aspecto similar al del ejemplo siguiente: 

   ```
   arn:aws:sns:us-east-1:123456789012:MyTopic                                
   ```

1. Elija la pestaña **Política de acceso**, elija **Editar** y, a continuación, agregue una política basada en recursos en el tema de SNS de modo que Amazon Connect tenga permiso para publicar en él. A continuación, encontrará un ejemplo de política de SNS que puede copiar y pegar en el editor JSON y, a continuación, personalizar con sus valores: 

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Service":"connect.amazonaws.com"
            },
            "Action":"sns:Publish",
            "Resource":"arn:aws:sns:us-east-1:111122223333:TopicName",
            "Condition":{
               "StringEquals":{
                   "aws:SourceAccount":"111122223333"
               },
               "ArnEquals":{
               "aws:SourceArn":"arn:aws:connect:us-east-1:111122223333:instance/InstanceId"
               }
            }
         }
      ]
   }
   ```

------
**nota**  
La **política de acceso** predeterminada incluye condiciones aplicadas a `sourceOwner`, como:   

   ```
   "Condition": {
           "StringEquals": {
             "AWS:SourceOwner": "921772911154"
           }
         }
   ```
Asegúrese de quitarla y reemplazarla por `SourceAccount`, por ejemplo:  

   ```
   "Condition":{
               "StringEquals":{
                  "aws:SourceAccount":"YOUR_AWS_ACCOUNT_ID"
               },
               "ArnEquals":{
                  "aws:SourceArn":"YOUR_CONNECT_INSTANCE_ARN"
               }
            }
   ```
Esto evita un problema de [suplente confuso entre servicios](cross-service-confused-deputy-prevention.md). 

1. Si utiliza el cifrado del servidor en SNS, verifique que tiene el permiso `connect.amazonaws.com` habilitado en la KMS key. A continuación, se muestra una política de ejemplo:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "key-consolepolicy-3",
       "Statement": [
           {
               "Sid": "Enable IAM User Permissions",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root",
                   "Service": "connect.amazonaws.com"
               },
               "Action": "kms:*",
               "Resource": "*"
           },
           {
               "Sid": "Allow access for Key Administrators",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root",
                   "Service": "connect.amazonaws.com"
               },
               "Action": [
                   "kms:Create*",
                   "kms:Describe*",
                   "kms:Enable*",
                   "kms:List*",
                   "kms:Put*",
                   "kms:Update*",
                   "kms:Revoke*",
                   "kms:Disable*",
                   "kms:Get*",
                   "kms:Delete*",
                   "kms:TagResource",
                   "kms:UntagResource",
                   "kms:ScheduleKeyDeletion",
                   "kms:CancelKeyDeletion"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

## Paso 2: iniciar el contacto de chat
<a name="step2-chat-streaming"></a>

1. Llama a la [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)API Amazon Connect para iniciar el contacto de chat. 

   Para obtener información sobre cómo crear el cliente SDK para llamar a Amazon Connect APIs, consulte los siguientes temas:
   + [Clase AmazonConnectClientBuilder](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/connect/AmazonConnectClientBuilder.html) 
   + [Creación de clientes de servicio](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/creating-clients.html) 

1. Realice un seguimiento de la [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)respuesta `ContactId` y `ParticipantToken` desde ella, ya que estos atributos de respuesta se utilizan para llamar a otros chats APIs necesarios para habilitar la transmisión. Esto se describe en los siguientes pasos.

## Paso 3: habilitar el streaming de mensajes en el contacto
<a name="step3-chat-streaming"></a>
+ Llama [StartContactStreaming](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactStreaming.html)para permitir la transmisión de mensajes en tiempo real a tu tema de SNS.
  + **Límites**: puede suscribirse a un máximo de dos temas de SNS por contacto.
  + Cuando llames [StartContactStreaming](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactStreaming.html), tendrás que proporcionar el nombre del recurso de Amazon (ARN) del tema de SNS (consulte). [Paso 1: crear tema de SNS estándar](#step1-chat-streaming)

    Se puede usar un único ARN de tema de SNS en Cuentas de AWS varios, pero debe estar en la misma región que la instancia de Amazon Connect. Por ejemplo, si el ARN de su tema está en **us-east-1**, su instancia de Amazon Connect debe estar en **us-east-1**.
  + En el caso de los mensajes de chat iniciales que no se reciben en el punto final de streaming, puedes llamar a la [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)API para recibir los mensajes iniciales.

## Paso 4: crear la conexión de participante
<a name="step4-chat-streaming"></a>
+ Llama [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)con el `ConnectParticipant` atributo asignado como true. 
  + Debe llamar [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)en un plazo de cinco minutos a partir de la creación del chat.
  + Llamar [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)con `ConnectParticipant` el valor «true» solo funciona si has activado la transmisión [Paso 2: iniciar el contacto de chat](#step2-chat-streaming) y la persona que llama es `Customer` el participante.
  + Este paso (crear la conexión del participante) es opcional si ya se ha conectado correctamente al contacto de chat mediante `WEBSOCKET`.

## Siguientes pasos
<a name="nextsteps-chat-streaming"></a>

Ya está todo listo para trabajar con la transmisión APIs de mensajes.

1. Para comprobar que funciona, compruebe que los mensajes se publican en el tema de SNS que ha creado. Puedes hacerlo con las CloudWatch métricas de Amazon. Para obtener instrucciones, consulte [Supervisar los temas de Amazon SNS mediante](https://docs.aws.amazon.com/sns/latest/dg/sns-monitoring-using-cloudwatch.html). CloudWatch 

1. Como SNS tiene una [retención limitada](https://aws.amazon.com/blogs//aws/sns-ttl-control/), le recomendamos que establezca [Amazon Simple Queue Service (Amazon SQS)](https://aws.amazon.com/sqs/), [Amazon Kinesis](https://aws.amazon.com/kinesis/) u otro servicio para retener los mensajes. 

1. [StopContactStreaming](https://docs.aws.amazon.com/connect/latest/APIReference/API_StopContactStreaming.html)El uso es opcional y no obligatorio si los chats se [desconectan](disconnect-hang-up.md) a través de un flujo de contactos o si el cliente desconecta el chat. No obstante, `StopContactStreaming` ofrece la opción de detener el streaming de mensajes en el tema de SNS, aunque el chat esté activo y en curso.