

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Permettre aux clients de reprendre les conversations par chat dans Amazon Connect
<a name="chat-persistence"></a>

Les clients démarrent souvent un chat, puis quittent la conversation et reviennent plus tard pour continuer à discuter. Cela peut se produire de nombreuses fois sur plusieurs jours, mois, voire années. Pour prendre en charge les chats de longue durée comme ceux-ci, activez le chat persistant. 

Grâce au chat persistant, les clients peuvent reprendre les conversations précédentes en utilisant le contexte, les métadonnées et les transcriptions transmis. Ils n’ont pas besoin de se répéter lorsqu’ils reviennent dans un chat et les agents ont accès à l’historique complet de la conversation. 

## Réhydratation du chat
<a name="rehydration"></a>

Le chat persistant est possible grâce à un processus appelé réhydratation du chat. Ce processus permet de récupérer les transcriptions des chats à partir des contacts par chat précédents et de les afficher. Il permet aux clients et aux agents de reprendre facilement les conversations là où ils les ont laissées.

**Important**  
Seules les sessions de chat terminées sont autorisées à réhydrater une nouvelle session de chat, car la génération des transcriptions s’effectue de manière asynchrone.   
Les utilisateurs doivent attendre 30 à 60 secondes avant de tenter une réhydratation du chat après une session terminée.

Amazon Connect permet deux types de réhydratation :
+ `ENTIRE_PAST_SESSION` : démarre une nouvelle session de chat et réhydrate tous les segments de chat des sessions de chat passé.
+ `FROM_SEGMENT` : démarre une nouvelle session et effectue la réhydratation à partir du segment de chat passé spécifié.

Pour obtenir des exemples de cas d'utilisation illustrant ces différents modes de réhydratation, consultez [Exemples de cas d’utilisation](#persistentchatscenario).

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

Un nouveau contact peut être associé à un contact existant via le `RelatedContactId`. Ce nouveau contact contient une copie des [propriétés](connect-attrib-list.md) du contact associé.

Pour plus d'informations sur la modélisation du `RelatedContactId` dans les enregistrements de contact, consultez [Modèle de données pour les enregistrements de contacts Amazon Connect](ctr-data-model.md).

Pour le chat persistant, le `RelatedContactId` représente le `contactId` utilisé pour la réhydratation du chat source.

## Comment activer le chat persistant
<a name="enable-persistent-chat"></a>

