

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 Amazon Connect
<a name="chat-persistence"></a>

Pelanggan sering memulai obrolan, lalu meninggalkan percakapan dan kembali lagi nanti untuk melanjutkan obrolan. Ini dapat 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 diteruskan. 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.

Amazon Connect 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 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 model `RelatedContactId` dimodelkan dalam catatan kontak, lihat[Model data untuk catatan kontak Amazon Connect](ctr-data-model.md).

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

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

Ada dua cara Anda dapat 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 [Buat asosiasi kontak persisten](create-persistent-contact-association-block.md) ke alur. Untuk petunjuk, lihat [Aktifkan obrolan persisten dalam alur](#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 obrolan baru satu kali. `SourceContactID`

Untuk memberikan pengalaman obrolan persisten, Anda harus memberikan ID kontak sebelumnya saat memulai obrolan baru atau saat menggunakan blok alur [Buat asosiasi kontak persisten](create-persistent-contact-association-block.md). Ini tidak secara otomatis dilakukan 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 dalam repositori: 
+ Gunakan [streaming pesan obrolan](https://docs.aws.amazon.com/connect/latest/adminguide/chat-message-streaming.html) untuk membuat entri ketika obrolan telah berakhir.
+ Periksa [peristiwa 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 dalam repositori Anda. 

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

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

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

Untuk menyiapkan 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 dari kontak sebelumnya untuk direhidrasi. Transkrip ditampilkan dalam obrolan kepada pelanggan dan agen. Sebagai contoh, lihat [Contoh kasus penggunaan](#persistentchatscenario).

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

Untuk mengatur pengalaman obrolan persisten dalam alur:

1. Setelah kontak obrolan dibuat, tambahkan blok [Buat asosiasi kontak persisten](create-persistent-contact-association-block.md) 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-11111111111111111. 

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

1. Agen a2 mengakhiri obrolan.

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

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

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

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

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

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

**Permintaan**:

```
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-22222222222222222 (Contactid untuk C2)
+ RehydrationType = "`FROM_SEGMENT`"

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

  Transkrip sesi obrolan sebelumnya C2 (2222222-aaaa-bbbb-2222-22222222222222222) dan C1 (11111111-aaaa-bbbb-1111-111111111111111) dapat diakses di sesi obrolan persisten saat ini. Perhatikan bahwa segmen obrolan C3 (33333333-aaaa-bbbb-3333-3333333333333) 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-2222222222222222222) sebagai "”. ContinuedFromContactId
+ `RelatedContactId`Untuk sesi obrolan persisten 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.

**Permintaan**:

```
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` (C1)
+ 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-333333333333333 (C3) sebagai "”. ContinuedFromContactId
+ `RelatedContactId`Untuk sesi obrolan persisten ini adalah 33333333-aaaa-bbbb-3333-3333333333333 (C3)

**catatan**  
Tautan obrolan bersifat kumulatif. Setelah sesi obrolan ditautkan, mereka terbawa.  
Misalnya, jika kontak (`contactId`C2) yang termasuk dalam 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 tautan implisit C1 juga. Sesi obrolan persisten baru akan memiliki tautan berikut: C3 → C2 → C1  
Contactid sebelumnya, tempat sesi obrolan persisten dilanjutkan, diekspos di bidang dalam `ContinuedFromContactId` [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)respons API. Itu juga di RelatedContactId bidang dalam [catatan kontak](ctr-data-model.md#ctr-ContactTraceRecord) untuk kontak

## Cara mengakses transkrip kontak obrolan sebelumnya untuk obrolan persisten
<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 `NextToken` baru dimulai berisi respons, jika ada pesan obrolan sebelumnya. `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 yang baru `NextToken` dan proses yang sama dapat diulang untuk mengambil lebih banyak transkrip obrolan sebelumnya.

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

Amazon Connect 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. 