

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à.

# Consentire ai clienti di riprendere le conversazioni in chat in Amazon Connect
<a name="chat-persistence"></a>

Spesso i clienti avviano una chat, l'abbandonano e vi fanno ritorno in un secondo momento. Ciò può verificarsi diverse volte nel corso di più giorni, mesi o addirittura anni. L'abilitazione della chat persistente consente di supportare queste conversazioni che continuano nel tempo. 

La chat persistente consente ai clienti di riprendere conversazioni precedenti mantenendone il contesto, i metadati e le trascrizioni. Non devono ripetere quanto detto in precedenza, poiché gli agenti hanno accesso all'intera cronologia delle conversazioni. 

## Reidratazione della chat
<a name="rehydration"></a>

La chat persistente si ottiene attraverso un processo chiamato reidratazione della chat. Questo processo consente di recuperare e visualizzare le trascrizioni delle chat dai precedenti contatti di chat. Consente a clienti e agenti di continuare facilmente le conversazioni dal punto in cui erano state interrotte.

**Importante**  
La reidratazione in una nuova conversazione è possibile solo per le sessioni di chat terminate, poiché la generazione delle trascrizioni avviene in modo asincrono.   
Gli utenti devono attendere 30-60 secondi prima di tentare la reidratazione da una chat terminata in precedenza.

Connect Customer supporta due tipi di reidratazione:
+ `ENTIRE_PAST_SESSION`: avvia una nuova sessione di chat ed esegue la reidratazione di tutti i segmenti di chat delle sessioni precedenti.
+ `FROM_SEGMENT`: avvia una nuova sessione ed esegue la reidratazione dal segmento della chat precedente specificato.

