客服人员状态端点

代理状态 API 端点提供对代理状态对象的访问权限。系统会为在 Contact Center AI 平台 (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