실시간 채팅 메시지 스트리밍 활성화 - Amazon Connect

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

실시간 채팅 메시지 스트리밍 활성화

Amazon Connect 채팅은 실시간 채팅 메시지 스트림을 구독할 수 있는 API를 제공합니다. 이러한 API를 사용하면 다음을 수행할 수 있습니다.

  • 새 채팅 연락이 생성되면 실시간으로 채팅 메시지를 스트리밍합니다.

  • 현재 Amazon Connect Chat 기능을 확장하여 SMS 솔루션 및 타사 메시징 애플리케이션과의 통합 구축, 모바일 푸시 알림 활성화, 채팅 메시지 활동을 모니터링 및 추적하기 위한 분석 대시보드 생성과 같은 사용 사례를 지원합니다.

메시지 스트리밍 API 작동 방식

Amazon Connect 메시지 스트리밍 API는 Amazon Connect 채팅 연락 내에서 특정 이벤트가 발생하면 트리거됩니다. 예를 들어 고객이 새 채팅 메시지를 보내면 이벤트가 방금 보낸 메시지에 대한 데이터가 포함된 페이로드를 지정된 엔드포인트로 전송합니다. 메시지는 Amazon Simple Notification Service(Amazon SNS)를 사용하여 특정 엔드포인트에 게시됩니다.

이 주제에서는 Amazon Connect 및 Amazon SNS를 사용하여 실시간 메시지 스트리밍을 설정하는 방법에 대해 설명합니다. 단계는 다음과 같습니다.

  1. Amazon SNS 콘솔을 사용하여 새로운 표준 SNS 주제를 생성하고 메시지를 설정합니다.

  2. StartChatContactAPI를 호출하여 채팅 문의를 시작하십시오.

  3. StartContactStreamingAPI를 호출하여 메시지 스트리밍을 시작합니다.

  4. CreateParticipantConnectionAPI를 호출하여 참가자의 연결을 생성합니다.

1단계: 표준 SNS 주제 생성

  1. Amazon SNS 콘솔로 이동합니다.

  2. AWS 계정에서 SNS 주제를 생성합니다. 세부 정보 섹션의 유형에서 표준을 선택하고 주제의 이름을 입력한 다음 주제 생성을 선택합니다.

    참고

    현재 메시지 스트리밍 API는 메시지의 실시간 스트리밍을 위해 표준 SNS만 지원합니다. Amazon SNS FIFO(선입선출) 주제는 지원하지 않습니다.

  3. 주제를 만들면 세부 정보 섹션에 해당 Amazon 리소스 이름(ARN)이 표시됩니다. 주제 ARN을 클립보드에 복사합니다. 3단계: 고객 응대에서 메시지 스트리밍 활성화에서 ARN 주제를 사용하게 됩니다.

    ARN 주제는 다음 예제와 유사합니다.

    arn:aws:sns:us-east-1:123456789012:MyTopic
  4. 액세스 정책 탭을 선택하고 편집을 선택한 다음 SNS 주제에 리소스 기반 정책을 추가하여 Amazon Connect가 게시할 수 있는 권한을 갖도록 합니다. 다음은 JSON 편집기에 복사하여 붙여넣은 다음 값으로 사용자 지정할 수 있는 샘플 SNS 정책입니다.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"connect.amazonaws.com" }, "Action":"sns:Publish", "Resource":"YOUR_SNS_TOPIC_ARN", "Condition":{ "StringEquals":{ "aws:SourceAccount":"YOUR_AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"YOUR_CONNECT_INSTANCE_ARN" } } } ] }
    참고

    기본 액세스 정책에는 다음과 같은 조건이 sourceOwner에 적용됩니다.

    "Condition": { "StringEquals": { "AWS:SourceOwner": "921772911154" } }

    이를 제거하고 예를 들어 SourceAccount로 대체해야 합니다.

    "Condition":{ "StringEquals":{ "aws:SourceAccount":"YOUR_AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"YOUR_CONNECT_INSTANCE_ARN" } }

    이렇게 하면 교차 서비스에서 혼동된 대리자 문제를 예방할 수 있습니다.

  5. SNS에서 서버 측 암호화를 사용하는 경우 KMS key에 connect.amazonaws.com 권한이 활성화되어 있는지 확인하세요. 다음은 샘플 정책입니다.

    { "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your_accountId:root", "Service": "connect.amazonaws.com" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your_accountId:root", "Service": "connect.amazonaws.com" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" } ] }

2단계: 채팅 고객 응대 시작

  1. Amazon Connect StartChatContactAPI를 호출하여 채팅 문의를 시작합니다.

    Amazon Connect API를 호출하기 위한 SDK 클라이언트를 만드는 방법에 대한 자세한 내용은 다음 주제를 참조하세요.

  2. 이러한 StartChatContact응답 속성은 스트리밍을 활성화하는 데 필요한 다른 채팅 API를 호출하는 데 사용되므로 응답을 추적하세요. ContactId ParticipantToken 이에 대해서는 다음 단계에 설명합니다.

3단계: 고객 응대에서 메시지 스트리밍 활성화

  • StartContactStreaming호출하여 SNS 주제에 대한 실시간 메시지 스트리밍을 활성화하세요.

    • 제한: 고객 응대당 최대 2개의 SNS 주제를 구독할 수 있습니다.

    • 전화를 걸 StartContactStreaming때는 SNS 주제의 Amazon 리소스 이름 (ARN) 을 제공해야 합니다 (참조1단계: 표준 SNS 주제 생성).

      하나의 SNS 주제 ARN을 여러 AWS 계정에서 사용할 수 있지만, 반드시 Amazon Connect 인스턴스와 동일한 리전에 있어야 합니다. 예를 들어 주제 ARN이 us-east-2에 있는 경우 Amazon Connect 인스턴스는 us-east-2에 있어야 합니다.

    • 스트리밍 엔드포인트에서 수신되지 않은 초기 채팅 메시지의 경우 GetTranscriptAPI를 호출하여 초기 메시지를 수신할 수 있습니다.

4단계: 참가자 연결 생성

다음 단계

메시지 스트리밍 API를 사용할 준비가 모두 완료되었습니다.

  1. 작동하는지 확인하려면 만든 SNS 주제에 메시지가 게시되었는지 확인하세요. Amazon CloudWatch 지표를 사용하여 이 작업을 수행할 수 있습니다. 지침은 다음을 사용하여 Amazon SNS 주제 모니터링을 참조하십시오 CloudWatch.

  2. SNS는 보존 기간이 제한되어 있으므로 Amazon Simple Queue Service(Amazon SQS) Amazon Kinesis 또는 다른 서비스를 설정하여 메시지를 보존하는 것이 좋습니다.

  3. 통화 흐름을 통해 채팅 연결이 끊기거나 고객이 채팅 연결을 끊는 경우 사용은 StopContactStreaming선택 사항이며 필수는 아닙니다. 그러나 StopContactStreaming은 채팅이 활성 상태이고 진행 중이더라도 SNS 주제에 대한 메시지 스트리밍을 중지하는 옵션을 제공합니다.