

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Abilita lo streaming di messaggi di chat in tempo reale in Connect Customer
<a name="chat-message-streaming"></a>

Connect Customer Chat fornisce [API](https://docs.aws.amazon.com/connect/latest/APIReference/Welcome.html) che consentono di abbonarsi a un flusso di messaggi di chat in tempo reale. Queste API consentono di: 
+ Eseguire lo streaming di messaggi in tempo reale quando viene creato un nuovo contatto di chat.
+ Estendi l'attuale funzionalità di Connect Customer Chat per supportare casi d'uso come la creazione di integrazioni con soluzioni SMS e applicazioni di messaggistica di terze parti, l'attivazione di notifiche push per dispositivi mobili e la creazione di dashboard di analisi per monitorare e tracciare l'attività dei messaggi di chat. 

**Nota**  
Questa pagina descrive come abbonarsi a un endpoint SNS per lo streaming in tempo reale dei messaggi di chat in Connect Customer. Se stai cercando di abilitare lo streaming di messaggi per le interazioni conversazionali basate sull'intelligenza artificiale in Connect Customer, consulta. [Abilita lo streaming di messaggi per la AI-powered chat](message-streaming-ai-chat.md)

## Come funzionano le API di streaming dei messaggi
<a name="how-chat-message-streaming-apis-work"></a>

Le [API di streaming dei messaggi Connect Customer](https://docs.aws.amazon.com/connect/latest/APIReference/Welcome.html) vengono attivate quando si verificano determinati eventi all'interno di un contatto Connect Customer Chat. Ad esempio, quando un cliente invia un nuovo messaggio di chat, l'evento trasmette un [payload](sns-payload.md) a un endpoint specifico contenente dati sul messaggio appena inviato. I messaggi vengono pubblicati su un endpoint specifico utilizzando [Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) (Amazon SNS). 

Questo argomento descrive come configurare lo streaming di messaggi in tempo reale utilizzando Connect Customer e Amazon SNS. La procedura è la seguente: 

1. Utilizza la console Amazon SNS per creare un nuovo argomento SNS standard e configurare i messaggi.

1. Chiama l'[StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)API per avviare il contatto in chat.

1. Chiama l'[StartContactStreaming](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactStreaming.html)API per avviare lo streaming dei messaggi. 

1. Chiama l'[CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)API per creare la connessione del partecipante.

## Passaggio 1: creare un argomento Amazon SNS standard.
<a name="step1-chat-streaming"></a>

1. Accedi alla console Amazon SNS. 

1. [Crea un argomento SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) nel tuo AWS account. Nella sezione **Dettagli**, per **Tipo** scegli **Standard**, inserisci un nome per l'argomento e seleziona **Crea argomento**.
**Nota**  
Al momento, le API di streaming dei messaggi in tempo reale supportano solo argomenti SNS standard, mentre quelli [Amazon SNS FIFO (First-In, First-Out)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html) non sono supportati. 

1. Una volta creato l'argomento, il relativo nome della risorsa Amazon (ARN) viene mostrato nella sezione **Dettagli**. Copia l'ARN dell'argomento negli appunti. Lo utilizzerai nel passaggio successivo e in [Passaggio 3: abilitare lo streaming dei messaggi sul contatto](#step3-chat-streaming). 

   L'argomento ARN è simile al seguente esempio: 

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

1. Scegli la scheda **Politica di accesso**, scegli **Modifica**, quindi aggiungi una politica basata sulle risorse sull'argomento SNS in modo che Connect Customer abbia l'autorizzazione a pubblicare su di esso. Di seguito è riportato un esempio di policy SNS che puoi copiare e incollare nell'editor JSON e personalizzare con i tuoi valori: 

------
#### [ 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 **policy di accesso** predefinita prevede l'applicazione a `sourceOwner` di condizioni quali:   

   ```
   "Condition": {
           "StringEquals": {
             "AWS:SourceOwner": "921772911154"
           }
         }
   ```
Assicurati di rimuoverla e di sostituirla con `SourceAccount`, ad esempio:  

   ```
   "Condition":{
               "StringEquals":{
                  "aws:SourceAccount":"YOUR_AWS_ACCOUNT_ID"
               },
               "ArnEquals":{
                  "aws:SourceArn":"YOUR_CONNECT_INSTANCE_ARN"
               }
            }
   ```
Ciò eviterà che si verifichi un problema di [“confused deputy” tra i servizi](cross-service-confused-deputy-prevention.md). 

1. Se utilizzi la crittografia lato server su SNS, verifica di avere abilitata l'autorizzazione `connect.amazonaws.com` su KMS key. Di seguito è riportata una policy di esempio:

------
#### [ 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": "*"
           }
       ]
   }
   ```

------

## Passaggio 2: avviare il contatto di chat
<a name="step2-chat-streaming"></a>

1. Chiama l'[StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)API Connect Customer per avviare il contatto in chat. 

   Per informazioni su come creare il client SDK per chiamare le API Connect Customer, consulta i seguenti argomenti:
   + [Classe AmazonConnectClientBuilder](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/connect/AmazonConnectClientBuilder.html) 
   + [Creazione di client del servizio](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/creating-clients.html) 

1. Tieni traccia della risposta `ContactId` e `ParticipantToken` della [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)risposta poiché questi attributi di risposta vengono utilizzati per chiamare altre API di chat necessarie per abilitare lo streaming. Ciò viene descritto nei passaggi successivi.

## Passaggio 3: abilitare lo streaming dei messaggi sul contatto
<a name="step3-chat-streaming"></a>
+ Chiama [StartContactStreaming](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactStreaming.html)per abilitare lo streaming di messaggi in tempo reale sul tuo argomento SNS.
  + **Limiti**: puoi iscriverti a un massimo di due argomenti SNS per contatto.
  + Quando chiami [StartContactStreaming](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactStreaming.html), devi fornire l'Amazon Resource Name (ARN) dell'argomento SNS (vedi). [Passaggio 1: creare un argomento Amazon SNS standard.](#step1-chat-streaming)

    L'ARN di un singolo argomento SNS può essere utilizzato su Account AWS più argomenti, ma deve trovarsi nella stessa regione dell'istanza Connect Customer. **Ad esempio, se l'argomento ARN è in us-east-1, l'istanza Connect Customer deve essere in **us-east-1**.**
  + Per i messaggi di chat iniziali che non vengono ricevuti sull'endpoint di streaming, puoi chiamare l'[GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)API per ricevere i messaggi iniziali.

## Passaggio 4: creare la connessione del partecipante
<a name="step4-chat-streaming"></a>
+ Chiamata [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)con l'`ConnectParticipant`attributo passato come vero. 
  + È necessario chiamare [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)entro cinque minuti dalla creazione della chat.
  + Le chiamate [CreateParticipantConnection](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)con `ConnectParticipant` set to true funzionano solo se hai abilitato lo streaming [Passaggio 2: avviare il contatto di chat](#step2-chat-streaming) e il partecipante chiamante lo è. `Customer`
  + Questo passaggio (creazione della connessione del partecipante) è facoltativo se hai già stabilito con successo la connessione al contatto della chat utilizzando `WEBSOCKET`.

## Fasi successive
<a name="nextsteps-chat-streaming"></a>

Ora è tutto pronto per utilizzare le API per lo streaming dei messaggi.

1. Per assicurarti che funzioni correttamente, verifica che i messaggi vengano pubblicati sull'argomento SNS che hai creato. Puoi farlo utilizzando i CloudWatch parametri di Amazon. Per istruzioni, consulta gli [argomenti relativi al monitoraggio dell'utilizzo di Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-monitoring-using-cloudwatch.html). CloudWatch 

1. Poiché SNS offre [opzioni di conservazione limitate](https://aws.amazon.com/blogs//aws/sns-ttl-control/), è consigliabile configurare [Amazon Simple Queue Service (Amazon SQS)](https://aws.amazon.com/sqs/), [Amazon Kinesis](https://aws.amazon.com/kinesis/) o un altro servizio per la conservazione dei messaggi. 

1. L'utilizzo [StopContactStreaming](https://docs.aws.amazon.com/connect/latest/APIReference/API_StopContactStreaming.html)è facoltativo e non richiesto se le chat vengono [disconnesse](disconnect-hang-up.md) tramite un flusso di contatti o se il cliente disconnette la chat. Tuttavia, `StopContactStreaming` offre la possibilità di interrompere lo streaming dei messaggi sull'argomento SNS anche se la chat è attiva e in corso.