

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 고객이 Amazon Connect에서 채팅 대화를 재개할 수 있도록 활성화
<a name="chat-persistence"></a>

고객은 채팅을 시작했다가 대화에서 나간 후 나중에 다시 돌아와 채팅을 계속할 때가 많습니다. 이는 며칠, 몇 달 또는 몇 년에 걸쳐 여러 번 발생할 수 있습니다. 이와 같은 장기 채팅을 지원하려면 영구 채팅을 활성화해야 합니다.

영구 채팅을 통해 고객은 컨텍스트, 메타데이터 및 대화 내용을 그대로 가져와 이전 대화를 재개할 수 있습니다. 고객은 채팅으로 돌아왔을 때 같은 말을 반복할 필요가 없고 에이전트는 전체 대화 기록에 액세스할 수 있습니다.

## 채팅 대화 복원
<a name="rehydration"></a>

지속적인 채팅은 채팅 재수화라는 프로세스를 통해 이루어집니다. 이 프로세스를 사용하면 이전 채팅 고객 응대에서 채팅 대화 내용을 검색하여 표시할 수 있습니다. 이를 통해 고객과 에이전트는 중단한 곳에서 대화를 쉽게 계속할 수 있습니다.

**중요**  
트랜스크립트 생성은 비동기적으로 이루어지므로, 종료된 채팅 세션만 새로운 채팅 세션에 다시 포함될 수 있습니다.  
사용자는 30\$160초를 기다린 후 이전에 종료된 채팅에서 리하이드레이션을 시도해야 합니다.

Amazon Connect 는 두 가지 유형의 재수화를 지원합니다.
+ `ENTIRE_PAST_SESSION`: 새 채팅 세션을 시작하고 지난 채팅 세션의 모든 채팅 세그먼트를 복원합니다.
+ `FROM_SEGMENT`: 새 세션을 시작하고 지정된 과거 채팅 세그먼트에서 다시 복원합니다.

