

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memungkinkan pelanggan untuk melanjutkan percakapan obrolan di Connect Customer
<a name="chat-persistence"></a>

Pelanggan sering memulai obrolan, kemudian meninggalkan percakapan dan kembali nanti untuk melanjutkan obrolan. Ini mungkin terjadi berkali-kali selama beberapa hari, bulan, atau bahkan bertahun-tahun. Untuk mendukung obrolan yang berjalan lama seperti ini, Anda mengaktifkan obrolan persisten. 

Dengan obrolan persisten, pelanggan dapat melanjutkan percakapan sebelumnya dengan konteks, metadata, dan transkrip yang dibawa ke depan. Mereka tidak perlu mengulangi diri mereka sendiri ketika mereka kembali ke obrolan, dan agen memiliki akses ke seluruh riwayat percakapan. 

## Rehidrasi obrolan
<a name="rehydration"></a>

Obrolan persisten dicapai melalui proses yang disebut rehidrasi obrolan. Proses ini memungkinkan transkrip obrolan diambil dari kontak obrolan sebelumnya dan ditampilkan. Hal ini memungkinkan pelanggan dan agen untuk dengan mudah melanjutkan percakapan dari tempat mereka tinggalkan.

**penting**  
Hanya sesi obrolan yang telah berakhir yang diizinkan untuk direhidrasi ke sesi obrolan baru, karena pembuatan transkrip terjadi secara asinkron.   
Pengguna harus menunggu 30-60 detik sebelum mencoba rehidrasi dari obrolan yang telah berakhir sebelumnya.

Connect Customer mendukung dua jenis rehidrasi:
+ `ENTIRE_PAST_SESSION`: Memulai sesi obrolan baru dan merehidrasi semua segmen obrolan dari sesi obrolan sebelumnya.
+ `FROM_SEGMENT`: Memulai sesi baru dan melakukan rehidrasi dari segmen obrolan sebelumnya yang ditentukan.

