맞춤 CRM

맞춤 CRM 솔루션을 사용하면 회사가 현재 CCAI 플랫폼과의 표준 통합이 아닌 CRM을 사용할 때 Contact Center AI Platform (CCAI 플랫폼) 포털을 활용할 수 있습니다. 자체 제작 CRM 또는 비표준 CRM을 사용하는 경우 맞춤 CRM 구성이 작동합니다.

상담사는 통화와 채팅을 처리하고 감독자는 CCAI 플랫폼 포털을 사용하여 보고서를 모니터링하고 가져올 수 있습니다. 통화 또는 채팅 세션에 관한 모든 세부정보는 세션 메타데이터 파일에 저장됩니다. 이 파일에는 세션 정보, 트랜스퍼, 핸들 지속 시간, 참여자, 진단 정보 등 20개 이상의 데이터 포인트가 포함될 수 있습니다. 세션 메타데이터 파일은 파싱하여 세션 후 분석 및 추적에 사용할 수 있습니다.

세션 메타데이터와 소비자가 업로드한 미디어 파일은 외부 스토리지 서비스로 푸시되며 상담사는 세션 중에 상담사 어댑터에서 소비자가 업로드한 미디어 파일을 직접 볼 수 있습니다.

맞춤 CRM 솔루션은 다음 구성요소를 조합하여 구현됩니다. 일부 구성요소는 구성에 적용될 수도 있고 적용되지 않을 수도 있습니다.

  • 각 통화 및 채팅 세션의 세션 메타데이터 파일 생성

  • 메타데이터 및 미디어 파일을 외부 스토리지 서비스로 푸시

  • 일반 API 통합

  • 맞춤 조회 URL

  • 이메일을 통한 CRM 기록 업데이트

  • 상담사 어댑터의 계정 또는 케이스 조회

기본 요건

맞춤 CRM 기능을 사용하려면 먼저 외부 스토리지를 설정해야 합니다. 자세한 내용은 맞춤 CRM 솔루션을 위한 외부 스토리지를 참고하세요.

세션 메타데이터

세션 메타데이터 파일에는 세션에 관한 자세한 정보가 포함되어 있습니다. 세션이 완료된 후 15분 후에 전송됩니다. 자세한 내용은 세션 메타데이터 파일을 참고하세요.

맞춤 CRM 상호작용 및 통합 방법

일반 API 맞춤 URL
계정 조회
케이스 조회
케이스 업데이트 아니요

일반 API

일반 API 통합 방법을 사용하면 맞춤 CRM의 API를 사용하여 CCAI Platform과 양방향 연결을 설정할 수 있습니다. 이 원활한 방법은 기본 CRM 통합 환경과 동일하게 느껴집니다. 상담사는 통화 또는 채팅 세션의 CRM 레코드를 만들기 위해 조치를 취할 필요가 없으며 고유한 API 구성에 따라 달라집니다. 이를 통해 원활한 레코드 조회 및 레코드 업데이트가 가능합니다.

맞춤 URL

맞춤 링크 옵션을 사용하면 상담사가 각 세션에 대해 생성된 맞춤 링크를 활용하여 CRM과 상호작용할 수 있습니다. 표준 CRM 통합 및 일반 API 환경과 달리 CRM 레코드를 생성하려면 상담사가 조치를 취해야 합니다. 경우에 따라 세션의 맞춤 링크로 탭을 실행하기만 하면 되지만, 상담사가 직접 레코드를 만들어야 하는 경우도 있습니다.

맞춤 조회 URL 세부정보 및 구성

URL의 기본 기능은 CRM 조회를 실행하는 것이지만 CRM에 따라 맞춤 URL 콘텐츠를 기반으로 더 복잡한 프로세스를 트리거할 수 있습니다. 맞춤 CRM의 URL은 세션 정보가 포함된 변수로 구성할 수 있으며 세션 중에 에이전트 어댑터에서 액세스할 수 있습니다. URL에 액세스하면 맞춤 CRM이 조회를 실행합니다. 이 CRM 조회는 상담사가 활성 통화 또는 채팅 세션에 대해 '티켓 팝업'을 사용할 수 있는 방법입니다. 맞춤 링크 프로세스는 맞춤 CRM이 이 링크를 처리하고 필요한 경우 수정하거나 다시 작성하는 기능에만 의존합니다.

나열된 이메일 업데이트 방법도 활용하지 않는 한 외부에 저장된 세션 메타데이터, 통화 녹음 파일, 기타 파일은 CRM 레코드에 다시 연결되지 않습니다.

이 구성에서 상담사는 CCAI Platform Portal에 로그인하고 별도의 탭에서 CRM에 로그인합니다. 통화와 채팅은 CCAI 플랫폼 탭에서 처리되고 티켓 세부정보는 CRM 탭에서 액세스됩니다.

이 구성이 작동하려면 다음 조건을 충족해야 합니다.

  • 상담사는 브라우저에서 CRM에 로그인해야 합니다.

  • 상담사가 브라우저에서 CCAI Platform Portal에 로그인되어 있어야 합니다.

  • 맞춤 조회 URL이 미리 구성되어 있어야 합니다.

  • CRM은 관련 CRM 레코드를 표시하기 위해 맞춤 URL을 처리해야 합니다.

맞춤 조회 URL 동작

  • CCAI 플랫폼은 비어 있지 않은 매개변수만 URL에 포함합니다.

  • 세션이 종료되면 CCAI Platform은 ANI/UID/이메일이 포함된 생성된 URL을 CCAI Platform 데이터베이스에 저장하지 않습니다.

맞춤 조회 URL 구성

고유 식별자, CRM 기능, 동작이 다양하므로 IVR/PSTN/SMS 세션용 URL과 웹 및 모바일 SDK 세션용 URL을 각각 만들어야 합니다. IVR/PSTN/SMS 세션은 ANI를 고유 식별자로 사용하는 반면 웹 및 모바일 SDK는 CUID 및 이메일을 사용할 가능성이 높습니다.

다음 변수를 사용하여 조회 URL을 구성할 수 있습니다.

변수
{CUSTOMER_PHONE_NUMBER} 최종 사용자의 전화번호
{ANI} 최종 사용자의 전화번호입니다. 이전 버전과의 호환성을 위해 유지됩니다.
{CUID} 맞춤 사용자 ID
{EMAIL} 최종 사용자 이메일
{MENU_PATH} 전체 대기열 메뉴 경로입니다.
예를 들어 '주문/주문 확인/주문 정보'입니다.
{MENU_ID} 메뉴 ID
{CHANNEL}

세션 채널입니다. 가능한 값은 다음과 같습니다.

  • 채팅
  • voice_call
{TYPE}

세션 유형입니다.

통화에 가능한 값은 다음과 같습니다.

  • Incoming_Call_(app)
  • Scheduled_Call_(app)
  • Incoming_Call_(web)
  • Scheduled_Call_(web)
  • Outbound_Call
  • Outbound_Call_(api)
  • Incoming_Call_(api)
  • IVR_Call
  • IVR_Call_(app)
  • 음성메시지

채팅에 가능한 값은 다음과 같습니다.

  • 모바일
  • SMS
{SUPPORT_PHONE_NUMBER} 최종 사용자가 전화를 거는 지원 센터 전화번호입니다.
{OUTBOUND_NUMBER} 상담사가 아웃바운드 통화에 사용하는 전화번호입니다.
{SESSION_ID}

세션 ID입니다. 가능한 값은 다음과 같습니다.

  • 통화 ID
  • 채팅 ID
  • 이메일 ID
{CUSTOM_AGENT_ID} user 객체의 선택적 에이전트 ID 필드입니다. 세션이 설정되고 상담사가 할당될 때까지는 상담사 ID를 가져올 수 없습니다. 따라서 이 변수가 정의될 시간을 허용하도록 통화 또는 채팅 기록 생성을 지연하도록 인스턴스를 구성하세요. 설정> 운영 관리> CRM 레코드 생성 세부정보에서 통화 또는 채팅 기록 생성을 지연할 수 있습니다. 자세한 내용은 CRM 레코드 생성 세부정보를 참고하세요.

CCAI Platform 포털 구성

  1. 관리자 역할이 할당된 계정을 사용하여 CCAI 플랫폼 포털에 로그인합니다.

  2. 설정 > 개발자 설정으로 이동합니다.

  3. CRM 섹션에서 맞춤 CRM을 선택합니다.

  4. CRM 조회에서 맞춤 URL을 입력합니다.

  5. CRM 요청에 사용할 전화번호 형식을 선택합니다.

  6. 변경사항 저장을 클릭합니다.

  7. 아직 구성하지 않았다면 외부 저장소 서비스를 구성합니다. 자세한 내용은 외부 저장소를 참고하세요.

이메일을 통한 CRM 기록 업데이트

맞춤 조회 URL과 같은 구성에서 세션이 완료되면 CRM에서 세션 메타데이터를 업데이트해야 합니다. 이 기능을 사용하면 CCAI Platform에서 이메일을 사용하여 세션 데이터를 자동으로 전송할 수 있습니다. 세션이 종료된 후 약 15분이 지나면 구성된 위치로 이메일이 전송되고 이메일 콘텐츠는 CRM의 레코드를 업데이트하는 데 사용됩니다. 이 기능은 전역으로 그리고 큐별로 구성할 수 있습니다. 이메일이 수신되면 세션의 CRM 레코드를 업데이트하거나 새로 만들도록 CRM이 구성될 수 있습니다.

이메일 세부정보

  • no-reply@ccaiplatform.com에서 전송

  • 다음을 포함합니다.

    • Subject line

    • JSON 구문의 세션 메타데이터가 포함된 본문

    • 해당하는 경우 채팅 기록이 포함된 TXT 형식의 첨부파일

  • CCAI Platform은 세션이 종료된 후 15분 동안 기다린 다음 이메일을 보냅니다.

  • 성공적으로 완료된 세션에 대해서만 이메일이 전송됩니다. 실패하거나 포기한 세션에는 전송되지 않습니다.

전역 구성

  1. 관리자 역할이 할당된 계정을 사용하여 CCAI 플랫폼 포털에 로그인합니다.

  2. 설정 > 개발자 설정으로 이동합니다.

  3. CRM 섹션에서 맞춤 CRM이 선택되어 있는지 확인합니다.

  4. 이메일로 세션 결과 보내기를 사용 설정합니다.

  5. 이메일을 보낼 이메일 주소를 입력합니다.

  6. 변경사항 저장을 클릭합니다.

