외부 세션 이벤트

외부 세션 이벤트 기능을 사용하면 웹훅을 통해 CCAI 플랫폼에서 외부 시스템으로 실시간 데이터 스트리밍을 사용 설정할 수 있습니다. 이를 통해 맞춤 보고, CRM 기록 업데이트 또는 자동화된 상호작용 후 워크플로를 위한 세션 수명 주기를 즉시 파악할 수 있습니다.

외부 세션 이벤트는 채팅 또는 음성 통화의 상태가 변경될 때마다 서버에 알리는 푸시 기반 메커니즘을 제공합니다. API 엔드포인트를 제공하면 CCAI 플랫폼은 전환이 발생할 때마다(예: 통화 연결, 상담사 할당, 세션 연결 해제) JSON 형식의 이벤트 데이터를 인프라에 POST합니다.

외부 세션 이벤트 구성

외부 세션 이벤트를 구성하려면 다음 단계를 따르세요.

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

  2. 세션 데이터 내보내기 창에서 데이터 내보내기 설정 관리 를 클릭합니다. 세션 데이터 내보내기 페이지가 표시됩니다.

  3. 외부 세션 이벤트 창으로 이동한 다음 전환 버튼을 사용 설정 위치로 클릭합니다.

  4. 다음 중 하나 또는 둘 다 실행합니다.

    • 외부 통화 세션 이벤트를 구성하려면 다음 단계를 따르세요.

      1. 통화 이벤트 - 통화 세션 이벤트 전송 체크박스를 선택합니다.

      2. API 엔드포인트 필드에 타겟 API의 전체 HTTPS URL을 입력합니다.

      3. 사용자 이름과 비밀번호를 입력합니다. 플랫폼은 기본 인증에 이를 사용합니다.

    • 외부 채팅 세션 이벤트를 구성하려면 다음 단계를 따르세요.

      1. 채팅 이벤트 - 채팅 세션 이벤트 전송 체크박스를 선택합니다.

      2. API 엔드포인트 필드에 타겟 API의 전체 HTTPS URL을 입력합니다.

      3. 사용자 이름과 비밀번호를 입력합니다. 플랫폼은 기본 인증에 이를 사용합니다.

  5. 저장 을 클릭합니다.

이벤트 수명 주기 및 상태 로직

세션이 진행됨에 따라 CCAI 플랫폼은 여러 업데이트를 전송합니다. 각 업데이트는 사용 가능해짐에 따라 더 많은 메타데이터로 item 객체를 보강합니다.

상태 진행 표

이벤트 순서 참석자 상태 추가된 주요 데이터 포인트
1. 시작 connected 외부: connected call_id, 고객 dn (전화번호)
2. 라우팅 connected 외부: connected queue_path_names, initiator (가상 에이전트)
3. 할당됨 connected 상담사: accepted 실시간 상담사 이름 및 ID가 추가됩니다.
4. 최근 접속 connected 상담사: connected 미디어 스트림이 설정됩니다 (대화가 시작됨).
5. 종료 disconnected 둘 다: disconnected ends_at 타임스탬프가 채워집니다.
6. 최종 disconnected 상담사: dispositionSubmitted 마무리 코드가 포함된 dispositions 객체

이벤트 데이터 스키마 참조

이벤트는 객체에서 웹훅으로 전송됩니다. 각 웹훅 이벤트는 구조가 동일하며 다음 표에 나와 있습니다.

루트 객체

필드 유형 설명
count 정수 현재 페이로드의 이벤트 객체 수입니다.
events 배열 세부정보가 포함된 이벤트 객체 모음입니다.

주요 세션 필드

  • event_id: 활동 알림의 UUID입니다.
  • timestamp: 이벤트가 생성된 시간의 에포크 시간(밀리초)입니다.
  • connected_atends_at: 세션 시간의 ISO 8601 타임스탬프입니다.
  • initiator: 상태 변경을 처리한 항목을 식별합니다(예: virtual_agent_15 또는 agent_1).
  • dispositions: code, custom_code_id 및 상담사 note가 포함된 중첩 객체입니다.

보안

모든 요청은 표준 승인 헤더와 함께 전송됩니다. Authorization: Basic <base64_encoded_credentials>

전송 요구사항

  • 메소드: POST
  • Content-Type: application/json
  • 제한 시간: 서버는 5초 이내에 응답해야 합니다.
  • 확인: 엔드포인트는 200 OK 상태 코드를 반환해야 합니다. 200 이외의 코드가 수신되면 플랫폼에서 지수 백오프 재시도를 사용할 수 있습니다.

샘플 페이로드

다음은 웹훅에 대한 이벤트 메시지에서 수신된 샘플 페이로드입니다.

활성 대화 (미디어 연결됨)

{
  "count": 1,
  "events": [
    {
      "event_id": "fc066edb-d99f-4db4-ba04-fb5dfea0e86a",
      "timestamp": 1767874769480,
      "type": "CallState",
      "item": {
        "call_id": 1395,
        "state": "connected",
        "queue_path_names": "Test/Talk to Andrew/English",
        "participants": [
          { "state": "connected", "type": "external", "dn": "+15555555555" },
          { "state": "connected", "type": "agent", "name": "Joe Smith", "agent_number": "528431" }
        ]
      }
    }
  ]
}

최종 처리 (통화 후 작업)

{
  "count": 1,
  "events": [
    {
      "event_id": "479798ff-b1ed-4a5c-a910-17a7edb3f283",
      "timestamp": 1767874769480,
      "type": "CallState",
      "item": {
        "call_id": 1395,
        "state": "disconnected",
        "participants": [
          {
            "type": "agent",
            "state": "dispositionSubmitted",
            "dispositions": {
              "code": "Call completed",
              "custom_code_id": "callComplete",
              "note": "none"
            }
          }
        ]
      }
    }
  ]
}