代理程式狀態端點

代理程式狀態 API 端點可存取代理程式狀態物件。系統會為 Contact Center AI 平台 (CCAI 平台) 中設定的每位使用者建立代理程式物件,這些使用者必須具備包含代理程式權限的角色。

以下是代理程式狀態 API 端點:

代理程式狀態端點可讓您修改代理程式的狀態。 可將狀態從「有空」變更為任何自訂狀態。轉換為系統定義的狀態 (例如「通話中」) 或從這類狀態轉換時,會觸發錯誤。此外,這些端點支援大量更新,可同時修改整個團隊或所選代理程式群組的狀態。

更新代理程式狀態

這個端點可讓您更新代理程式的狀態。下表顯示 JSON 內容中的屬性:

屬性 必填 資料類型 定義
狀態 TRUE 字串 要將代理程式設為的狀態,例如「可供使用」。
agent_ids TRUE Arry Integer 虛擬服務專員 ID 的 ARRAY。
team_ids TRUE 陣列整數 團隊 ID 的 ARRAY。

端點:

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 Arry Integer 虛擬服務專員 ID 的 ARRAY。
team_ids FALSE 陣列整數 團隊 ID 的 ARRAY。

端點:

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