대기열별 구성

  1. 관리자 역할이 할당된 계정을 사용하여 CCAI 플랫폼 포털에 로그인합니다.

  2. 설정 > 대기열로 이동하여 하위 대기열을 선택합니다.

  3. 이메일로 세션 결과 보내기를 사용 설정합니다.

  4. 이메일을 보낼 이메일 주소를 입력합니다.

    이메일 구성 표시

  5. 맞춤 CRM 설정 저장을 클릭합니다.

설정 상속 및 재정의

설정 동작
전역 = 사용 설정되지 않음
대기열 = 사용 설정되지 않음
모든 대기열에 대해 전송하지 않습니다.
전역 = 사용 설정되지 않음
대기열 = 사용 설정됨
대기열 설정 (즉, 사용 설정/사용 중지 상태)은 전역 설정을 재정의합니다.
이메일은 지정된 대기열에서 대기열 설정에 정의된 이메일 주소로 전송됩니다.
전역 = 사용 설정됨
대기열 = 사용 설정되지 않음
대기열 설정 (이메일 주소, 사용 설정/사용 중지 상태)은 전역 설정을 상속합니다.
이메일은 지정된 대기열에서 전역 설정에 정의된 이메일 주소로 전송됩니다.
전역 = 사용 설정됨
대기열 = 사용 설정됨
대기열 설정 (이메일 주소)이 전역 설정을 재정의합니다.
이메일은 지정된 대기열에서 대기열 설정에 정의된 이메일 주소로 전송됩니다.
이메일 주소가 비어 있으면 이메일이 전송되지 않습니다.

상담사 환경

CRM 레코드 조회

  1. 상담사 역할이 할당된 계정을 사용하여 CCAI Platform 포털에 로그인합니다.

  2. 통화 또는 채팅 어댑터를 엽니다.

  3. 새 브라우저 창에서 열기 버튼을 사용하여 조회를 트리거합니다.

  4. 링크 복사 버튼을 사용하여 조회 URL을 클립보드에 복사합니다.

상담사 표시

맞춤 CRM 솔루션용 외부 스토리지

맞춤 솔루션용 외부 스토리지를 사용하면 외부 스토리지 서비스를 사용하여 CCAI Platform 세션 메타데이터, 통화 녹음 파일, 채팅 스크립트, 소비자가 업로드한 미디어 파일을 저장하고 검색할 수 있습니다. 파일이 CRM 외부에 저장됩니다.

외부 스토리지를 구성하려면 다음이 있어야 합니다.

  • 구성 및 테스트를 위해 관리자 및 상담사 역할이 할당된 유효한 CCAI 플랫폼 계정

  • 외부 저장소 서비스

폴더 구조

다음 폴더 구조는 폴더 경로의 외부 저장소에 구성됩니다.

  • ujet-chat-transcripts

  • ujet-media

  • ujet-metadata

  • ujet-voice-recordings

  • ujet-voicemails

파일 형식 및 이름 지정 규칙

다음 파일 형식은 외부 저장소 서비스로 푸시할 수 있습니다. 파일은 전송 중에 HTTPS를 사용하여 암호화됩니다.

파일 이름
통화 녹음 - call-{id}.mp3
- call-{id}.wav
미디어 파일 - call-{id}-photo-{photo-id}.jpg
- call-{id}-video-{video-id}.mp4
- chat-{id}-photo-{photo-id}.jpg
- chat-{id}-video-{video-id}.mp4
채팅 스크립트 - chat-{id}.txt
세션 메타데이터 - call-{id}.json
- chat-{id}.json

상담사 및 감독자 환경

통화 또는 채팅 세션 중에 소비자가 스마트 작업을 사용하여 업로드한 사진과 동영상이 상담사 어댑터에 표시됩니다.

세션 메타데이터 파일 이메일 업데이트 방법과 결합된 맞춤 URL CRM 상호작용을 사용하는 경우 상담사와 감독자는 외부 서버를 사용하여 세션 정보에 액세스할 수 있습니다.

외부 스토리지 서비스 구성

다음 단계에 따라 외부 저장소를 구성하세요.

  1. 관리자 역할이 할당된 계정을 사용하여 CCAI 플랫폼 포털에 로그인합니다.

  2. 설정 > 개발자 설정으로 이동합니다.

  3. 개발자 설정 페이지에서 외부 저장소 섹션으로 이동합니다.

  4. 스위치를 사용으로 전환하여 CRM 서버 외부에서 정보 저장을 사용 설정한 다음 저장할 파일 유형을 선택합니다.

  5. 서버 설정 섹션에서 저장소 유형을 선택하고 설정 단계를 완료합니다(SFTP 서버, Google Cloud 버킷).

SFTP 서버

  1. SFTP 호스트 (URL 또는 IP 주소)를 입력합니다.

  2. 포트 번호를 입력합니다.

  3. SFTP 로그인 사용자 ID를 입력합니다.

  4. SFTP 서버에 인증을 위한 비밀번호가 필요한 경우 비밀번호 필드에 입력합니다.

  5. SFTP 서버에 인증을 위한 비공개 키가 필요한 경우 SSH 비공개 키 체크박스를 선택합니다.

  6. SSH 비공개 키를 입력 (복사 및 붙여넣기)합니다.

  7. 비공개 키 암호를 입력합니다. 세션 정보를 SFTP 서버의 특정 폴더에 저장해야 하는 경우 폴더 경로 체크박스를 선택하고 SFTP 폴더 경로를 입력합니다.

  8. 변경사항 저장을 클릭합니다.

Cloud Storage

  1. 대상 Google Cloud 버킷 이름을 입력합니다.

  2. Google Cloud 클라이언트 ID를 입력합니다.

  3. Google Cloud 클라이언트 보안 비밀번호를 입력합니다.

  4. 세션 정보를 Google Cloud 버킷의 특정 폴더에 저장해야 하는 경우 폴더 경로 체크박스를 선택하고 Google Cloud 폴더 경로를 입력합니다.

  5. 연결 및 저장을 클릭합니다.

외부 저장소 구성 테스트

기존 표준 통합이 있는 CRM의 경우:

  1. CRM에 로그인합니다.

  2. 상담사 역할이 할당된 CCAI Platform 사용자 인증 정보를 사용하여 CRM 내에서 CCAI Platform에 로그인합니다.

  3. 전화를 걸거나 채팅을 시작합니다. 세션과 연결된 CRM 레코드가 표시됩니다.

  4. 세션이 종료되면 스크립트 파일이 몇 초 내에 업로드됩니다.

  5. 외부 서버 저장소 폴더로 직접 이동하여 파일을 사용할 수 있는지 확인합니다.

세션 파일을 CRM으로 전송

외부 저장소가 사용 설정된 경우 CRM 저장소 및 외부 저장소 URL 개발자 설정을 통해 세션 파일을 전송하고 상담사 어댑터에 파일을 표시하는 데 사용할 소스를 결정할 수 있습니다.

이 설정을 보려면 설정 > 개발자 설정 > 외부 저장소에서 외부 저장소를 사용 설정해야 합니다. CRM 서버 외부 정보 저장 사용 설정사용으로 전환합니다.

CRM 스토리지

  1. 설정 > 개발자 설정 > 외부 저장소 > CRM 저장소로 이동합니다.

  2. 세션 파일을 CRM에도 전송 옆의 체크박스를 선택하여 통화 녹음 파일 또는 채팅 스크립트와 같은 세션 파일을 CRM 및 구성된 외부 저장소로 전송합니다.

  3. 변경사항 저장을 클릭합니다.

체크박스를 선택하면 녹음 파일이 CRM과 외부 저장소에 모두 저장됩니다.

외부 스토리지 URL

외부 저장소 URL은 다음 두 위치에서 사용됩니다.

  • 에이전트 어댑터입니다.

  • 보고: 보고서와 설정, 통화, 완료와 같은 메뉴에 미디어 URL을 표시합니다.

  1. 설정 > 개발자 설정 > 외부 저장소 > 외부 저장소 URL로 이동합니다.

  2. CRM URL 또는 외부 저장소 URL 소스를 선택하여 상담사 어댑터에 파일을 표시합니다.

  3. 변경사항 저장을 클릭합니다.

CRM 스토리지

  • CRM 저장소 체크박스가 선택 해제되어 있으면 녹음 파일이 외부 저장소에만 저장되고 CRM 링크가 사용됩니다.

  • 체크박스를 선택하면 녹음 파일이 CRM과 외부 저장소에 모두 저장됩니다.

외부 스토리지 URL

URL은 다음 두 위치에서 사용됩니다.

  • 하나는 CCAI Platform 어댑터에 미디어를 표시합니다. 외부 스토리지 또는 CRM입니다.

  • 다른 하나는 보고서에 있습니다. 보고서와 설정, 통화, 완료와 같은 메뉴에 미디어 URL이 표시됩니다.

CCAI Platform 포털에 맞춤 CRM 표시

자체 제작 CRM으로 맞춤 CRM 통합을 사용하는 경우 CCAI Platform Portal 내의 전용 페이지에 CRM을 로드할 수 있습니다. 사용 설정하면 CCAI Platform Portal의 CRM 탭이 로드되고 맞춤설정된 CRM 페이지가 표시됩니다. 이 설정은 개발자 설정 > CRM에서 구성할 수 있습니다.

이 기능을 사용하면 상담사가 CCAI 플랫폼 통화 및 채팅 어댑터를 사용하여 실시간 지원 세션을 처리하면서 맞춤 CRM에서 작업할 수 있습니다. 여기에는 CCAI 플랫폼 포털을 사용하여 자동으로 팝업되는 계정 및 레코드 세부정보와 모바일 앱 또는 소비자가 전달한 세션별 파일 및 데이터를 검토하는 것이 포함됩니다.

맞춤 CRM 페이지 구성

맞춤 CRM 페이지를 구성하려면 다음 단계를 따르세요.

  1. CCAI Platform 포털에서 설정 > 개발자 설정을 클릭합니다. 설정 메뉴가 표시되지 않으면 메뉴를 클릭합니다.

  2. CRM 창에서 맞춤 CRM을 클릭합니다.

  3. CCAI Platform 포털에 CRM 표시 전환 버튼을 클릭하여 사용 설정으로 전환합니다.

  4. 표시 URL에 맞춤 CRM 페이지의 URL을 입력한 다음 저장을 클릭합니다.

