Apps API 的用途是擷取使用者設定資料。您可以讀取所有使用者或單一使用者的目前使用者設定,不論對方的角色或狀態為何,都是如此。這項輸出內容包含系統和自訂角色。
這個端點與大量使用者上傳程序中使用的端點不同,可提供支援大量作業的必要資訊。如要進一步瞭解如何執行大量使用者管理程序,請參閱 Bulk User Management API。
API 功能與限制
擷取使用者資料時,您可以加入參數,根據需求調整 API 回應。支援的參數如下:
特定使用者
- ID 選項:電子郵件、系統 ID 或自訂使用者 ID。使用者可以指定一或多個 ID。如果多個使用者 ID 指向同一位使用者,則該使用者在回應中只能出現一次。
分頁
使用者可以擷取分頁集中的結果,藉此管理大型資料集。 API 回應應指出是否還有其他頁面可供擷取。
使用者可透過 API 參數要求特定頁面的結果。
使用者可以指定頁面大小。預設頁面大小為 100,上限為 1,000。如果提供特定頁碼,要求中就不能包含使用者 ID。
API 回應會包含所有使用者設定檔和設定欄位,但「狀態」欄位除外。API 會提供 deactivated_at 欄位,而非「狀態」欄位。這個欄位會包含:
沒有活躍使用者值。
使用者停用帳戶的日期和時間。
下表列出 API 回應中會包含的使用者設定檔欄位:
表 1. 使用者設定檔欄位表格
| Order | 資料欄類型 | 欄數 | 資料欄名稱 | 有效值 |
| 1 | 電子郵件地址 | 1 | 電子郵件地址 | 電子郵件地址 |
| 2 | 服務專員 ID | 1 | 服務專員 ID | String |
| 3 | 名字 | 1 | 名字 | String |
| 4 | 姓氏 | 1 | 姓氏 | String |
| 5 | 別名 | 1 | 別名 | String |
| 6 | 停用時間 | 1 | 停用時間 | 沒有值,日期/時間 |
| 7 | 位置 | 1 | 位置 | 位置名稱字串、空白 (不變更)、空值 (移除目前位置)。 |
| 8 | 即時通訊並行數 | 1 | 即時通訊並行數 | 1 至 X (其中 X 為設定值)、空白 |
| 9 | 即時通訊並行狀態 | 1 | 即時通訊並行狀態 | 0、1、空白 |
| 10 | 不受限制的國際電話 | 1 | 不受限制的國際電話 | (True/False) |
| 11 | 外部使用者 | 1 | 外部使用者 | (Yes/No) |
| 12 | 外部 SIP URI | 1 | 外部 SIP URI | String |
| 13 | UCaaS 使用者名稱 | 1 | UCaaS 使用者名稱 | String |
| 14 | 代理程式擴充功能 | 1 | 代理程式擴充功能 | |
| 15 | 角色 | 多個 | 角色:角色名稱 A 角色:角色名稱 B 角色:角色名稱 C 等。 | 0、1、空白 |
| 16 | 團隊 | 多個 | 團隊:團隊名稱 A、
團隊:團隊名稱 B, 團隊:團隊名稱 C 等等。 |
0、1、空白 |
| 17 | 電話號碼 | 多個 | 直接撥入號碼:1,
直接撥入號碼:2, 直撥電話號碼:3 |
電話號碼採用 164 格式 |
| 18 | 篩選器 | 單一 | 篩選器 | String |
| 19 | 篩選器逾時 | 單一 | 篩選器逾時 | 介於 0 至 1,440 之間的數值 |
限制
每個要求僅支援一種使用者 ID。
每個 API 要求最多可包含 1,000 個 ID。
使用者無法在單一 API 要求中同時提供使用者 ID 和頁碼要求。API 會根據要求傳回所有使用者,最多 1,000 人。
API 錯誤訊息
API 會在特定情況下提供下列錯誤訊息:
頁面大小:「Exceeded maximum page size request (1,000 is the maximum)」(超出頁面大小要求上限 (上限為 1,000))
頁面大小 (須輸入數字):「Invalid page size request; must be a numeric value」(頁面大小要求無效,必須是數值)
合併使用者 ID 和分頁要求:「Combination of user ID and pagination request is not supported」(不支援合併使用者 ID 和分頁要求)
使用者 ID (超出上限):「超出使用者 ID 數量上限 (上限為 1,000 個)」
要求和回應範例
這個範例示範如何擷取第一頁的使用者,每頁 100 位使用者。回應主體包含使用者物件的陣列,每個物件都含有詳細的使用者設定資料。
要求:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/users?page=1&per_page=100
回覆:
[
{
"email": "email",
"agent_number": "number",
"first_name": "first",
"last_name": "last",
"status": "Active",
"location": "location",
"max_chat_limt": 3,
"max_chat_limit_enabled": true,
"deleted_at": "2024-07-16T15:57:12.000Z",
"ucaas_user_name": "username",
"external_user": true,
"ucaas_sip_uri": "sip uri",
"unrestricted_international_calling": false,
"roles": [
{ "name": "Admin" },
{ "name": "Manager" }
],
"teams": [
{ "name": "name" }
],
"phone_numbers": [
"123-456-7890",
"098-765-4321"
]
},
...
]
這個範例示範如何傳遞電子郵件參數,擷取單一使用者的詳細資料。回應主體包含使用者物件,其中含有詳細的使用者設定資料。
要求:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/users?email[]=email
回覆:
[
{
"email": "email",
"agent_number": "number",
"first_name": "first",
"last_name": "last",
"status": "Active",
"location": "location",
"max_chat_limt": 3,
"max_chat_limit_enabled": true,
"deleted_at": "2024-07-16T15:57:12.000Z",
"ucaas_user_name": "username",
"external_user": true,
"ucaas_sip_uri": "sip uri",
"unrestricted_international_calling": false,
"roles": [
{ "name": "Admin" },
{ "name": "Manager" }
],
"teams": [
{ "name": "name" }
],
"phone_numbers": [
"123-456-7890",
"098-765-4321"
]
}
]