이러한 다양한 복원 모드를 보여 주는 사용 사례의 예는 [사용 사례 예제](#persistentchatscenario)를 참조하세요.

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

새 고객 응대는 관련 고객 응대 `RelatedContactId`를 통해 기존 고객 응대와 연결될 수 있습니다. 이 새 고객 응대에는 관련 고객 응대의 [고객 응대 속성](connect-attrib-list.md) 사본이 포함되어 있습니다.

고객 응대 레코드에서 `RelatedContactId`가 모델링되는 방식에 대한 자세한 내용은 [Amazon Connect 연락처 레코드용 데이터 모델](ctr-data-model.md)을 참조하세요.

영구 채팅의 경우 관련 `RelatedContactId`는 채팅 대화 복원 소싱에 사용되는 `contactId`를 나타냅니다.

## 영구 채팅을 활성화하는 방법
<a name="enable-persistent-chat"></a>

지속적인 채팅을 활성화하는 방법은 두 가지가 있습니다.
+ 새 채팅을 생성할 때 이전 연락처 ID를 지정합니다. 지침은 [새 채팅 고객 응대를 만들 때 지속적인 채팅 활성화](#enable-persistent-chat-creating-new-chat-contact) 섹션을 참조하세요.
+ 흐름에 [지속적인 연락처 연결 생성](create-persistent-contact-association-block.md) 블록을 추가합니다. 지침은 [흐름 내에서 지속적인 채팅 활성화](#enable-persistent-chat-within-contact-flow) 섹션을 참조하세요.

**참고**  
두 가지 방법 중 하나를 선택하여 채팅을 지속할 수 있지만 두 가지 방법을 모두 사용할 수는 없습니다. 즉, 새 채팅에서 한 번만 `SourceContactID`의 지속성을 활성화할 수 있습니다.

지속적인 채팅 경험을 제공하려면 새 채팅을 시작하거나 [지속적인 연락처 연결 생성](create-persistent-contact-association-block.md) 흐름 블록을 사용할 때 이전 연락처 ID를 제공해야 합니다. 이 작업은 자동으로 수행되지 않습니다. 연락처 레코드 데이터를 저장하기 위한 리포지토리를 생성하는 것이 좋습니다. 리포지토리를 사용하면 각 고객에 대해 이 데이터를 검색할 수 있습니다.

 리포지토리에서 항목을 생성할 수 있는 두 가지 방법이 있습니다.
+ 채팅이 종료되면 [채팅 메시지 스트리밍](https://docs.aws.amazon.com/connect/latest/adminguide/chat-message-streaming.html)을 사용하여 항목을 생성합니다.
+ [연락처 이벤트](https://docs.aws.amazon.com/connect/latest/adminguide/contact-events.html#contact-events-data-model)를 검사하고 [AWS Lambda 함수](https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html)를 사용하여 리포지토리에 항목을 생성합니다.

리포지토리를 설정한 후에는 고객의 이전 연락처 ID를 검색하여 새 채팅을 시작할 때 또는 [지속적인 연락처 연결 생성](create-persistent-contact-association-block.md) 흐름 블록 내에서 제공할 수 있습니다.

또한 인스턴스의 Amazon S3 버킷에서 과거 채팅 트랜스크립트를 검색할 수 있어야 합니다. 다음 두 가지 방법으로 Amazon Connect가 트랜스크립트를 검색하지 못하고 채팅이 지속되지 않습니다.
+ 여러 채팅 트랜스크립트 버킷을 사용합니다.
+ Amazon Connect 에서 생성한 채팅 트랜스크립트 파일 이름을 변경합니다.

### 새 채팅 고객 응대를 만들 때 지속적인 채팅 활성화
<a name="enable-persistent-chat-creating-new-chat-contact"></a>

지속적인 채팅 경험을 설정하려면 새 채팅 고객 응대를 생성할 때 [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) API의 `SourceContactId` 파라미터에 있는 이전 `contactId`를 제공하세요. 이렇게 하면 이전 연락처의 채팅 트랜스크립트를 재수화할 수 있습니다. 대화 내용은 고객과 에이전트 모두의 채팅에 표시됩니다. 예제는 [사용 사례 예제](#persistentchatscenario) 섹션을 참조하세요.

### 흐름 내에서 지속적인 채팅 활성화
<a name="enable-persistent-chat-within-contact-flow"></a>

흐름에서 지속적인 채팅 경험을 설정하려면:

1. 채팅 고객 응대를 생성한 후 흐름에 [지속적인 연락처 연결 생성](create-persistent-contact-association-block.md) 블록을 추가합니다.

1. 사용자 정의 속성을 사용하여 소스 연락처 ID를 지정합니다.

또는 [CreatePersistentContactAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreatePersistentContactAssociation.html) API를 사용하여 소스 연락처 ID를 제공하여 현재 채팅을 지속할 수 있습니다.

채팅이 시작된 후 흐름 블록 또는 API를 사용할 때 재수화가 시작됩니다. 재수화가 완료되면 이를 알리기 위해 재수화 이벤트가 발생합니다.

## 사용 사례 예제
<a name="persistentchatscenario"></a>

예를 들어 고객이 채팅 세션을 시작한다고 가정해 보겠습니다.

1. 에이전트 a1이 채팅을 수락하고 고객과 에이전트 a1 간에 대화가 시작됩니다. 현재 채팅 세션에서 생성된 첫 번째 문의입니다. 예를 들어 `contactId` **C1**은 11111111-aaaa-bbbb-1111-1111111111111과 같이 생성될 수 있습니다.

1. 그러면 에이전트 a1이 채팅을 에이전트 a2에게 전달합니다. 이렇게 하면 또 다른 문의가 만들어집니다. 예를 들어 `contactId` **C2**는 2222222-aaaa-bbbb-2222-222222222222222일 수 있습니다.

1. 에이전트 a2가 채팅을 종료합니다.

1. 고객은 다른 문의를 만드는 채팅 후 설문 조사를 위한 연결 해제 흐름으로 전달됩니다. 예를 들어 `contactId` **C3**은 33333333-aaaa-bbbb-3333-3333333333333일 수 있습니다.

1. 채팅 후 설문 조사가 표시되고 채팅 세션이 종료됩니다.

1. 나중에 고객이 돌아와서 이전 채팅 세션을 다시 시작하려고 합니다.

이 시점에서 고객에게는 잠재적으로 두 가지 다른 사용 사례가 있습니다. 다음은 고객이 가질 수 있는 영구 채팅 사용 사례와 이를 제공하도록 Amazon Connect 를 구성하는 방법입니다.

### 사용 사례 1
<a name="persistentchatscenario-usecase1"></a>

고객이 과거 채팅 세션을 계속하고 싶지만 채팅 후 설문 조사를 숨기고 싶어합니다. 다음 구성을 사용하여 이 환경을 제공합니다.

**요청**:

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

#### 구성
<a name="usecase1-configuration"></a>
+ SourceContactId = 2222222-aaaa-bbbb-2222-222222222222222 (the contactId for C2)
+ RehydrationType = "`FROM_SEGMENT`"

#### 예상되는 동작
<a name="usecase1-behavior"></a>
+ 이 구성은 지정된 과거 종료된 고객 응대 C2(예: 2222222-aaaa-bbbb-2222-222222222222222)에서 영구 채팅 세션을 시작합니다.

  과거 채팅 세션 C2(2222222-aaaa-bbbb-2222-222222222222222) 및 C1(11111111-aaaa-bbbb-1111-1111111111111)의 대화 내용은 현재 영구 채팅 세션에서 액세스할 수 있습니다. 채팅 세그먼트 C3(33333333-aaaa-bbbb-3333-3333333333333)은 영구 채팅 세션에서 삭제된다는 점에 유의하세요.
+ 이 경우 [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) 응답은 2222222-aaaa-bbbb-2222-222222222222222(C2)를 "ContinuedFromContactId"로 반환합니다.
+ 이 영구 채팅 세션의 관련 `RelatedContactId`는 2222222-aaaa-bbbb-2222-222222222222222(C2)입니다.

### 사용 사례 2
<a name="persistentchatscenario-usecase2"></a>

고객이 과거 채팅 세션을 계속 진행하면서 과거 참여 전체에 대한 대화 내용을 보고 싶어하며 채팅 후 설문조사를 숨기고 싶지 않은 경우입니다. 다음 구성을 사용하여 이 환경을 제공합니다.

**참고**  
 `ENTIRE_PAST_SESSION` 대화 복원 유형의 경우, 과거 채팅 세션의 첫 번째 문의(초기 `contactId`)를 `SourceContactId` 속성으로 지정합니다.

**요청**:

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

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

#### 예상되는 동작
<a name="usecase2-behavior"></a>
+ 이렇게 하면 가장 최근에 종료된 채팅 고객 응대(C3)로부터 영구 채팅 세션이 시작됩니다. 과거 채팅 세션 C3, C2 및 C1의 대화 내용은 현재 영구 채팅 세션에서 액세스할 수 있습니다.
+ 이 경우 [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) 응답은 33333333-aaaa-bbbb-3333-3333333333333(C3)를 "ContinuedFromContactId"로 반환합니다.
+ 이 영구 채팅 세션의 관련 `RelatedContactId`는 33333333-aaaa-bbbb-3333-3333333333333(C3)입니다.

**참고**  
채팅 연결은 누적됩니다. 채팅 세션이 연결되면 이월됩니다.  
예를 들어 과거 채팅 세션에 속한 고객 응대(`contactId` C2)가 다른 과거 채팅 세션의 고객 응대(`contactId` C1)에 연결되었다면 C2를 연결하여 만든 새 영구 채팅 세션은 C1의 암시적 연결도 가져옵니다. 새 영구 채팅 세션은 다음과 같이 연결됩니다. C3 → C2 → C1  
영구 채팅 세션이 계속되는 이전 contactId는 [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) API 응답의 `ContinuedFromContactId` 필드에 노출됩니다. 또한 고객 응대에 대한 [고객 응대 레코드](ctr-data-model.md#ctr-ContactTraceRecord)의 RelatedContactId 필드에도 표시됩니다.

## 영구 채팅을 위해 과거 채팅 대화 내용에 액세스하는 방법
<a name="access-past-chat-transcript"></a>

영구 채팅의 과거 채팅 대화 내용에 액세스하려면 기존 `NextToken` 페이지 매김 모델을 사용합니다. 새로 시작된 영구 채팅 세션에서 [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)를 처음 직접적으로 호출하면 과거 채팅 메시지가 있는 경우 응답에 `NextToken`이 포함됩니다. 과거 채팅 대화 내용을 가져오려면 후속 [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html) 직접 호출에서 `ScanDirection`을 `BACKWARD` 설정하는 것과 함께 `NextToken`을 사용하여 과거 채팅 대화 내용에 액세스해야 합니다.

과거 채팅 메시지가 여러 개 있는 경우, [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html)는 새 `NextToken`을 반환하며 동일한 프로세스를 반복하여 더 많은 과거 채팅 기록을 가져올 수 있습니다.

## 지원되지 않음: 영구 채팅에 `StartPosition` 및 `contactId` 필터 사용
<a name="startposition"></a>

Amazon Connect 는 과거 채팅의 트랜스크립트 항목 속성에 대한 [GetTranscript](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_GetTranscript.html) 호출에서 `StartPosition` 및 `contactId` 필터 사용을 지원하지 않습니다.