Misalnya kasus penggunaan yang menunjukkan mode rehidrasi yang berbeda ini, lihat[Contoh kasus penggunaan](#persistentchatscenario).

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

Kontak baru dapat memiliki hubungan dengan kontak yang ada melalui`RelatedContactId`. Kontak baru ini berisi salinan [ properti kontak ](connect-attrib-list.md) dari kontak terkait.

Untuk informasi selengkapnya tentang bagaimana `RelatedContactId` dimodelkan dalam catatan kontak, lihat[Model data untuk catatan kontak Connect Customer](ctr-data-model.md).

Untuk obrolan persisten, `RelatedContactId` menggambarkan rehidrasi obrolan yang `contactId` digunakan untuk sumber.

## Cara mengaktifkan obrolan persisten
<a name="enable-persistent-chat"></a>

Ada dua cara untuk mengaktifkan obrolan persisten:
+ Tentukan ID kontak sebelumnya saat membuat obrolan baru. Untuk petunjuk, lihat [Aktifkan obrolan persisten saat membuat kontak obrolan baru](#enable-persistent-chat-creating-new-chat-contact).
+ Tambahkan [ blok ](create-persistent-contact-association-block.md) Buat asosiasi kontak persisten ke alur. Untuk petunjuk, lihat [Aktifkan obrolan persisten dalam aliran](#enable-persistent-chat-within-contact-flow).

**catatan**  
Anda dapat memilih salah satu metode untuk mempertahankan obrolan tetapi tidak keduanya. Artinya, Anda hanya dapat mengaktifkan persistensi `SourceContactID` obrolan baru sekali.

Untuk memberikan pengalaman obrolan yang terus-menerus, Anda perlu memberikan ID kontak sebelumnya saat memulai obrolan baru atau saat menggunakan blok alur [ Buat asosiasi ](create-persistent-contact-association-block.md) kontak persisten. Ini tidak dilakukan secara otomatis untuk Anda. Kami menyarankan Anda membuat repositori untuk menyimpan data catatan kontak. Repositori memungkinkan pengambilan data ini untuk setiap pelanggan Anda. 

 Ada dua cara Anda dapat membuat entri di repositori: 
+ Gunakan streaming pesan [ obro ](https://docs.aws.amazon.com/connect/latest/adminguide/chat-message-streaming.html) lan untuk membuat entri ketika obrolan telah berakhir.
+ Periksa acara [ kontak ](https://docs.aws.amazon.com/connect/latest/adminguide/contact-events.html#contact-events-data-model) dan gunakan [AWS Lambda fungsi ](https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html) untuk membuat entri ke repositori Anda. 

Setelah repositori disiapkan, Anda dapat mengambil ID kontak sebelumnya untuk pelanggan dan memberikannya saat memulai obrolan baru atau di dalam blok alur as [ osiasi kontak persist ](create-persistent-contact-association-block.md) en Buat.

Selain itu, pastikan transkrip obrolan sebelumnya dapat diambil dari bucket Amazon S3 instans Anda. Dua hal berikut mencegah Connect Customer mengambil transkrip dan tidak mengizinkan obrolan tetap ada:
+ Anda menggunakan beberapa bucket transkrip obrolan.
+ Anda mengubah nama file transkrip obrolan yang dihasilkan oleh Connect Customer.

### Aktifkan obrolan persisten saat membuat kontak obrolan baru
<a name="enable-persistent-chat-creating-new-chat-contact"></a>

Untuk mengatur pengalaman obrolan persisten saat membuat kontak obrolan baru, berikan yang sebelumnya `contactId` di `SourceContactId` parameter [ StartChatContact ](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) API. Ini memungkinkan transkrip obrolan kontak sebelumnya direhidrasi. Transkrip ditampilkan dalam obrolan kepada pelanggan dan agen. Sebagai contoh, lihat [Contoh kasus penggunaan](#persistentchatscenario).

### Aktifkan obrolan persisten dalam aliran
<a name="enable-persistent-chat-within-contact-flow"></a>

Untuk mengatur pengalaman obrolan persisten dalam alur:

1. Setelah kontak obrolan dibuat, tambahkan [ blok ](create-persistent-contact-association-block.md) Buat asosiasi kontak persisten ke alur Anda.

1. Gunakan atribut yang ditentukan pengguna untuk menentukan ID kontak sumber.

Atau, Anda dapat menggunakan [ CreatePersistentContactAssociation ](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreatePersistentContactAssociation.html) API untuk memberikan ID kontak sumber untuk membuat obrolan saat ini tetap ada.

Rehidrasi dimulai setelah obrolan dimulai, saat menggunakan blok aliran atau API. Peristiwa rehidrasi dipancarkan untuk memberi tahu Anda ketika rehidrasi telah selesai.

## Contoh kasus penggunaan
<a name="persistentchatscenario"></a>

Misalnya, pelanggan memulai sesi obrolan:

1. Agen a1 menerima obrolan, dan percakapan dimulai antara pelanggan dan agen a1. Ini adalah kontak pertama yang dibuat dalam sesi obrolan saat ini. Misalnya, `contactId` ** C1 ** mungkin 11111111-aaaa-bbbb-1111-111111111111111. 

1. Agen a1 kemudian mentransfer obrolan ke Agen a2. Ini menciptakan kontak lain. Misalnya, `contactId` ** C2 ** mungkin 2222222-aaaa-bbbb-2222-22222222222222222. 

1. Agen a2 mengakhiri obrolan.

1. Pelanggan diteruskan ke aliran pemutusan untuk survei pasca-obrolan yang membuat kontak lain. Misalnya, `contactId` ** C3 ** mungkin 33333333-aaaa-bbbb-3333-33333333333.

1. Survei pasca-obrolan ditampilkan, dan sesi obrolan berakhir. 

1. Kemudian, pelanggan kembali dan ingin melanjutkan sesi obrolan mereka sebelumnya.

Pada titik ini, berpotensi ada dua kasus penggunaan yang berbeda untuk pelanggan. Berikut ini adalah kasus penggunaan obrolan persisten yang dapat dimiliki pelanggan, dan cara Anda mengonfigurasi Connect Customer untuk menyediakannya.

### Kasus penggunaan 1
<a name="persistentchatscenario-usecase1"></a>

Pelanggan ingin melanjutkan sesi obrolan sebelumnya tetapi mereka ingin menyembunyikan survei pasca-obrolan. Anda menggunakan konfigurasi berikut untuk memberikan pengalaman ini. 

**Permohon ** an:

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

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

#### Perilaku yang diharapkan
<a name="usecase1-behavior"></a>
+ Konfigurasi ini memulai sesi obrolan persisten dari kontak C2 yang telah berakhir sebelumnya yang ditentukan (misalnya, 2222222-aaaa-bbbb-2222-222222222222222). 

  Transkrip sesi obrolan sebelumnya C2 (2222222-aaaa-bbbb-2222-222222222222222) dan C1 (11111111-aaaa-bbbb-1111-1111111111111) dapat diakses di sesi obrolan persisten saat ini. Perhatikan bahwa segmen obrolan C3 (33333333-aaaa-bbbb-3333-33333333333) dihapus dari sesi obrolan persisten.
+ Dalam hal ini, [ StartChatContact ](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) respons mengembalikan C2 (2222222-aaaa-bbbb-2222-22222222222222222) sebagai "”. ContinuedFromContactId
+ Untuk sesi obrolan persist `RelatedContactId` en ini adalah 2222222-aaaa-bbbb-2222-22222222222222222 (C2).

### Kasus penggunaan 2
<a name="persistentchatscenario-usecase2"></a>

Pelanggan ingin melanjutkan sesi obrolan sebelumnya dan melihat transkrip dari seluruh keterlibatan sebelumnya (dan mereka tidak ingin menyembunyikan survei pasca-obrolan). Anda menggunakan konfigurasi berikut untuk memberikan pengalaman ini. 

**catatan**  
 Untuk jenis `ENTIRE_PAST_SESSION` rehidrasi, tentukan kontak pertama (awal`contactId`) dari sesi obrolan sebelumnya sebagai `SourceContactId` atribut.

**Permohon ** an:

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

#### Konfigurasi
<a name="usecase2-configuration"></a>
+ SourceContactId = `11111111-aaaa-bbbb-1111-1111111111111` (C)
+ RehydrationType = “E`NTIRE_PAST_SESSION`”

#### Perilaku yang diharapkan
<a name="usecase2-behavior"></a>
+ Ini memulai sesi obrolan persisten dari kontak obrolan yang terakhir berakhir (C3). Transkrip sesi obrolan sebelumnya C3, C2 dan C1 dapat diakses di sesi obrolan persisten saat ini.
+ Dalam hal ini, [ StartChatContact ](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) respons mengembalikan 33333333-aaaa-bbbb-3333-3333333333333 (C3) sebagai "”. ContinuedFromContactId
+ Sesi obrolan persist `RelatedContactId` en ini adalah 33333333-aaaa-bbbb-3333-33333333333 (C3)

**catatan**  
Tautan obrolan bersifat kumulatif. Setelah sesi obrolan ditautkan, mereka terbawa.  
Misalnya, jika kontak (`contactId`C2) milik sesi obrolan sebelumnya ditautkan ke kontak (`contactId`C1) dari sesi obrolan sebelumnya yang berbeda, maka sesi obrolan persisten baru yang dibuat dengan menautkan C2 menghasilkan keterkaitan implisit C1 juga. Sesi obrolan persisten baru akan memiliki tautan berikut: C3 → C2 → C1  
ContactID sebelumnya, tempat sesi obrolan persisten dilanjutkan, diekspos di `ContinuedFromContactId` lapangan dalam respons [ StartChatContact ](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) API. Itu juga di RelatedContactId lapangan dalam catatan [ kontak ](ctr-data-model.md#ctr-ContactTraceRecord) untuk kontak

## Cara mengakses transkrip kontak obrolan sebelumnya untuk obrolan terus-menerus
<a name="access-past-chat-transcript"></a>

Mengakses transkrip obrolan sebelumnya untuk obrolan persisten menggunakan model `NextToken` pagination yang ada. Panggilan awal ke [ GetTranscript ](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html) sesi obrolan persisten yang baru dimulai berisi respons, jika pesan obrolan sebelumnya ada. `NextToken` `NextToken`harus digunakan untuk mengakses transkrip obrolan sebelumnya bersama dengan menyetel `ScanDirection` ke `BACKWARD` pada [ GetTranscript ](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html) panggilan berikutnya untuk mengambil pesan obrolan sebelumnya. 

Jika ada beberapa pesan obrolan sebelumnya, [ GetTranscript ](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html) mengembalikan proses baru `NextToken` dan yang sama dapat diulang untuk mengambil lebih banyak transkrip obrolan sebelumnya.

## Tidak didukung: menggunakan `StartPosition` dan `filter` ContactID untuk obrolan persisten
<a name="startposition"></a>

Connect Customer tidak mendukung penggunaan `StartPosition` dan `contactId` filter pada [ GetTranscript ](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html) panggilan untuk atribut item transkrip yang berasal dari obrolan sebelumnya. 