맞춤 URL 화면 팝업 열기

맞춤 URL 열기를 사용하여 시스템에서 연락처를 찾을 수 없는 경우 맞춤 URL 화면 팝업을 표시합니다. 임시 계정 ID로 CRM 레코드를 만들고 대기열 수준 구성을 기반으로 매개변수가 있는 맞춤 링크를 트리거합니다.

대기열별로 화면 팝업 사용 설정

  1. 설정 > 대기열 > IVR로 이동하여 수정할 대기열을 클릭합니다.

  2. 패널에서 맞춤 URL 열기로 이동합니다.

  3. URL을 입력하여 화면 팝업을 표시합니다.

변수 매개변수 {ACCOUNT_ID} 및 {PHONE_NUMBER}를 URL에 포함합니다.

예시가 제공됩니다.

  1. 저장을 클릭합니다.

맞춤 CRM 일반 API 통합

일반 API 통합 방법을 사용하면 CRM의 API를 사용하여 CCAI 플랫폼과 양방향 연결을 설정할 수 있습니다. 이 원활한 방법은 기본 CRM 통합 환경과 동일한 느낌을 줍니다.

상담사는 통화 또는 채팅 세션의 CRM 레코드를 만들기 위해 별도의 조치를 취할 필요가 없습니다. 고유한 API 구성에 따라 원활한 레코드 조회 및 레코드 업데이트가 가능합니다.

용어

용어

설명

계정

CRM의 계정/연락처/고객/리드 엔터티를 참조하는 데 사용됩니다. CRM에서 이 항목의 이름이 다를 수 있습니다.

계정에는 레코드가 포함됩니다.

레코드

CRM의 케이스/티켓/대화/인시던트 엔터티를 참조하는 데 사용됩니다. CRM에서 이 항목의 이름이 다를 수 있습니다.

레코드는 계정에 속합니다.

댓글

CRM의 댓글/메모 항목을 참조하는 데 사용됩니다. CRM에서 이 항목의 이름이 다를 수 있습니다.

댓글은 레코드에 속합니다.

API 설정

이 섹션에서는 맞춤 CRM API 설정과 관련된 설정을 간략하게 설명합니다.

인증 방법

CCAI Platform은 CRM에 대해 다음 세 가지 인증 방법을 지원합니다.

  • 기본 인증: 사용자 이름비밀번호를 포함하는 인증 사용자 인증 정보를 구성합니다.

  • 맞춤 헤더: 맞춤 헤더 키-값 쌍(필드 키필드 값)을 구성합니다. 필요한 만큼 쌍을 입력합니다.

  • OAuth: CCAI Platform은 승인에 사용되는 산업 표준 프로토콜인 OAuth 2.0을 지원합니다. '승인 URL 및 토큰 URL에 리디렉션 URL 포함' 옵션을 사용 설정해야 하는 경우 OAuth 정보를 지정합니다.

    다음 값을 구성합니다.

    • 승인 URL (필수)

    • 토큰 URL (필수)

    • 클라이언트 ID (필수)

    • 클라이언트 보안 비밀번호 (필수)

    • 범위

    • 액세스 유형

전화번호 형식

CRM 요청에 사용할 전화번호 형식을 선택합니다.

  • 자동: 만들기: +1 222 333 4444, 검색: *222*333*4444

  • E.164: +12223334444

  • 미국 현지: 2223334444

  • 미국 현지 표준: (111) 222-3333

  • 미국 외: +1 222 333 4444

API 요청 시간 초과

드롭다운을 사용하여 API 요청 제한 시간을 1~10초로 구성합니다. 이 제한 시간은 구성한 모든 엔드포인트에 적용됩니다.

CRM 조회 URL

상담사를 현재 계정 및 기록으로 안내하고 기록하는 데 사용될 조회 URL을 지정합니다.

브라우저에서 계정 또는 레코드 페이지를 열 때 CRM에 표시되는 조회 URL을 입력합니다.

웹 SDK모바일 SDK와 함께 CRM 조회 URL을 사용할 수도 있습니다. CRM 계정을 조회하고 에이전트 어댑터에 표시할 정보를 기록하도록 SDK를 구성할 수 있습니다. CRM 조회 URL의 전체 목록은 요청 URL 매개변수를 참고하세요.

계정 조회 URL

{ACCOUNT_ID} 변수를 사용하여 실제 계정 ID를 삽입합니다.

예:

https://www.example.com/contact/{ACCOUNT_ID}

레코드 조회 URL

{RECORD_ID} 변수를 사용하여 실제 레코드 ID를 삽입합니다.

예:

https://www.example.com/record/{RECORD_ID}

API 엔드포인트

이는 일반 API에서 가장 중요한 구성입니다.

  1. 상담사가 계정 조회를 사용할 수 있도록 하려면 계정 찾기계정 만들기 엔드포인트를 구성해야 합니다.

  2. 또한 레코드 찾기레코드 만들기 엔드포인트를 설정하여 상담사가 레코드를 조회하거나 만들 수 있도록 지원할 수 있습니다. 이를 위해서는 이전 단계의 계정 설정이 필요합니다.

  3. 마지막으로 레코드 업데이트, 파일 업로드, 댓글 엔드포인트를 입력하면 레코드 업데이트가 사용 설정됩니다. 이를 위해서는 이전 단계의 녹화 설정이 필요합니다.

엔드포인트 구성

다음 설정을 구성합니다.

  1. 요청 URL: API 엔드포인트 URL입니다.

  2. POST, GET, PUT, PATCH 중에서 요청 메서드를 선택합니다.

  3. 요청 매개변수를 지정합니다. CCAI 플랫폼 정의 변수를 사용하여 필요한 정보를 전달할 수 있습니다 (아래 표 참고). 또한 일반 텍스트나 숫자를 매개변수의 값으로 입력할 수 있습니다. 필요한 만큼 매개변수를 추가할 수 있습니다.

  4. 엔드포인트가 POST/PUT/PATCH인 경우 CCAI Platform은 요청이 빌드되는 방식에 대해 더 세부적인 제어를 제공합니다. 속성 또는 컨테이너에서 데이터 형식 요청을 선택합니다. 요청 JSON의 형식을 지정합니다.

    • Property의 인스턴스입니다. 이는 CCAI Platform이 매개변수에서 요청 본문을 빌드할 때 요청 객체가 기본 속성 맵임을 나타냅니다.

    • 컨테이너. 이는 전송할 요청 객체 데이터가 구조 내에 중첩되어야 함을 나타냅니다. 또는 배열에서 컨테이너 유형을 선택합니다. 컨테이너 이름을 입력합니다. 매개변수에서 요청 본문을 빌드할 때 상위 객체 이름으로 사용됩니다.

      • 예: Map: { container_name : { ...parameters } }

      • 예: 배열: {container_name : [ { ...parameters } ] }

  5. 응답 데이터 위치를 입력합니다. JSON 응답에서 타겟 응답 객체를 찾는 데 사용됩니다.

요청 URL 매개변수

매개변수 변수 댓글
에이전트 ID {AGENT_ID} 내부 에이전트 ID입니다.
상담사 맞춤 ID {AGENT_CUSTOM_ID} 사용자 프로필의 선택사항 필드입니다.
상담사 이메일 {AGENT_EMAIL} 답변하는 상담사의 이메일(해당하는 경우)
최종 사용자 이름 {NAME}
최종 사용자 이름 {FIRST_NAME} 출처: Name
최종 사용자 성 {LAST_NAME} Name에서 가져오며, 누락된 경우 기본값은 --입니다.
외부 ID {UJET_ID} CCAI Platform 최종 사용자 ID
이메일 {EMAIL}
통화 유형/세션 유형 {SESSION_TYPE}
최종 사용자 전화번호 {PHONE_NUMBER} 설정 선택을 사용하여 서식이 지정됨
통화 ID {Call_ID} CCAI Platform 통화 ID입니다.
채팅 ID {Chat_ID} CCAI Platform 채팅 ID입니다.
언어 {LANG}
맞춤 UID {CUSTOM_USER_ID} 모바일: 이메일의 왼쪽입니다. 예를 들어 test.user3@test.cotest.user3
계정 ID {ACCOUNT_ID} 연락처 찾기/만들기 엔드포인트를 호출하여 찾았습니다.
레코드 ID {RECORD_ID} 레코드 찾기/만들기 엔드포인트를 호출하여 찾습니다.
세션 ID {SESSION_ID} CCAI Platform 세션 ID
메뉴 경로 {MENU_PATH}
아웃바운드 전화번호 {OUTBOUND_PHONE_NUMBER} 설정 선택을 사용하여 서식이 지정됨
큐 이름 {QUEUE_NAME}
큐 ID {QUEUE_ID} 내부 대기열 ID입니다.
SDK 이름 {SDK_NAME} 웹 SDK 또는 모바일 SDK에 표시된 최종 사용자 이름입니다.
SDK 이메일 {SDK_EMAIL} 웹 SDK 또는 모바일 SDK에 표시된 최종 사용자 이메일 주소입니다.
SDK 전화 {SDK_PHONE} 웹 SDK 또는 모바일 SDK에 표시된 최종 사용자 전화번호입니다.
SDK 식별자 {SDK_IDENTIFIER} 웹 또는 모바일 SDK 최종 사용자 또는 계정을 식별합니다. 이 속성에는 개인 식별 정보를 포함하지 마세요. 계정을 만들 때 이 식별자는 요청에 필요합니다.
SmartAction 세션 ID {SMART_ACTION_SESSION_ID}
SmartAction: 확인 (곧 제공 예정)
SmartAction: 텍스트 입력 (곧 제공 예정)
평점 {RATING} 사용자가 남긴 경우에만 사용 가능
의견 메시지 {FEEDBACK} 사용자가 남긴 경우에만 사용 가능
통화 시간 {CALL_DURATION} mm:ss
대기 시간 {HOLD_TIME} mm:ss
대기 시간 {WAIT_TIME} mm:ss
통화 후 작업 시간 (곧 제공 예정)
기기 유형 {DEVICE_TYPE}
Disconnected By(연결 해제한 사용자) {DISCONNECTED_BY}
채널 {CHANNEL}
Record Subject(기록 대상) {TICKET_SUBJECT} 레코드 제목으로 사용됨
레코드 설명 {TICKET_DESCRIPTION}
레코드 설명 HTML {TICKET_DESCRIPTION_HTML} 설명과 동일하지만 HTML 형식으로 지정됨
댓글 본문 {COMMENT_BODY} 댓글 추가 상황에서만 사용 가능 (평점 저장, 통화/채팅 종료, 통화/채팅 시작)
파일 데이터 {FILE_DATA} 업로드 파일 엔드포인트에서만 사용할 수 있지만 멀티파트 형식의 base64 또는 데이터를 포함합니다.