Per esempi di casi d'uso relativi a queste diverse modalità di reidratazione, consulta [Casi d'uso di esempio](#persistentchatscenario).

## RelatedContactId
<a name="relatedcontactid"></a>

Un nuovo contatto può essere associato a uno esistente mediante `RelatedContactId`. In questo caso, includerà una copia delle [proprietà del contatto](connect-attrib-list.md) correlato.

Per ulteriori informazioni su come `RelatedContactId` viene modellato nei record dei contatti, consulta [Modello di dati per i record di contatto di Amazon Connect](ctr-data-model.md).

Per le chat persistenti, `RelatedContactId` indica il `contactId` utilizzato per la reidratazione della chat.

## Come abilitare la chat persistente
<a name="enable-persistent-chat"></a>

Esistono due modi per abilitare la chat persistente:
+ Specificare un ID contatto precedente durante la creazione di una nuova chat. Per istruzioni, consulta [Abilitare la chat persistente quando si crea un nuovo contatto di chat](#enable-persistent-chat-creating-new-chat-contact).
+ Aggiungere il blocco [Crea un’associazione di contatti persistente](create-persistent-contact-association-block.md) a un flusso. Per istruzioni, consulta [Abilitare la chat persistente in un flusso](#enable-persistent-chat-within-contact-flow).

**Nota**  
Non è possibile scegliere entrambi questi metodi. Ovvero, puoi abilitare la persistenza di un `SourceContactID` in una nuova chat solo una volta.

Per offrire esperienze di chat persistenti, occorre fornire un ID contatto precedente quando si avvia una nuova chat o quando si utilizza il blocco di flusso [Crea un’associazione di contatti persistente](create-persistent-contact-association-block.md). Questa operazione non viene eseguita automaticamente. È consigliabile creare un repository per l’archiviazione dei dati dei record di contatto. Il repository consente il recupero di questi dati per ciascuno dei clienti. 

 Esistono due modi per creare voci in un repository: 
+ Utilizzare lo [streaming dei messaggi di chat](https://docs.aws.amazon.com/connect/latest/adminguide/chat-message-streaming.html) per creare un messaggio quando una chat è terminata.
+ Ispezionare gli [eventi di contatto](https://docs.aws.amazon.com/connect/latest/adminguide/contact-events.html#contact-events-data-model) e utilizzare la [funzione AWS Lambda](https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html) per creare voci nel repository. 

Dopo aver configurato un repository, puoi recuperare l’ID contatto precedente del cliente e fornirlo all’avvio di una nuova chat o all’interno del blocco di flusso [Crea un’associazione di contatti persistente](create-persistent-contact-association-block.md).

Inoltre, assicurati che le trascrizioni chat passate possano essere recuperate dal bucket Amazon S3 dell’istanza. Amazon Connect non è in grado di recuperare le trascrizioni e non è consentita la persistenza delle chat nei seguenti due casi:
+ Vengono utilizzati più bucket di trascrizione delle chat.
+ Viene modificato il nome del file della trascrizione della chat generato da Amazon Connect.

### Abilitare la chat persistente quando si crea un nuovo contatto di chat
<a name="enable-persistent-chat-creating-new-chat-contact"></a>

Per configurare esperienze di chat persistenti durante la creazione di un nuovo contatto di chat, inserisci il precedente `contactId` nel `SourceContactId` parametro dell'[StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)API. Questo consente la reidratazione delle trascrizioni delle chat dei contatti precedenti. Le trascrizioni vengono mostrate nella chat sia al cliente che all’agente. Per vedere un esempio, consulta [Casi d'uso di esempio](#persistentchatscenario).

### Abilitare la chat persistente in un flusso
<a name="enable-persistent-chat-within-contact-flow"></a>

Per configurare esperienze di chat persistente in un flusso:

1. Dopo aver creato un contatto di chat, aggiungi il blocco [Crea un’associazione di contatti persistente](create-persistent-contact-association-block.md) al flusso.

1. Utilizza un attributo definito dall’utente per specificare un ID contatto di origine.

In alternativa, puoi utilizzare l'[CreatePersistentContactAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreatePersistentContactAssociation.html)API per fornire un ID di contatto di origine per rendere persistente la chat corrente.

La reidratazione viene avviata dopo l’avvio della chat, quando si utilizza il blocco di flusso o l’API. Viene emesso un evento di reidratazione per avvisarti quando la reidratazione è completata.

## Casi d'uso di esempio
<a name="persistentchatscenario"></a>

Un cliente avvia una sessione di chat:

1. L'agente a1 accetta la chat e ha inizio la conversazione con il cliente. Questo è il primo contatto creato nella sessione di chat in corso. In questo esempio viene utilizzato come `contactId` **C1** 11111111-aaaa-bbbb-1111-1111111111111. 

1. L'agente a1 trasferisce la chat all'agente a2 e, in seguito a questa operazione, viene creato un altro contatto. In questo esempio viene utilizzato come `contactId` **C2** 2222222-aaaa-bbbb-2222-222222222222222. 

1. L'agente a2 termina la chat.

1. Il cliente viene reindirizzato al flusso di disconnessione per rispondere a un sondaggio post-chat e, anche in questo caso, viene creato un altro contatto. In questo esempio viene utilizzato come `contactId` **C3** 33333333-aaaa-bbbb-3333-3333333333333.

1. Viene mostrato il sondaggio post-chat e la sessione di chat termina. 

1. In un secondo momento il cliente desidera riprendere la sessione di chat precedente.

A questo punto, possono presentarsi due casi d'uso per il cliente. Entrambi sono riportati di seguito, insieme alla configurazione di Connect Customer da utilizzare per fornire al cliente le relative esperienze di chat persistente.

### Caso d'uso 1
<a name="persistentchatscenario-usecase1"></a>

Il cliente desidera continuare la sessione di chat precedente e nascondere il sondaggio post-chat. Per fornire questa esperienza è necessario utilizzare la seguente configurazione. 

**Richiesta:**

```
PUT /contact/chat HTTP/1.1
Content-type: application/json
{
   "Attributes": { 
      "string" : "string" 
   },
   "ContactFlowId": "string",
   "InitialMessage": { 
      "Content": "string",
      "ContentType": "string"
   },
   "InstanceId": "string",
   ... // other chat fields
     
   // NEW Attribute for persistent chat 
   "PersistentChat" : {
       "SourceContactId":"2222222-aaaa-bbbb-2222-222222222222222" 
       "RehydrationType":"FROM_SEGMENT"
   }
}
```

#### Configurazione
<a name="usecase1-configuration"></a>
+ SourceContactId = 2222222-aaaa-bbbb-2222-222222222222222 (il ContactID per C2)
+ RehydrationType = "`FROM_SEGMENT`"

#### Comportamento previsto
<a name="usecase1-behavior"></a>
+ Se si utilizza questa configurazione, viene avviata una sessione di chat persistente dal precedente contatto C2 terminato (ad esempio, 2222222-aaaa-bbbb-2222-222222222222222). 

  È possibile accedere alle trascrizioni delle precedenti interazioni C2 (2222222-aaaa-bbbb-2222-222222222222222) e C1 (11111111-aaaa-bbbb-1111-1111111111111) nella sessione di chat persistente in corso. Il segmento di chat C3 (33333333-aaaa-bbbb-3333-3333333333333) non viene incluso nella sessione di chat persistente.
+ In questo caso, la risposta restituisce C2 (2222222-aaaa-bbbb-222222222222222) come "». [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)ContinuedFromContactId
+ Il `RelatedContactId` per questa sessione di chat persistente è 2222222-aaaa-bbbb-2222-222222222222222 (C2).

### Caso d'uso 2
<a name="persistentchatscenario-usecase2"></a>

Il cliente desidera continuare la sessione di chat precedente e visualizzare la trascrizione delle interazioni passate; inoltre, non desidera nascondere il sondaggio post-chat. Per fornire questa esperienza è necessario utilizzare la seguente configurazione. 

**Nota**  
 Per il tipo di reidratazione `ENTIRE_PAST_SESSION`, specifica come attributo `SourceContactId` il primo contatto (`contactId` iniziale) della sessione di chat precedente.

**Richiesta:**

```
PUT /contact/chat HTTP/1.1
Content-type: application/json
{
   "Attributes": { 
      "string" : "string" 
   },
   "ContactFlowId": "string",
   "InitialMessage": { 
      "Content": "string",
      "ContentType": "string"
   },
   "InstanceId": "string",
   ... // other chat fields
     
   // NEW Attribute for persistent chat 
   "PersistentChat":{
        "SourceContactId":"11111111-aaaa-bbbb-1111-1111111111111" // (first contactId C1)
        "RehydrationType":"ENTIRE_PAST_SESSION"
   }
}
```

#### Configurazione
<a name="usecase2-configuration"></a>
+ SourceContactId = (C1) `11111111-aaaa-bbbb-1111-1111111111111`
+ RehydrationType = «E`NTIRE_PAST_SESSION`»

#### Comportamento previsto
<a name="usecase2-behavior"></a>
+ Se si sceglie questa configurazione, viene avviata una sessione di chat persistente dall'ultimo contatto di chat terminato (C3). È possibile accedere alle trascrizioni delle precedenti interazioni C3, C2 e C1 nella sessione di chat persistente in corso.
+ In questo caso, la [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)risposta restituisce -aaaa-bbbb-3333-33333 (C3) come "». ContinuedFromContactId
+ Il `RelatedContactId` per questa sessione di chat persistente è 33333333-aaaa-bbbb-3333-3333333333333 (C3).

**Nota**  
I collegamenti delle chat sono cumulativi, ossia vengono trasferiti alle sessioni di chat collegate.  
Ad esempio, se un contatto (`contactId` C2) appartenente a una sessione di chat precedente è collegato a un contatto (`contactId` C1) di un'altra interazione precedente, dalla nuova sessione di chat persistente creata dal collegamento di C2 deriverà anche il collegamento implicito di C1. Il collegamento della nuova sessione di chat persistente sarà il seguente: C3 → C2 → C1.  
Il ContactID precedente, da cui continua la sessione di chat persistente, viene esposto nel campo nella [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)risposta `ContinuedFromContactId` dell'API. È inoltre presente nel campo RelatedContactId nel [record di contatto](ctr-data-model.md#ctr-ContactTraceRecord) relativo al contatto.

## Come accedere alle trascrizioni dei contatti di chat precedenti per una chat persistente
<a name="access-past-chat-transcript"></a>

Per l'accesso alle trascrizioni delle interazioni precedenti per una chat persistente viene utilizzato il modello di impaginazione `NextToken` esistente. La chiamata iniziale [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)a una sessione di chat persistente appena avviata contiene un `NextToken` nella risposta, se esistono messaggi di chat precedenti. `NextToken`deve essere utilizzata per accedere alla trascrizione della chat precedente e per impostare l'opzione `ScanDirection` per `BACKWARD` la [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)chiamata successiva per recuperare i messaggi di chat precedenti. 

Se ci sono più messaggi di chat precedenti, ne [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)restituisce uno nuovo `NextToken` e lo stesso processo può essere ripetuto per recuperare altre trascrizioni di chat precedenti.

## Utilizzo dei filtri `StartPosition` e `contactId` per la chat persistente
<a name="startposition"></a>

Connect Customer non supporta l'utilizzo `StartPosition` e `contactId` i filtri della [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)chiamata per gli attributi degli elementi di trascrizione che provengono dalla chat precedente. 