Il existe deux façons d’activer le chat persistant :
+ Spécifiez un ID de contact précédent lors de la création d’un chat. Pour obtenir des instructions, consultez [Activation du chat persistant lors de la création d’un contact par chat](#enable-persistent-chat-creating-new-chat-contact).
+ Ajoutez le bloc [Création d’une association de contacts permanente](create-persistent-contact-association-block.md) à un flux. Pour obtenir des instructions, consultez [Activation du chat persistant dans un flux](#enable-persistent-chat-within-contact-flow).

**Note**  
Vous pouvez choisir l'une des deux méthodes pour conserver les chats, mais pas les deux. Autrement dit, vous pouvez n’activer qu’une seule fois la persistance d’un `SourceContactID` sur un nouveau chat.

Pour proposer des expériences de chat persistant, vous devez fournir un ID de contact précédent lorsque vous démarrez une nouvelle session de chat ou lorsque vous utilisez le bloc de flux [Création d’une association de contacts permanente](create-persistent-contact-association-block.md). Cette opération ne s’effectue pas automatiquement pour vous. Nous vous recommandons de créer un référentiel pour stocker les données d’enregistrement des contacts. Ce référentiel permettra d’extraire ces données pour chacun de vos clients. 

 Il existe deux façons de créer des entrées dans un référentiel : 
+ Utilisez le [streaming des messages de chat](https://docs.aws.amazon.com/connect/latest/adminguide/chat-message-streaming.html) pour créer une entrée lorsqu’une session de chat est terminée.
+ Inspectez les [événements de contact](https://docs.aws.amazon.com/connect/latest/adminguide/contact-events.html#contact-events-data-model) et utilisez la [fonction AWS Lambda](https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html) pour créer des entrées dans votre référentiel. 

Une fois le référentiel configuré, vous pouvez extraire l’ID de contact précédent du client et le fournir lors du démarrage d’une nouvelle session de chat ou dans le bloc de flux [Création d’une association de contacts permanente](create-persistent-contact-association-block.md).

En outre, assurez-vous que les transcriptions des chats passés peuvent être extraits du compartiment Amazon S3 de votre instance. Les deux situations suivantes empêchent Amazon Connect d’extraire les transcriptions et ne permettent pas la persistance des sessions de chat :
+ Vous utilisez plusieurs compartiments de transcription de chat.
+ Vous modifiez le nom du fichier de transcription du chat généré par Amazon Connect.

### Activation du chat persistant lors de la création d’un contact par chat
<a name="enable-persistent-chat-creating-new-chat-contact"></a>

Pour configurer des expériences de chat persistantes lors de la création d'un nouveau contact de chat, indiquez le précédent `contactId` dans le `SourceContactId` paramètre de l'[StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)API. Cela permet de réhydrater les transcriptions de chat des contacts précédents. Les transcriptions sont visibles à la fois par le client et par l’agent dans le chat. Pour obtenir un exemple, consultez [Exemples de cas d’utilisation](#persistentchatscenario).

### Activation du chat persistant dans un flux
<a name="enable-persistent-chat-within-contact-flow"></a>

Pour configurer des expériences de chat persistant dans un flux, procédez comme suit :

1. Une fois qu’un contact par chat a été créé, ajoutez le bloc [Création d’une association de contacts permanente](create-persistent-contact-association-block.md) à votre flux.

1. Utilisez un attribut défini par l’utilisateur pour spécifier un ID de contact source.

Vous pouvez également utiliser l'[CreatePersistentContactAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreatePersistentContactAssociation.html)API pour fournir un identifiant de contact source afin de rendre le chat en cours persistant.

La réhydratation commence après le début du chat, lors de l’utilisation du bloc de flux ou de l’API. Un événement est émis pour vous avertir lorsque la réhydratation est terminée.

## Exemples de cas d’utilisation
<a name="persistentchatscenario"></a>

Par exemple, un client démarre une session de chat :

1. L'agent a1 accepte le chat et la conversation commence entre le client et l'agent a1. Il s'agit du premier contact créé dans la session de chat actuelle. Par exemple, le `contactId` **C1** peut être 11111111-aaaa-bbbb-1111-1111111111111. 

1. L'agent a1 transfère ensuite le chat à l'agent a2. Un autre contact est créé. Par exemple, le `contactId` **C2** peut être 2222222-aaaa-bbbb-2222-222222222222222. 

1. L'agent a2 met fin au chat.

1. Le client est redirigé vers le flux de déconnexion pour une enquête post-chat qui crée un autre contact. Par exemple, le `contactId` **C3** peut être 33333333-aaaa-bbbb-3333-3333333333333.

1. L'enquête post-chat s'affiche et la session de chat prend fin. 

1. Plus tard, le client revient et souhaite reprendre sa session de chat passé.

À ce stade, il existe potentiellement deux cas d'utilisation différents pour le client. Vous trouverez ci-dessous les cas d’utilisation de chat persistant que le client peut rencontrer et la manière dont vous configurez Amazon Connect pour les mettre à disposition.

### Cas d’utilisation 1
<a name="persistentchatscenario-usecase1"></a>

Le client souhaite poursuivre sa session de chat passé, mais il veut masquer l'enquête post-chat. Vous utilisez la configuration ci-dessous pour proposer cette expérience. 

**Requête :**

```
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"
   }
}
```

#### Configuration
<a name="usecase1-configuration"></a>
+ SourceContactId = 2222222-aaaa-bbbb-2222-2222222222222 (le ContactiD pour C2)
+ RehydrationType = "`FROM_SEGMENT`"

#### Comportement attendu
<a name="usecase1-behavior"></a>
+ Cette configuration démarre une session de chat persistant à partir du contact C2 terminé précédemment qui a été spécifié (par exemple, 2222222-aaaa-bbbb-2222-222222222222222). 

  Les transcriptions des sessions de chat passé C2 (2222222-aaaa-bbbb-2222-222222222222222) et C1 (11111111-aaaa-bbbb-1111-1111111111111) sont accessibles dans la session de chat persistant actuelle. Notez que le segment de chat C3 (33333333-aaaa-bbbb-3333-3333333333333) est supprimé de la session de chat persistant.
+ Dans ce cas, la [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)réponse renvoie C2 (2222222-aaaa-bbbb-2222-22222222222222222) sous la forme « ». ContinuedFromContactId
+ Le `RelatedContactId` pour cette session de chat persistant est 2222222-aaaa-bbbb-2222-222222222222222 (C2).

### Cas d’utilisation 2
<a name="persistentchatscenario-usecase2"></a>

Le client souhaite poursuivre la session de chat passé et voir la transcription complète de l'engagement passé (et il ne veut pas masquer l'enquête post-chat). Vous utilisez la configuration ci-dessous pour proposer cette expérience. 

**Note**  
 Pour le type de réhydratation `ENTIRE_PAST_SESSION`, spécifiez le premier contact (`contactId` initial) de la session de chat passé en tant qu'attribut `SourceContactId`.

**Requête :**

```
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"
   }
}
```

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

#### Comportement attendu
<a name="usecase2-behavior"></a>
+ Une session de chat persistant est alors démarrée à partir du dernier contact par chat terminé (C3). Les transcriptions des sessions de chat passé C3, C2 et C1 sont accessibles dans la session de chat persistant actuelle.
+ Dans ce cas, la [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)réponse renvoie 33333333-aaaa-bbbb-3333-333333333333333 (C3) sous la forme « ». ContinuedFromContactId
+ Le `RelatedContactId` pour cette session de chat persistant est 33333333-aaaa-bbbb-3333-3333333333333 (C3).

**Note**  
Les liens de chat sont cumulatifs. Une fois les sessions de chat liées, elles sont transmises.  
Par exemple, si un contact (`contactId` C2) appartenant à une session de chat passé a été lié à un contact (`contactId` C1) issu d’une autre session de chat passée, une nouvelle session de chat persistant créée par la liaison de C2 entraîne également un lien implicite avec C1. La nouvelle session de chat persistant comportera le lien suivant : C3 → C2 → C1  
L'ancien ContactiD, à partir duquel la session de chat persistante est poursuivie, est exposé dans `ContinuedFromContactId` le champ de la réponse de l'API. [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) Il se trouve également dans le champ RelatedContactId de l'[enregistrement](ctr-data-model.md#ctr-ContactTraceRecord) du contact

## Comment accéder à la transcription d’un contact par chat passé pour un chat persistant
<a name="access-past-chat-transcript"></a>

L’accès à la transcription du chat passé pour un chat persistant utilise le modèle de pagination `NextToken` existant. L'appel initial [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)à une session de discussion persistante nouvellement démarrée contient un `NextToken` dans la réponse, s'il existe des messages de discussion antérieurs. `NextToken`doit être utilisé pour accéder à la transcription du chat précédent et pour régler le `ScanDirection` to `BACKWARD` lors de l'[GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)appel suivant pour récupérer les messages du chat précédent. 

S'il y a plusieurs messages de chat antérieurs [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)renvoyés, un nouveau `NextToken` processus identique peut être répété pour récupérer d'autres transcriptions de chat passées.

## Non pris en charge : utilisation des filtres `StartPosition` et `contactId` pour le chat persistant
<a name="startposition"></a>

Amazon Connect ne permet pas d'utiliser `StartPosition` et de `contactId` filtrer les attributs des éléments de transcription provenant de la discussion précédente lors de l'[GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)appel à candidatures. 