요청 URL 매개변수 함수

동적 CCAI Platform 변수를 지원하는 함수가 제공됩니다. 이러한 함수는 엔드포인트 설정의 요청 매개변수 섹션에서만 사용할 수 있습니다.

함수에서 생성된 결과 값은 문자열입니다. 함수에서 반환된 값이 없으면 실행 전에 요청의 매개변수 목록에서 매개변수가 삭제됩니다.

함수 함수 구문 설명
기본값 =DEFAULT_VALUE(val1, val2) 값이 null이거나 비어 있지 않으면 val1를 사용하고, 기본값은 val2입니다.
연결 Or =CONCAT_OR(val1, val2, val3) or로 여러 값을 연결합니다. 예: 'val1 or val2 or val3'
연결 And =CONCAT_AND(val1, val2, val3) and로 여러 값을 연결합니다. 예: 'val1 and val2 and val3'

예시

다음은 요청 URL 매개변수 함수의 사용 예입니다.

기본값

다음 예시에서는 Create a Record Endpoint에서 DEFAULT_VALUE을 사용합니다. 에이전트 설정의 키와 값은 에이전트 이메일이 비어 있는 경우 대체할 기본 함수를 사용합니다. 다음과 같은 몇 가지 이유로 레코드 생성 시 상담사 이메일이 비어 있을 수 있습니다. 고객이 할당된 상담사가 수신 전화에 응답하기 전에 IVR 통화를 종료했거나 채팅의 경우 상담사가 응답하기 전에 레코드가 생성됩니다. 이렇게 하면 나중에 업데이트될 때까지 필수 매개변수가 안전한 값으로 기본 설정되거나 통화가 중단된 경우에 설정될 수 있습니다.

필드 수정

연결

다음 예에서는 Find an Account by Query 엔드포인트에서 CONCAT_OR을 사용합니다. 이 예시는 Zoho CRM에만 해당하지만 CONCAT_OR를 사용하는 방법을 보여줍니다. CONCAT_ANDor 대신 and로 값을 연결한다는 점을 제외하고 동일한 규칙을 따릅니다. 실행 시점에 엔드포인트에 있는 값과 요청 매개변수로 전달되는 결과 값은 다음 사례를 참고하세요.

키 있음 결과 값
ACCOUNT_ID (Id:equals:<uuid>)
ACCOUNT_ID, EMAIL (Id:equals:<uuid>) 또는 (Email:equals:kim@example)
PHONE_NUMBER, EMAIL (Phone:equals:+12223334444) 또는 (Email:equals:kim@example)

API 계정

API 계정 엔드포인트는 CRM의 계정과의 통합을 지원합니다.

400 오류를 반환하는 엔드포인트 호출이 재시도됩니다. 다른 오류를 반환하는 호출은 재시도하지 않습니다. 재시도는 일주일 동안 계속되며 지수 램프 다운으로 감소합니다. API 흐름에 대한 자세한 내용은 맞춤 CRM 일반 API: 흐름을 참고하세요.

쿼리 엔드포인트로 계정 찾기 (이전의 계정 찾기 엔드포인트)

이 엔드포인트는 전화번호, 이메일 또는 내부 CRM ID로 계정을 찾는 데 사용됩니다. 계정을 찾는 데 사용되는 기본 엔드포인트입니다.

응답 예:

{
  "id": 123,
  "name": "Kim",
  "phone": "11234567890",
  "email": "Kim@agents.co"
}

ID별 계정 찾기 엔드포인트

이 엔드포인트는 ID로 계정을 찾는 데 사용됩니다. 일반적으로 이 ID는 URL의 일부입니다. URL 유효성 검사에서는 URL이 ID로 구성되지 않은 경우도 고려하므로 이 엔드포인트는 사용되지 않습니다. 이는 REST 표준을 따릅니다. 조회 실패 시 404가 반환되면 쿼리로 찾기가 다음에 실행됩니다.

응답 예:

{
  "id": 123,
  "name": "Kim",
  "phone": "11234567890",
  "email": "Kim@agents.co"
}

계정 엔드포인트 만들기

이 엔드포인트는 계정을 찾지 못한 경우 계정을 만드는 데 사용됩니다. 대부분의 CRM에서는 레코드가 계정에 연결되어야 합니다. 통합 흐름을 만들기 위해 모든 CRM에 이 요구사항이 적용됩니다.

API 레코드

API 레코드 엔드포인트는 CRM의 레코드 또는 케이스와 통합하는 기능을 제공합니다.

쿼리로 레코드 찾기 (이전의 레코드 찾기 엔드포인트)

이 엔드포인트는 기준에 따라 레코드를 찾는 데 사용됩니다. 일반적으로 계정과 연결된 레코드를 찾는 데 사용됩니다. CCAI Platform이 기존 레코드를 재사용하도록 구성된 경우 검색된 레코드가 사용됩니다. 레코드를 찾는 데 사용되는 기본 엔드포인트입니다.

응답 예:

{
  "id": 456,
  "subject": "Record title",
  "status": "open", // enumerated status open/closed, or 1,2,3
  "contactId": 123, // contact attached to ticket
  "phone": "11234567890", // contact phone
}

레코드 엔드포인트 만들기

이 엔드포인트는 레코드를 만드는 데 사용됩니다. 레코드 찾기 요청에서 레코드를 찾을 수 없거나 CCAI Platform이 기존 레코드를 재사용하지 않도록 구성된 경우 새 레코드가 생성됩니다.

요청 예시:

{
  "id": 123,
  "subject": "Record title", 
  "description": "A longer description of the record, can be formatted in html",
  "phone": "11234567890", // can be saved in multiple formats
  "contactId": 123,
  "sourceType": "PHONE", // PHONE/CHAT
  "menu": "queue1",
  "direction": "outgoing",
  "rating": 5, // 1-5 scale
  "feedback": "the agent was great!" // description of rating
}

레코드 엔드포인트 업데이트

이 엔드포인트는 레코드를 업데이트하는 데 사용됩니다. 레코드의 제목과 설명을 업데이트합니다. 이 엔드포인트는 CSAT 등급 저장, 통화 또는 채팅 종료 이벤트, 선택된 대기열, 사용자 인증 등 CCAI 플랫폼 이벤트에 따라 레코드를 업데이트하는 데도 선택적으로 사용될 수 있습니다.

파일 엔드포인트 업로드

이 엔드포인트는 첨부파일을 업로드하는 데 사용됩니다.

업로드 엔드포인트의 유형을 선택합니다.

  • Base64 인코딩 형식

  • 멀티파트 양식

첨부할 파일 선택

  • 통화 녹음

  • 채팅 스크립트

  • 음성메시지

  • 포토

  • 동영상

  • 세션 메타데이터 파일

IDAttachment URL에서 Attachment Type을 선택합니다. 응답 JSON의 형식을 지정합니다.

  • ID

  • 첨부파일 ID 첨부파일 ID의 JSON 응답에서 매개변수의 위치를 입력합니다. 이는 첨부파일 빌더 URL에서 {ATTACHMENT_ID}로 사용할 수 있습니다.

  • 첨부파일 작성 도구 URL. 파일 첨부파일을 다운로드할 URL을 입력합니다. RECORD_IDATTACHMENT_ID는 사용 가능한 변수입니다.

    예를 들면 다음과 같습니다. https://www.example.com/Accounts/{RECORD_ID}/Attachments/{ATTACHMENT_ID}

  • 첨부파일 URL

    파일 다운로드 URL의 JSON 응답에서 매개변수의 위치를 입력합니다.

파일이 업로드될 때 CCAI Platform에서 레코드에 댓글을 남기려면 CRM에 댓글 추가 레코드 체크박스를 선택합니다. 이러한 댓글에는 댓글 엔드포인트의 텍스트 형식 설정이 적용됩니다.

다음은 POST/PUT/PATCH를 사용하는 멀티파트 양식의 예입니다.

{
  "file": <file data>
  "id": 123, // optional, this can also just be part of the URL;
             // for example https://example-customer.com/upload/record/{RECORD_ID}
}

응답 예:

예 A: 다운로드 URL이 있음

{
  "id": 123,
  "url": "https://some-hosted-url.com"
}

예 B

이 경우 다운로드 URL은 없지만 이 ID를 사용하는 다운로드 첨부파일 엔드포인트가 있습니다. 예를 들면 https://www.customer-api.com/record/{RECORD_ID}/Attachments/{ATTACHMENT_ID}입니다.

{
  "id": 123
}
댓글 엔드포인트

이 엔드포인트는 레코드에 댓글을 추가하는 데 사용됩니다. 엔드포인트가 구성된 경우 CCAI Platform Platform은 다음과 같은 이벤트가 포함된 레코드에 댓글을 추가합니다.

  • 통화 또는 채팅 시작

  • 통화 또는 채팅 종료

  • CSAT 평가 및 댓글

  • 맞춤 데이터 패키지

  • 댓글 이전

  • 처리 코드 및 메모

  • 설문조사 질문 및 답변

댓글의 경우 텍스트 형식을 선택합니다. 텍스트를 HTML로 변환 체크박스가 선택되어 있으면 텍스트가 HTML 형식으로 표시되고, 그렇지 않으면 일반 텍스트로 표시됩니다.

요청 예시, POST/PUT/PATCH:

{
  "comment": "Some text",
 // string can also be formatted on ujet side as html
  "id": 123,
 // optional, this can also just be part of the URL;
 // for example https://example-customer.com/comment/record/{RECORD_ID}
}

맞춤 CRM 일반 API: 흐름

이 섹션에서는 맞춤 CRM 일반 API 흐름의 흐름도를 제공합니다.

기본 흐름 차트

기본 흐름 차트

계정 찾기 또는 만들기 흐름

계정 찾기 또는 만들기 흐름

레코드 흐름 찾기 또는 만들기

레코드 흐름 찾기 또는 만들기

통화 후 또는 채팅 후 작업 흐름

통화 후 또는 채팅 후 작업 흐름

레코드 업데이트 흐름

레코드 업데이트 흐름

