エージェントの強制ログアウト エンドポイントを使用すると、オンライン エージェントを強制的にログアウトできます。通話やチャット中のエージェントは、現在のやり取りが完了すると自動的にログアウトされます。アイドル状態のエージェントはすぐにログアウトされます。このエンドポイントは、特定のユーザー、チーム全体、または CIDR 表記の IP アドレス、IPv4/IPv6 アドレスのリスト、IP 範囲で識別されるユーザーの強制ログアウトをサポートしています。エージェントの数が多い場合は、ログアウト プロセスを効率的に管理するためにバックグラウンド ジョブが作成されます。
エージェントの強制ログアウト API エンドポイントは次のとおりです。
エージェントを強制的にログアウトする
このエンドポイントを使用すると、特定のエージェントをログアウトできます。エージェントは次の方法で識別できます。
エージェント ID。
チーム ID。
外部IPアドレスは不要です
エンドポイント:
Method: POST
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout
ヘッダー:
| キー | 値 | 説明 |
|---|---|---|
| Content-Type | application/json | |
| 同意する | application/json |
本文:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
],
"ip_addrs": [
"34.211.11.0/24"
]
}
リクエストとレスポンスの例
以降のセクションでは、エンドポイントに対するリクエストの例を示します。
エージェントを正常にログアウトする
この例では、エージェント ID とチーム ID に基づいて特定のエージェントをログアウトする方法を示します。この場合、エージェント 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",
"previous_status": "lunch",
"current_status": "Offline"
},
{
"agent_id": 12,
"name": "Craig T",
"email": "craigT@nelson.com",
"agent_number": "Agent No.112",
"previous_status": "Unavailable",
"current_status": "Offline"
},
{
"agent_id": 13,
"name": "Raymond D",
"email": "rayd@nelson.com",
"agent_number": "Agent No.113",
"previous_status": "Break",
"current_status": "Offline"
}
]
ステータス コード: 200
IP アドレスを使用してエージェントをログアウトする
この例では、IP アドレス範囲を指定してエージェントをログアウトする方法を示します。この場合、指定された IP アドレス範囲は 34.211.11.0/24 です。
リクエスト
ヘッダー:
| キー | 値 | 説明 |
|---|---|---|
| Content-Type | application/json |
本文:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
],
"ip_addrs": [
"34.211.11.0/24"
]
}
ステータス コード: 200
ログアウト エージェント ジョブが作成されました
この例では、エージェントのログアウトと、作成されたジョブをリクエストする方法を示します。
リクエスト
ヘッダー:
| キー | 値 | 説明 |
|---|---|---|
| Content-Type | application/json |
本文:
{
"agent_ids": [
11,
12
],
"team_ids": [
1
],
"ip_addrs": [
"34.211.11.0/24"
]
}
レスポンス
{
"ip_addrs": [
"34.211.11.0/16"
]
}
ステータス コード: 200
通話中またはチャット中のエージェントは後でログアウトします
この例では、通話中またはチャット中のエージェントが、チャットまたは通話の終了後にログアウトされる方法を示します。
リクエスト
ヘッダー:
| キー | 値 | 説明 |
|---|---|---|
| Content-Type | application/json |
本文:
{
"agent_ids": [
11,
12
],
"team_ids": []
}
レスポンス
[
{
"agent_id": 11,
"name": "Darth Vader",
"email": "notanakinskywalker@empire.com",
"agent_number": "Agent No.111",
"previous_status": "In-call",
"current_status": "In-call",
"message": "will force logout as soon as the ongoing call/chat is completed"
},
{
"agent_id": 12,
"name": "Craig T",
"email": "craigT@nelson.com",
"agent_number": "Agent No.112",
"previous_status": "In-chat",
"current_status": "In-chat",
"message": "will force logout as soon as the ongoing call/chat is completed"
}
]
ステータス コード: 400
エラー: エージェントが見つかりません
この例は、指定されたエージェントが見つからない場合の障害シナリオを示しています。
リクエスト
ヘッダー:
| キー | 値 | 説明 |
|---|---|---|
| Content-Type | application/json |
本文:
{
"ip_addrs": [
"34.211.11.0/24"
]
}
レスポンス: エラー : 入力パラメータでエージェントが見つかりません
{
"message": "cannot find any agent by input params"
}
ステータス コード: 400
エージェントの強制ログアウト ジョブ
このエンドポイントを使用すると、エージェントの強制ログアウト リクエストのステータスを取得できます。
{
"identifier": "string",
"email": "string",
"name": "string",
"phone": "string"
}
エンドポイント:
Method: GET
Type:
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout/jobs/:id
ヘッダー:
| キー | 値 | 説明 |
|---|---|---|
| id | 送信された強制ログアウト リクエストのジョブ ID。 |
リクエストとレスポンスの例
以降のセクションでは、エンドポイントに対するリクエストの例を示します。
正常に完了
この例では、正常に完了したジョブを取得する方法を示します。
リクエスト
ヘッダー:
| キー | 値 | 説明 |
|---|---|---|
| Content-Type | application/json |
クエリ:
Method: GET
Type:
URL: https://{subdomain}.{domain}/apps/api/v1/agent_statuses/force_logout/jobs/105
レスポンス
{
"id": 105,
"status": "completed"
}
ステータス コード: 200