상담사 상태 API 엔드포인트는 상담사 상태 객체에 대한 액세스를 제공합니다. 상담사 권한이 포함된 역할이 있는 Contact Center AI Platform (CCAI Platform)에 구성된 각 사용자에 대해 상담사 객체가 생성됩니다.
상담사 상태 API 엔드포인트는 다음과 같습니다.
상담사 상태 엔드포인트를 사용하면 상담사의 상태를 수정할 수 있습니다. 이를 통해 사용 가능 에서 모든 맞춤 상태로 변경할 수 있습니다. 통화 중 과 같은 시스템 정의 상태로 전환하거나 시스템 정의 상태에서 전환하면 오류가 발생합니다. 또한 이러한 엔드포인트는 일괄 업데이트를 지원하므로 전체 팀 또는 선택한 상담사 그룹의 상태를 동시에 수정할 수 있습니다.
상담사 상태 업데이트
이 엔드포인트를 사용하면 상담사의 상태를 업데이트할 수 있습니다. 다음 표에서는 JSON 본문의 속성을 보여줍니다.
| 속성 | 필수 | 데이터 유형 | 정의 |
|---|---|---|---|
| 상태 | TRUE | 문자열 | 상담사를 설정할 상태(예: 사용 가능) |
| agent_ids | TRUE | 배열 정수 | 상담사 ID의 배열 |
| team_ids | TRUE | 배열 정수 | 팀 ID의 배열 |
엔드포인트:
Method: POST
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses
헤더:
| 키 | 값 | 설명 |
|---|---|---|
| Content-Type | application/json |
본문:
{
"status": "Available",
"agent_ids": [
11,
12
],
"team_ids": []
}
요청 및 응답 예시
다음 섹션에서는 엔드포인트에 대한 요청 예시를 제공합니다.
상담사 상태 변경 성공
다음 예에서는 작업이 성공한 일부 상담사 상태를 변경하는 요청 및 관련 응답을 보여줍니다.
요청
헤더:
| 키 | 값 | 설명 |
|---|---|---|
| Content-Type | application/json |
본문:
{
"status": "Available",
"agent_ids": [
11,
12
],
"team_ids": [
1
]
}
응답:
[
{
"agent_id": 11,
"name": "Darth Vader",
"email": "notanakinskywalker@empire.com",
"agent_number": "Agent No.111",
"previous_status": "lunch",
"current_status": "Available"
},
{
"agent_id": 12,
"name": "Craig T",
"email": "craigT@nelson.com",
"agent_number": "Agent No.112",
"previous_status": "In-call",
"current_status": "In-call",
"message": "Agent can't be changed from system status 'In-call'"
},
{
"agent_id": 13,
"name": "Raymond D",
"email": "rayd@nelson.com",
"agent_number": "Agent No.113",
"previous_status": "Offline",
"current_status": "Offline",
"message": "Agent's status can't be changed if they are offline or logged out"
}
]
상태 코드: 200
상태가 존재하지 않음
이 예에서는 제공된 상태가 존재하지 않으므로 잘못된 것으로 간주되는 요청 및 관련 응답을 보여줍니다.
요청
헤더:
| 키 | 값 | 설명 |
|---|---|---|
| Content-Type | application/json |
본문:
Body
{
"status": "Napping",
"agent_ids": [
11,
12
],
"team_ids": []
}
응답: 오류: 'Napping' 상태가 존재하지 않음
{
"message": "status 'Napping' does not exist"
}
상태 코드: 400
상태가 시스템 상태로 설정됨
이 예에서는 상태가 시스템 상태(이 경우 '통화 중')로 설정된 요청 및 응답을 보여줍니다. 상담사의 상태를 시스템에서 관리하는 상태로 설정할 수는 없습니다.
요청
헤더:
| 키 | 값 | 설명 |
|---|---|---|
| Content-Type | application/json |
본문:
Body
{
"status": "In-call",
"agent_ids": [
11,
12
]
}
응답: 오류: 상담사를 시스템 상태 '통화 중'으로 변경할 수 없음
{
"message": "Agent can't be changed to system status 'In-call'"
}
상태 코드: 400
상담사 상태 가져오기
이 엔드포인트를 사용하면 상담사의 상태를 검색할 수 있습니다. 다음 표에서는 JSON 본문의 속성을 보여줍니다.
| 속성 | 필수 | 데이터 유형 | 정의 |
|---|---|---|---|
| 상태 | TRUE | 문자열 | 상담사를 설정할 상태(예: 사용 가능) |
| agent_ids | FALSE | 배열 정수 | 상담사 ID의 배열 |
| team_ids | FALSE | 배열 정수 | 팀 ID의 배열 |
엔드포인트:
Method: GET
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses
헤더:
| 키 | 값 | 설명 |
|---|---|---|
| Content-Type | application/json |
본문:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
]
}
요청 및 응답 예시
다음 섹션에서는 엔드포인트에 대한 요청 예시를 제공합니다.
특정 상담사 및 팀의 상태 가져오기
이 예에서는 ID가 11 및 12인 상담사와 ID가 1인 팀의 상담사 상태를 가져오는 방법을 보여줍니다.
요청
헤더:
| 키 | 값 | 설명 |
|---|---|---|
| Content-Type | application/json |
본문:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
]
}
응답: 요청된 상담사의 상태
[
{
"agent_id": 11,
"name": "Darth Vader",
"email": "notanakinskywalker@empire.com",
"agent_number": "Agent No.111",
"status": "lunch",
"ip_addrs": [
"34.211.11.101"
]
},
{
"agent_id": 12,
"name": "Craig T",
"email": "craigT@nelson.com",
"agent_number": "Agent No.112",
"status": "In-call",
"ip_addrs": [
"34.211.11.102"
]
},
{
"agent_id": 13,
"name": "Raymond D",
"email": "rayd@nelson.com",
"agent_number": "Agent No.113",
"status": "Offline",
"ip_addrs": [
"34.211.11.103"
]
}
]
상태 코드: 200