댓글 흐름

댓글 흐름

파일 업로드 흐름

파일 업로드 흐름

상담사 어댑터

맞춤 CRM은 어댑터 (UI 위젯)를 CRM 시스템에 통합하는 일반적인 방법을 제공합니다. CRM 시스템은 어댑터가 시스템 내에서 활성화되고 트리거되는 방식을 처리할 수 있어야 합니다.

사용자 인터페이스 어댑터를 통합하려면 일반적으로 CRM 소프트웨어나 애플리케이션이 필요합니다. Google에서는 이미 Salesforce, Kustomer, Zendesk 등 여러 CRM 소프트웨어에 이 기능을 제공하고 있습니다.

iFrame

iFrame 태그를 사용하여 에이전트 어댑터를 CRM 또는 기타 도구에 원활하게 통합할 수 있습니다. HTML iframe 태그에 대해 자세히 알아보려면 HTML iframe 태그를 참고하세요.

하지만 CRM은 어댑터가 사용자에게 표시되는 방식을 처리해야 합니다. 예를 들어 어댑터를 표시하고 숨길 수 있는 UI 버튼이 있을 수 있습니다. 또한 어댑터는 드래그 가능하도록 설계할 수 있으므로 에이전트가 원하는 대로 화면에서 위치를 조정할 수 있습니다. 다음 예는 URL 형식을 보여줍니다.

통화 어댑터: https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom

채팅 어댑터: https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom

iFrame 템플릿

통화 어댑터: html <iframe src="https://tenant.loc.CCAI Platformlatform.com/agent/?type=call&from=custom" allow="microphone; camera; geolocation" width="290" height="600"></iframe>

채팅 어댑터: html <iframe src="https://tenant.loc.CCAI Platformlatform.com/agent/?type=chat&from=custom" allow="microphone; camera; geolocation" width="450" height="590"></iframe>

URL 매개변수

URL 매개변수를 사용하면 상호작용 유형 (통화 또는 채팅), 상호작용 소스(맞춤) 및 기타 관련 세부정보와 같은 추가 정보를 소프트웨어에 제공할 수 있습니다.

테넌트 CRM 설정을 목록에서 사용할 수 없는 경우 From 매개변수는 항상 Custom으로 설정해야 합니다.

유형

  • 통화
  • 채팅

보낸사람

  • 맞춤 (테넌트 CRM 설정과 일치해야 함) 목록에 없는 CRM의 경우 항상 custom이어야 합니다. CRM 설정이 없는 경우 이 매개변수를 건너뛸 수 있습니다.

에이전트 어댑터의 이벤트

에이전트 어댑터는 CRM 시스템에서 연결할 수 있는 이벤트를 게시하고, CRM에 대한 업데이트를 처리합니다. 이렇게 하려면 CRM이 상위 창의 게시물을 수신하고 게시물 데이터를 읽어야 합니다. 데이터를 기반으로 특정 세션 ID의 티켓 탭을 여는 등의 작업을 트리거할 수 있습니다.

통화 어댑터와 채팅 어댑터 모두 CRM 기능을 개선하는 데 사용할 수 있는 특정 이벤트가 있습니다.

통화 어댑터

  • 새 통화
  • 통화 수정 시작됨
  • 통화 수정이 종료됨
  • 통화 종료

채팅 어댑터

  • 새 채팅
  • 활성 채팅
  • Chat 수신 메시지
  • Chat 발신 메시지
  • 채팅 종료
  • 닫은 채팅

두 어댑터 모두

  • 상담사 로그인
  • 화면 공유 세션이 시작됨
  • 화면 공유 세션 원격 제어가 변경됨
  • 화면 공유 세션 전체 기기가 변경됨
  • 화면 공유 세션이 종료됨
  • 이전
  • 참여자가 추가됨
  • 상담사가 세션에 연결됨
  • 상담사 로그아웃
  • Agent Assist 추가됨

이벤트 데이터

  • call_id: IVR(대화형 음성 응답)이 있는 음성 수신 통화의 식별자입니다.

  • chat_id: 메시지 인바운드 통화 (웹 또는 모바일 채팅)의 식별자입니다.

  • cobrowse_session_id: 화면 공유 세션의 식별자입니다. 통화 또는 채팅 세션에서 화면 공유 세션을 시작할 수 있습니다.

  • session_type: 세션 유형입니다(예: 음성, 채팅, 메시지).

  • va_data_parameters: 가상 에이전트로 전송하기 위해 대기열에 구성된 모든 변수입니다. 가상 상담사가 포함된 이벤트에만 필요합니다. 선택사항입니다.

  • session_variable: 페이로드에서 CCAI Platform으로 전송되는 가상 에이전트의 모든 변수입니다. 선택사항입니다.

  • custom_sip_headers: 이를 통해 수신되는 SIP 통화의 맞춤 SIP 헤더가 POST 이벤트 로그에 표시될 수 있습니다. 맞춤 SIP 헤더를 사용하는 경우에만 필요합니다. 선택사항입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 서명되지 않은 맞춤 데이터 채팅을 참고하세요. 선택사항입니다.

에이전트 ID

  • agent_id: 에이전트의 식별자입니다.
  • from_agent_id: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 발신 상담사를 나타내는 데 사용됩니다.
  • to_agent_id: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 목적지 상담사를 나타내는 데 사용됩니다.
  • agent_custom_id: 사용자 프로필에 입력된 경우 사용자 프로필의 에이전트 ID입니다. 선택사항입니다.
  • from_agent_custom_id: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 발신 상담사를 나타내는 데 사용됩니다.
  • to_agent_custom_id: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 목적지 상담사를 나타내는 데 사용됩니다.
  • agent_email: 상담사의 이메일 주소입니다.
  • from_agent_email: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 발신 상담사를 나타내는 데 사용됩니다.
  • to_agent_email: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 목적지 상담사를 나타내는 데 사용됩니다.

가상 에이전트 ID

  • virtual_agent_id: 특정 가상 상담사에게 할당된 ID 번호입니다.

대기열 ID

  • queue_id: CCAI Platform 대기열의 식별자이며, 통화가 대기열에서 시작된 경우에만 존재합니다.
  • from_queue_id: 한 대기열에서 다른 대기열로 통화 또는 채팅을 라우팅할 때 원래 대기열을 나타내는 데 사용됩니다.
  • to_queue_id: 한 대기열에서 다른 대기열로 통화 또는 채팅을 라우팅할 때 대상 대기열을 나타내는 데 사용됩니다.
  • queue_path: CCAI Platform 대기열의 경로이며, 통화가 대기열에서 시작된 경우에만 존재합니다.
  • from_queue_path: 한 대기열에서 다른 대기열로 통화 또는 채팅을 라우팅할 때 원래 대기열을 나타내는 데 사용됩니다.
  • to_queue_path: 한 대기열에서 다른 대기열로 통화 또는 채팅을 라우팅할 때 대상 대기열을 나타내는 데 사용됩니다.

Campaign ID

  • campaign_id: CCAI Platform 캠페인 ID입니다. 통화 유형이 캠페인 통화인 경우에만 포함됩니다.
  • campaign_name: CCAI Platform 캠페인 이름입니다. 통화 유형이 캠페인 통화인 경우에만 포함됩니다.

메시지

  • message: 새 소비자 메시지가 수신되었음을 나타내는 이벤트와 메시지 콘텐츠입니다.

세션 유형

  • session_type: CCAI Platform 세션 유형입니다.
  • cobrowse_session_remote_control: 요청된 원격 제어 화면 공유 세션의 상태를 나타냅니다. 값: off, requested, rejected, on
  • cobrowse_session_full_device: 전체 기기 화면 공유 세션의 상태를 나타냅니다. 값: off, requested, rejected, on

참여자

  • type: 참여자 유형 - end_user, agent(/api/v1/calls 또는 /api/v1/chats 응답의 participants.type에서 가져옴)

  • cobrowse_session_requested_by: 화면 공유 세션을 시작한 사용자를 나타냅니다. 가능한 값은 agent 또는 end_user입니다.

  • cobrowse_session_ended_by: 화면 공유 세션을 종료한 사용자를 나타냅니다. 가능한 값은 agent, end_user 또는 api입니다.

  • end_user_id: /api/v1/calls 또는 /api/v1/chats 응답의 participants.end_user_id입니다. 이 필드는 type: end_user인 경우에만 표시됩니다.

상호작용 / 세션 유형

통화 유형

  • 음성 인바운드: 표준 PSTN 통화입니다.
  • 음성 인바운드 (모바일을 사용하는 IVR): 모바일 SDK에서 이루어진 대체 PSTN 통화입니다.
  • 음성 인바운드 (모바일): 설치된 모바일 SDK를 사용하는 소비자가 배치합니다.
  • 음성 콜백 (웹): 웹 SDK에서 시작됩니다.
  • 음성 인바운드 (API): API를 사용하여 시작되었습니다.
  • 음성 예약 (모바일): 설치된 모바일 SDK를 사용하여 예약되었습니다.
  • 음성 예약됨 (웹): 설치된 웹 SDK를 사용하여 예약되었습니다.
  • 음성 아웃바운드: 상담사가 번호를 다이얼하여 시작합니다.
  • 음성 아웃바운드 (API): API를 사용하여 시작되었습니다.
  • 음성 캠페인: 아웃바운드 다이얼러 (캠페인)를 사용하여 시작되었습니다.

채팅 유형

  • 메시지 (WhatsApp): WhatsApp을 사용하여 시작되었습니다.
  • 메시지 수신 (SMS)
  • 메시지 아웃바운드 (SMS)
  • 메시지 발신 (API를 사용한 SMS)
  • 메시지 (웹): 설치된 웹 SDK를 사용하여 시작됩니다.
  • 메시지 (모바일): 설치된 모바일 SDK를 사용하여 시작됩니다.

통화 또는 채팅 유형

  • 화면 공유 세션: 통화 또는 채팅 중에 상담사 또는 최종 사용자가 시작합니다.

이벤트 유형

에이전트 어댑터에서 게시하는 이벤트 유형은 다음과 같습니다.

에이전트 로그인

에이전트 로그인 이벤트는 에이전트가 어댑터에 로그인할 때 발생합니다.

다음은 Agent_Login 이벤트의 예입니다.

