상담사 상태 엔드포인트

에이전트 상태 API 엔드포인트는 에이전트 상태 객체에 대한 액세스를 제공합니다. 고객센터 AI Platform (CCAI Platform)에서 구성되고 에이전트 권한이 포함된 역할이 있는 각 사용자에 대해 에이전트 객체가 생성됩니다.

다음은 에이전트 상태 API 엔드포인트입니다.

상담사 상태 엔드포인트를 사용하면 상담사의 상태를 수정할 수 있습니다. 사용 가능에서 맞춤 상태로 변경할 수 있습니다. 통화 중과 같은 시스템 정의 상태로 전환하거나 이러한 상태에서 전환하면 오류가 트리거됩니다. 또한 이러한 엔드포인트는 일괄 업데이트를 지원하므로 전체 팀 또는 선택한 상담사 그룹의 상태를 동시에 수정할 수 있습니다.

상담사 상태 업데이트

이 엔드포인트를 사용하면 상담사의 상태를 업데이트할 수 있습니다. 다음 표에는 JSON 본문의 속성이 표시되어 있습니다.

속성 필수 데이터 유형 정의
상태 TRUE 문자열 상담사를 설정할 상태입니다(예: available).
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": []
}
대답: 오류: '낮잠' 상태가 존재하지 않음
{
    "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 문자열 상담사를 설정할 상태입니다(예: available).
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