{
  "type": "Agent_Login",
    "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • agent_id: 에이전트 식별자

  • 선택사항: agent_custom_id: 상담사 프로필에 입력된 경우 상담사의 맞춤 식별자입니다.

  • agent_email: 에이전트 계정과 연결된 이메일 주소입니다.

새 통화

상담사가 전화를 받으면 새 통화 이벤트가 발생합니다. 이 이벤트에는 통화가 시작된 시간, 통화를 처리한 상담사, 통화가 시작된 위치와 같은 정보가 포함됩니다.

다음은 New_Call 이벤트의 예입니다.

{
  "type": "New_Call",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "call_id": 103646,
    "session_type": "Voice Campaign (UJET)"
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • agent_id: 에이전트 식별자

  • agent_custom_id: 에이전트 프로필에 입력된 경우 에이전트의 맞춤 식별자입니다. 선택사항입니다.

  • agent_email: 상담사 계정과 연결된 이메일 주소

  • queue_id: 통화가 시작된 대기열의 식별자입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • queue_path: 통화가 시작된 대기열의 경로입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • campaign_id: 캠페인의 식별자입니다. 이 필드는 캠페인 호출에 포함됩니다. 선택사항입니다.

  • campaign_name: 캠페인 이름입니다. 이 필드는 캠페인 호출에 포함됩니다. 선택사항입니다.

  • call_id: 통화 식별자

  • session_type: 세션 유형

  • virtual_agent_id: 가상 에이전트 식별자입니다. 이 필드는 가상 에이전트와 관련된 이벤트에 포함됩니다. 선택사항입니다.

  • va_data_parameters: 가상 에이전트로 전송하기 위해 대기열에 구성된 변수입니다. 이 필드는 가상 상담사가 포함된 이벤트에 포함됩니다. 선택사항입니다.

  • session_variable: Contact Center AI Platform으로 전송되는 가상 상담사의 모든 변수입니다. 선택사항입니다.

  • custom_sip_headers: 수신 SIP 통화의 맞춤 세션 개시 프로토콜 (SIP) 헤더가 POST 이벤트 로그에 표시되도록 지원합니다. 이 필드는 맞춤 SIP 헤더가 사용되는 경우 포함됩니다. 선택사항입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 서명되지 않은 맞춤 데이터 채팅을 참고하세요. 선택사항입니다.

통화 수정 시작됨

통화 수정이 시작되었으며 녹음되지 않는 경우 통화 수정 시작 이벤트가 발생합니다. 이벤트 데이터는 통화를 처리한 상담사의 ID와 통화 ID로 구성됩니다.

  • agent_id: 통화를 처리한 상담사의 ID
  • call_id: 통화 ID

다음은 통화 수정 시작 이벤트의 예입니다.

{
  "agent_id": 2896,
  "call_id": 97939
}

통화 수정이 중지됨

통화 수정 중지 이벤트는 통화 수정이 종료되고 녹음이 재개될 때 발생합니다. 이 이벤트는 통화를 처리한 상담사의 IDcall ID로 구성됩니다.

  • agent_id: 통화를 처리한 상담사의 ID
  • call_id: 호출의 ID

다음은 통화 수정 중지 이벤트 데이터의 예입니다.

{
  "agent_id": 2896,
  "call_id": 97939
}

통화 종료

통화 종료 이벤트는 통화가 종료될 때 발생합니다. 이 이벤트에는 통화가 종료된 시간, 통화를 처리한 상담사, 통화가 시작된 위치와 같은 정보가 포함됩니다.

다음은 End_Call 이벤트의 예입니다.

{
  "type": "End_Call",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "call_id": 103646,
    "session_type": "Voice Campaign (UJET)"
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • agent_id: 에이전트 식별자

  • agent_custom_id: 에이전트 프로필에 입력된 경우 에이전트의 맞춤 식별자입니다. 선택사항입니다.

  • agent_email: 상담사 계정과 연결된 이메일 주소

  • queue_id: 통화가 시작된 대기열의 식별자입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • queue_path: 통화가 시작된 대기열의 경로입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • campaign_id: 캠페인의 식별자입니다. 이 필드는 캠페인 호출에 포함됩니다. 선택사항입니다.

  • campaign_name: 캠페인 이름입니다. 이 필드는 캠페인 호출에 포함됩니다. 선택사항입니다.

  • call_id: 통화 식별자

  • session_type: 세션 유형

  • virtual_agent_id: 가상 에이전트 식별자입니다. 이 필드는 가상 에이전트와 관련된 이벤트에 포함됩니다. 선택사항입니다.

  • va_data_parameters: 가상 에이전트로 전송하기 위해 대기열에 구성된 변수입니다. 이 필드는 가상 상담사가 포함된 이벤트에 포함됩니다. 선택사항입니다.

  • session_variable: Contact Center AI Platform으로 전송되는 가상 상담사의 모든 변수입니다. 선택사항입니다.

  • custom_sip_headers: 수신 SIP 통화의 맞춤 세션 개시 프로토콜 (SIP) 헤더가 POST 이벤트 로그에 표시되도록 지원합니다. 이 필드는 맞춤 SIP 헤더가 사용되는 경우 포함됩니다. 선택사항입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 채팅 서명되지 않은 맞춤 데이터(선택사항)를 참고하세요. 선택사항입니다.

새 채팅

상담사가 채팅 세션을 선택하면 새 채팅 이벤트가 발생합니다. 이 이벤트는 채팅이 시작된 시점을 나타내며 채팅이 시작된 위치에서 채팅을 처리한 상담사와 같은 정보를 포함합니다.

다음은 New_chat 이벤트의 예입니다.

{
  "type": "New_Chat",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel"
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • chat_id: 채팅 식별자

  • session_type: 세션 유형

  • agent_id: 에이전트 식별자

  • agent_custom_id: 에이전트 프로필에 입력된 경우 에이전트의 맞춤 식별자입니다. 선택사항입니다.

  • agent_email: 에이전트 계정과 연결된 이메일 주소입니다.

  • queue_id: 통화가 시작된 대기열의 식별자입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • queue_path: 호출이 시작된 대기열의 경로입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 채팅 서명되지 않은 맞춤 데이터(선택사항)를 참고하세요. 선택사항입니다.

채팅 종료

채팅 종료 이벤트는 채팅 세션이 종료될 때 발생합니다. 이 이벤트는 채팅이 종료된 시점을 나타내며, 채팅을 처리한 상담사, 채팅이 시작된 위치와 같은 정보를 포함합니다.

다음은 End_Chat 이벤트의 예입니다.

{
  "type": "End_Chat",
  "data": {
    "chat_id": 73522,
    "session_type": "Messaging Inbound (Web Chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": null,
    "queue_path": null,
    "agent_custom_id": null
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • chat_id: 채팅 식별자입니다.

  • session_type: 세션 유형입니다.

  • agent_id: 에이전트 식별자입니다.

  • agent_custom_id: 에이전트 프로필에 입력된 경우 에이전트의 맞춤 식별자입니다. 선택사항입니다.

  • agent_email: 에이전트 계정과 연결된 이메일 주소입니다.

  • queue_id: 통화가 시작된 대기열의 식별자입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • queue_path: 통화가 시작된 대기열의 경로입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 채팅 서명되지 않은 맞춤 데이터(선택사항)를 참고하세요. 선택사항입니다.

활성 채팅

상담사가 채팅 어댑터에서 채팅 탭으로 전환하면 활성 채팅 이벤트가 발생합니다.

다음은 Active_Chat 이벤트의 예입니다.

{
  "type": "Active_Chat",
  "data": {
    "chat_id": 73521,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel"
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • chat_id: 채팅 식별자

  • session_type: 세션 유형

  • agent_id: 에이전트 식별자

  • agent_custom_id: 에이전트 프로필에 입력된 경우 에이전트의 맞춤 식별자입니다. 선택사항입니다.

  • agent_email: 에이전트 계정과 연결된 이메일 주소입니다.

  • queue_id: 통화가 시작된 대기열의 식별자입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • queue_path: 통화가 시작된 대기열의 경로입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 채팅 서명되지 않은 맞춤 데이터(선택사항)를 참고하세요. 선택사항입니다.

Chat 인바운드 메시지

채팅 인바운드 메시지 이벤트는 새 고객 메시지가 수신되었음을 나타냅니다. 메시지 콘텐츠가 포함됩니다.

다음 필드의 데이터는 채팅 인바운드 메시지 이벤트에 대해 보고됩니다.

  • chat_id: 채팅 세션을 식별합니다.

  • session_type: 생성되는 세션의 유형을 나타냅니다(예: 웹 채팅을 통한 메시지 수신).

  • agent_id: 채팅 세션을 처리하는 상담사를 식별합니다.

  • agent_custom_id: 이 필드는 상담사 프로필에 맞춤 ID가 포함된 경우에만 존재합니다. 선택사항입니다.

  • agent_email: 채팅 세션을 처리하는 상담사의 이메일 주소입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다. 선택사항입니다.

  • queue_id: 채팅 세션이 시작된 대기열의 ID입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다.

  • queue_path: 채팅 세션이 시작된 대기열의 경로입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다.

  • message: 새 소비자 메시지가 수신되었음을 나타내는 이벤트와 메시지 콘텐츠

  • custom_data_secured: 보안 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

  • custom_data_not_secured: 보안되지 않은 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

다음은 Chat_Inbound_Message 이벤트의 예입니다.

{
  "type": "Chat_Inbound_Message",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel",
    "message" : "Can you help me with my order tracking number?"
  }
}

Chat 아웃바운드 메시지

새 소비자의 메시지를 수신하면 채팅 아웃바운드 메시지 이벤트가 발생합니다. 메시지 콘텐츠가 포함됩니다.

다음 필드의 데이터는 채팅 아웃바운드 메시지 이벤트에 대해 보고됩니다.

  • chat_id: 채팅 세션을 식별합니다.

  • session_type: 생성되는 세션의 유형을 나타냅니다(예: 웹 채팅을 통한 메시지 수신).

  • agent_id: 채팅 세션을 처리하는 상담사를 식별합니다.

  • agent_custom_id: 이 필드는 상담사의 프로필에 맞춤 ID가 있는 경우에만 포함됩니다. 선택사항입니다.

  • agent_email: 채팅 세션을 처리하는 상담사의 이메일 주소입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다. 선택사항입니다.

  • queue_id: 채팅 세션이 시작된 대기열의 ID입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다.

  • queue_path: 채팅 세션이 시작된 대기열의 경로입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다.

  • message: 이벤트는 새 소비자 메시지가 수신되었음을 나타내며 메시지 콘텐츠도 나타냅니다.

  • custom_data_secured: 보안 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

  • custom_data_not_secured: 보안되지 않은 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

다음은 Chat_Outbound_Message 이벤트의 예입니다.

{
  "type": "Chat_Outbound_Message",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel",
    "message" : "Please give me a moment to look up your account information"
  }
}

닫은 채팅

상담사가 채팅 어댑터에서 채팅 탭을 닫으면 종료된 채팅 이벤트가 발생합니다.

다음은 Dismissed_Chat 이벤트의 예입니다.

{
  "type":"Dismissed_Chat",
  "data":{"chat_id":73522,
    "session_type":"Messaging Inbound (Web Chat)",
    "agent_id":1,
    "agent_email":"ariel@example.com"
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • chat_id: 채팅 식별자

  • session_type: 세션 유형

  • agent_id: 에이전트 식별자

  • agent_custom_id: 에이전트 프로필에 입력된 경우 에이전트의 맞춤 식별자입니다. 선택사항입니다.

  • agent_email: 상담사 계정과 연결된 이메일 주소

  • queue_id: 통화가 시작된 대기열의 식별자입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • queue_path: 통화가 시작된 대기열의 경로입니다. 이 필드는 통화가 대기열에서 시작된 경우에 포함됩니다. 선택사항입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 채팅 서명되지 않은 맞춤 데이터(선택사항)를 참고하세요. 선택사항입니다.

화면 공유 세션이 시작됨

화면 공유 세션 시작됨 이벤트는 상담사 또는 최종 사용자가 화면 공유 세션을 시작할 때 발생합니다. 화면 공유 세션은 통화 또는 채팅 중에 시작할 수 있습니다. 자세한 내용은 화면 공유를 참고하세요.

다음은 화면 공유 세션 시작 이벤트의 JSON 객체 예입니다.

{
  "type": "Cobrowse_Session_Started",
  "data": {
    "agent_id": 5,
    "chat_id": 791,
    "cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
    "cobrowse_session_requested_by": "agent",
    "cobrowse_session_remote_control": "off",
    "cobrowse_session_full_device": "off"
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • agent_id: 에이전트 식별자입니다.

  • call_id: IVR (대화형 음성 응답) 채널에서 수신 전화의 식별자입니다. 이 필드는 통화 중에 화면 공유 세션이 시작된 경우에 포함됩니다.

  • chat_id: 웹 또는 모바일 채널의 인바운드 채팅 식별자입니다. 이 필드는 채팅 중에 화면 공유 세션이 시작된 경우에 포함됩니다.

  • cobrowse_session_id: 화면 공유 세션의 식별자입니다.

  • cobrowse_session_requested_by: 화면 공유 세션을 시작한 사용자를 나타냅니다. 값은 agentend-user입니다.

  • cobrowse_session_remote_control: 원격 제어 화면 공유 세션의 상태를 나타냅니다. 값은 on, rejected, requested, off입니다.

  • cobrowse_session_full_device: 전체 기기 화면 공유 세션의 상태를 나타냅니다. 값은 on, rejected, requested, off입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 채팅 서명되지 않은 맞춤 데이터(선택사항)를 참고하세요. 선택사항입니다.

화면 공유 세션 원격 제어가 변경됨

원격 제어 화면 공유 세션의 상태가 변경되면 화면 공유 세션 원격 제어 변경 이벤트가 발생합니다. 이 이벤트는 원격 제어 화면 공유 세션의 상태를 나타냅니다. 자세한 내용은 화면 공유를 참고하세요.

다음은 Cobrowse_Session_Remote_Control_Changed 이벤트의 JSON 객체 예입니다.

{
  "type": "Cobrowse_Session_Remote_Control_Changed",
  "data": {
    "agent_id": 5,
    "chat_id": 791,
    "cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
    "cobrowse_session_remote_control": "requested"
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • agent_id: 에이전트 식별자입니다.

  • call_id: IVR (대화형 음성 응답) 채널의 인바운드 통화 식별자입니다. 이 필드는 통화 중에 화면 공유 세션이 시작된 경우에 포함됩니다.

  • chat_id: 웹 또는 모바일 채널의 인바운드 채팅 식별자입니다. 이 필드는 채팅 중에 화면 공유 세션이 시작된 경우에 포함됩니다.

  • cobrowse_session_id: 화면 공유 세션의 식별자입니다.

  • cobrowse_session_remote_control: 원격 제어 화면 공유 세션의 상태를 나타냅니다. 값은 on, rejected, requested, off입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 채팅 서명되지 않은 맞춤 데이터(선택사항)를 참고하세요. 선택사항입니다.

화면 공유 세션 전체 기기가 변경됨

전체 기기 화면 공유 세션 상태가 변경되면 화면 공유 세션 전체 기기 변경 이벤트가 발생합니다. 이 이벤트는 전체 기기 화면 공유 세션의 상태를 나타냅니다. 자세한 내용은 화면 공유를 참고하세요.

다음은 Cobrowse_Session_Full_Device_Changed 이벤트의 예입니다.

{
  "type": "Cobrowse_Session_Full_Device_Changed",
  "data": {
    "agent_id": 5,
    "cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
    "cobrowse_session_full_device": "rejected"
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • agent_id: 에이전트 식별자입니다.

  • call_id: IVR (대화형 음성 응답) 채널의 인바운드 통화 식별자입니다. 이 필드는 통화 중에 화면 공유 세션이 시작된 경우에 포함됩니다.

  • chat_id: 웹 또는 모바일 채널의 인바운드 채팅 식별자입니다. 이 필드는 채팅 중에 화면 공유 세션이 시작된 경우에 포함됩니다.

  • Cobrowse_session_id: 화면 공유 세션의 식별자입니다.

  • Cobrowse_session_full_device: 전체 기기 화면 공유 세션의 상태를 나타냅니다. 값은 on, rejected, requested, off입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 채팅 서명되지 않은 맞춤 데이터(선택사항)를 참고하세요. 선택사항입니다.

화면 공유 세션이 종료됨

화면 공유 세션 시작 이벤트는 상담사, 최종 사용자 또는 API에 의해 화면 공유 세션이 종료될 때 발생합니다. 자세한 내용은 화면 공유 구성을 참고하세요.

다음은 Cobrowse_Session_Ended 이벤트의 예입니다.

{
  "type": "Cobrowse_Session_Ended",
  "data": {
    "agent_id": 5,
    "cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
    "cobrowse_session_requested_by": "end_user",
    "cobrowse_session_ended_by": "agent",
    "cobrowse_session_remote_control": "on",
    "cobrowse_session_full_device": "rejected"
  }
}

다음은 이벤트 데이터 필드에 대한 설명입니다.

  • agent_id: 에이전트 식별자입니다.

  • call_id: IVR (대화형 음성 응답) 채널의 인바운드 통화 식별자입니다. 이 필드는 통화 중에 화면 공유 세션이 시작된 경우에 포함됩니다.

  • chat_id: 웹 또는 모바일 채널의 인바운드 채팅 식별자입니다. 이 필드는 채팅 중에 화면 공유 세션이 시작된 경우에 포함됩니다.

  • cobrowse_session_id: 화면 공유 세션의 식별자입니다.

  • cobrowse_session_ended_by: 화면 공유 세션을 종료한 사용자를 나타냅니다. 값은 agent, end-user, api입니다.

  • cobrowse_session_remote_control: 원격 제어 화면 공유 세션의 상태를 나타냅니다. 값은 on, rejected, requested, off입니다.

  • cobrowse_session_full_device: 전체 기기 화면 공유 세션의 상태를 나타냅니다. 값은 on, rejected, requested, off입니다.

  • custom_data_secured: 서버의 서명된 맞춤 데이터를 포함합니다. 선택사항입니다.

  • custom_data_not_secured: 웹페이지의 서명되지 않은 맞춤 데이터를 포함합니다. 자세한 내용은 채팅 서명되지 않은 맞춤 데이터(선택사항)를 참고하세요. 선택사항입니다.

이전

통화 또는 채팅이 트랜스퍼되면 트랜스퍼 이벤트가 발생합니다. 웜 트랜스퍼 또는 콜드 트랜스퍼를 모두 나타낼 수 있습니다.

다음 이벤트 필드는 트랜스퍼 이벤트의 일부입니다.

  • chat_id 또는 call_id: 통화 또는 채팅 세션을 식별합니다.

  • session_type: 생성되는 세션의 유형을 나타냅니다(예: 웹 채팅을 통한 메시지 수신).

  • campaign_id: 캠페인의 ID입니다. 이 필드는 통화 유형이 캠페인 통화인 경우에만 표시됩니다. 선택사항입니다.

  • campaign_name: 캠페인 이름입니다. 이 필드는 호출 유형이 캠페인 호출인 경우에만 표시됩니다. 선택사항입니다.

  • from_agent_id: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 발신 상담사를 나타내는 데 사용됩니다.

  • from_agent_custom_id: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 발신 상담사를 나타내는 데 사용됩니다. 선택사항입니다.

  • from_agent_email: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 발신 상담사를 나타내는 데 사용됩니다.

  • to_agent_id: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 목적지 상담사를 나타내는 데 사용됩니다.

  • to_agent_custom_id: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 목적지 상담사를 나타내는 데 사용됩니다. 선택사항입니다.

  • to_agent_email: 한 상담사에서 다른 상담사로 통화 또는 채팅을 라우팅할 때 목적지 상담사를 나타내는 데 사용됩니다.

  • from_queue_id: 한 대기열에서 다른 대기열로 통화 또는 채팅을 라우팅할 때 시작 대기열을 나타내는 데 사용됩니다.

  • from_queue_path: 한 대기열에서 다른 대기열로 통화 또는 채팅을 라우팅할 때 시작 대기열을 나타내는 데 사용됩니다.

  • to_queue_id: 한 대기열에서 다른 대기열로 통화 또는 채팅을 라우팅할 때 대상 대기열을 나타내는 데 사용됩니다.

  • to_queue_path: 한 대기열에서 다른 대기열로 통화 또는 채팅을 라우팅할 때 목적지 대기열을 나타내는 데 사용됩니다.

  • virtual_agent_id: 가상 에이전트에 할당된 ID입니다. 선택사항입니다.

  • va_data_parameters: 가상 에이전트에게 전송하기 위해 대기열에 구성된 모든 변수입니다. 가상 상담사가 포함된 이벤트에만 필요합니다. 선택사항입니다.

  • (session_variable: 페이로드에서 CCAI Platform으로 전송되는 가상 상담사의 모든 변수입니다. 선택사항입니다.

  • custom_sip_headers: 수신되는 SIP 통화의 맞춤 SIP 헤더가 POST 이벤트 로그에 표시되도록 합니다. 맞춤 SIP 헤더를 사용하는 경우에만 필요합니다. 선택사항입니다.

  • custom_data_secured: 보안 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

  • custom_data_not_secured: 보안되지 않은 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

다음은 트랜스퍼 이벤트의 예입니다.

{
  "type": "Transfer_Chat",
  "data": {
    "chat_id": 103646,
    "session_type": "Messaging Inbound (SMS)",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "from_agent_id": 1,
    "from_agent_custom_id": "007",
    "from_agent_email": "Ira@example.com",
    "to_agent_id" : 5
    "to_agent_custom_id": "100"
    "to_agent_email" : "ariel@example.com"
    "from_queue_id": 8469,
    "from_queue_path": "Developers / Ariel",
    "to_queue_id" : 1234,
    "to_queue_path" : "Schemes / Auric"
  }
}

참여자가 추가됨

당사자 추가 이벤트는 모든 이전을 나타냅니다. 통화 또는 채팅 트랜스퍼일 수 있습니다.

참석자 추가 이벤트에는 다음 데이터가 포함됩니다.

  • chat_id 또는 call_id: 통화 또는 채팅 세션을 식별합니다.

  • session_type: 생성되는 세션의 유형을 나타냅니다(예: 웹 채팅을 통한 메시지 수신).

  • agent_custom_id: 이 필드는 상담사 프로필에 맞춤 ID가 포함된 경우에만 존재합니다. 선택사항입니다.

  • agent_email: 통화 또는 채팅 세션을 처리하는 상담사의 이메일 주소입니다.

  • queue_id: 채팅 세션이 시작된 대기열의 ID입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다. 선택사항입니다.

  • queue_path: 채팅 세션이 시작된 대기열의 경로입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다. 선택사항입니다.

  • campaign_id: 캠페인의 ID입니다. 이 필드는 통화 유형이 캠페인 통화인 경우에만 포함됩니다. 선택사항입니다.

  • campaign_name: 캠페인 이름입니다. 이 필드는 통화 유형이 캠페인 통화인 경우에만 포함됩니다. 선택사항입니다.

  • type: 참여자 유형입니다(예: end_user 또는 agent). 이 필드는 /api/v1/calls 또는 /api/v1/chats 응답의 participants.type으로 반환됩니다.

  • end_user_id: end_user_id입니다. 이 필드는 /api/v1/calls 또는 /api/v1/chats 응답의 일부로 반환됩니다. 이 필드는 한 상담사에서 다른 상담사로 라우팅된 최종 사용자 통화 또는 채팅에만 표시되어 대상 상담사를 나타냅니다. 선택사항입니다.

  • virtual_agent_id: 가상 상담사에게 할당된 식별자입니다. 선택사항입니다.

  • va_data_parameters: 가상 에이전트에게 전송하기 위해 대기열에 구성된 모든 변수입니다. 가상 상담사가 포함된 이벤트에만 필요합니다. 선택사항입니다.

  • session_variable: 페이로드에서 CCAI Platform으로 전송되는 가상 상담사의 모든 변수입니다. 선택사항입니다.

  • custom_sip_headers: 수신 SIP 통화의 맞춤 SIP 헤더가 POST 이벤트 로그에 표시되도록 합니다. 맞춤 SIP 헤더를 사용하는 경우에만 필요합니다. 선택사항입니다.

  • custom_data_secured: 보안 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

  • custom_data_not_secured: 보안되지 않은 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

다음은 Party_Added 이벤트의 예입니다.

{
  "type": "Party_Added",
  "data": {
    "chat_id": 103646,
    "session_type": "Messaging Inbound (SMS)",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Ariel",
    "type" : "agent"
  }
}

상담사가 세션에 연결됨

상담사가 세션에 연결되면 상담사가 세션에 연결됨 이벤트가 발생합니다. 이벤트에는 두 가지 유형이 있습니다. 유형은 통화인지 채팅인지에 따라 결정됩니다.

다음 이벤트 필드는 에이전트가 세션에 연결되는 이벤트의 일부입니다.

  • agent_id: 통화 또는 채팅 세션을 처리하는 상담사를 식별합니다.

  • agent_email: 통화 또는 채팅 세션을 처리하는 상담사의 이메일 주소입니다.

  • agent_custom_id: 이 필드는 상담사 프로필에 맞춤 ID가 포함된 경우에만 존재합니다. 선택사항입니다.

  • chat_id 또는 call_id: 통화 또는 채팅 세션을 식별합니다.

  • virtual_agent_id: 특정 가상 에이전트에 할당된 ID입니다. 선택사항입니다.

  • campaign_id: 캠페인의 ID입니다. 이 필드는 통화 유형이 캠페인 통화인 경우에만 포함됩니다. 선택사항입니다.

  • campaign_name: 캠페인 이름입니다. 이 필드는 통화 유형이 캠페인 통화인 경우에만 포함됩니다. 선택사항입니다.

  • queue_id: 채팅 세션이 시작된 대기열의 ID입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다. 선택사항입니다.

  • queue_path: 채팅 세션이 시작된 대기열의 경로입니다. 이 필드는 채팅이 대기열에서 시작된 경우에만 포함됩니다. 선택사항입니다.

  • session_type: 생성되는 세션의 유형을 나타냅니다(예: 웹 채팅을 통한 메시지 수신).

  • virtual_agent_id: 가상 에이전트에 할당된 ID입니다. 선택사항입니다.

  • va_data_parameters: 가상 상담사에게 전송하기 위해 대기열에서 구성된 모든 변수입니다. 가상 상담사가 포함된 이벤트에만 필요합니다. 선택사항입니다.

  • session_variable: 페이로드에서 UJET로 전송되는 가상 에이전트의 모든 변수입니다. 선택사항입니다.

  • custom_sip_headers: 수신 SIP 통화의 맞춤 SIP 헤더가 POST 이벤트 로그에 표시되도록 합니다. 맞춤 SIP 헤더를 사용하는 경우에만 필요합니다. 선택사항입니다.

  • custom_data_secured: 보안 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

  • custom_data_not_secured: 보안되지 않은 SDK 맞춤 데이터의 전송을 허용합니다. 선택사항입니다.

다음은 Agent_Joined_Chat 이벤트 데이터의 예입니다.

{
  "type": "Agent_Joined_Chat",
  "data": {
    "chat_id": 103646,
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Ariel",
    "session_type": "Messaging Inbound (SMS)",
  }
}

상담사 로그아웃

상담사 로그아웃 이벤트는 상담사가 상담사 어댑터에서 로그아웃할 때 발생합니다.

다음 이벤트 필드는 Agent_Logout 이벤트의 일부입니다.

  • agent_id: 로그인한 상담사의 식별자

  • agent_email: 에이전트 계정과 연결된 이메일 주소

  • agent_custom_id: 상담사 프로필에 입력된 경우 상담사의 맞춤 ID입니다. 선택사항입니다.

다음은 Agent_Logout 이벤트의 예입니다.

{
  "type": "Agent_Logout",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
  }
}

Agent Assist 시작됨

상담사가 통화 또는 채팅 세션 중에 Agent Assist를 활성화하면 Agent Assist 시작 이벤트가 발생합니다.

다음은 Agent_Assist_Started 이벤트의 예입니다.

{
  "type": "Agent_Assist_Started",
  "data": {
    "conversation_id": "12345",
    "queue_id": "65",
    "agent_id": "1",
    "session_id": "78534G4RT4284",
    "queue_language_id": "en",
    "timestamp": "12:45:15"
  }
}

이벤트 필드는 다음과 같습니다.

  • conversation_id: 대화 식별자

  • queue_id: 큐 식별자

  • agent_id: 에이전트 식별자

  • session_id: 세션 식별자

  • queue_language_id: 큐의 언어

  • timestamp: 타임스탬프

백그라운드 화면 팝업

화면 팝 기능을 사용하면 상담사가 백그라운드에서 CRM 화면 팝을 실행할 수 있습니다. 즉, 상담사가 아무런 작업을 하지 않아도 고객 정보가 상담사의 화면에 표시됩니다. 이를 통해 소비자에게 더 원활한 환경을 제공하고 상담사의 처리 시간을 줄일 수 있습니다.

CRM 레코드 팝

CRM_Record_Pop 이벤트는 티켓을 팝업해야 할 때 트리거되는 서버 측 이벤트입니다. 이 이벤트에는 CRM 레코드의 URL이 포함된 recordUrl라는 매개변수가 포함되어 있으므로, 삽입된 어댑터를 사용하는 경우 POST 이벤트를 구독하여 화면 팝업을 실행할 수 있습니다.

이를 위해 다음 예에서는 다른 프레임이나 창에서 전송된 메시지를 수신 대기하는 이벤트 리스너를 추가하는 방법을 보여줍니다. 이 코드 스니펫은 서로 다른 프레임 또는 창 간의 통신을 지원하고 수신된 메시지에 따라 iframe에 표시된 콘텐츠를 동적으로 업데이트할 수 있도록 설계되었습니다.

// name is the html property of the iframe
const iframeTarget = document.querySelector('iframe[name="target_iframe_adapter"]')

// example usage of add event listener
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
window.addEventListener('message', (e) => {
  try {
    const data = JSON.parse(e.data)
    const type = data.type
    console.log('EventListener: ', JSON.stringify(data))

    if (type === 'CRM_Record_Pop') {
      const recordUrl = data.data.recordUrl
      if (!recordUrl) {
        return
      }
      console.log(`Opening <strong>recordUrl</strong> in iframe <strong>${iframeTarget.getAttribute('name')}</strong>`)

      // changing an iframe target to the record URL pop 
      iframeTarget.src = recordUrl
    } else if (type === 'New_Chat') {
      console.log(`<strong>Chat started...</strong>`)

      // handling here for new_chat events
    } else if (type === 'End_Chat') {
      console.log(`<strong>Chat ended...</strong>`)
      // handling here for end_chat events
    } if (.... //other event types) {
      // code handling for other types
    }else {
      console.log(JSON.stringify(data))
    }
  } catch (e) {
    log(e, true)
  }
}, false)