メニューは、エージェントが割り当てられるキューと、エンドユーザーがエージェントに連絡する際に選択できるオプションを表します。各オブジェクトは 1 つのメニューを表します。
メニュー エンドポイントは 7 つあります。
/menu- メニューのリストを取得します。/menu/tree- エンドユーザーがエージェントに連絡するために使用するパスを模倣したツリー構造でメニューを取得します。/menu/{:id}- 単一のメニュー リソースを pull します。/menu/current_status- コンシューマーがキューで待機しているメニューの現在のキュー ステータスを返します。/menu/sla- 現在から指定された分数前までのすべてのメニューパスの SLA を返します。/menu/sla_by_queue_group- 現在から指定した分数前までのすべてのキューグループの SLA を返します。/menus/operation_hours- メニューの営業時間を返します。
次のモデルを参照して、PII が含まれている可能性のあるフィールドを特定します。
{
"id": 0,
"name": "string",
"parent_id": 0,
"position": 0,
"deleted": true,
"hidden": "string",
"menu_type": "ivr_menu",
"output_msg": "string",
"agent_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "chat",
"assignee": {
"id": 0,
"name": "string", // This may be considered PII
"last_name": "string", // This may be considered PII
"first_name": "string", // This may be considered PII
"agent_number": "string",
"avatar_url": "string"
}
}
],
"team_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "chat",
"team": {
"id": 0,
"name": "string",
"parent_id": 0,
"position": 0,
"deleted": true,
"agents_count": 0,
"assignees": {
"id": 0,
"name": "string", // This may be considered PII
"last_name": "string", // This may be considered PII
"first_name": "string", // This may be considered PII
"agent_number": "string",
"avatar_url": "string"
}
}
}
]
}
メニューリスト
| パラメータ | 必須 | データ型 | 定義 |
|---|---|---|---|
| sort_column | FALSE | 文字列 | レスポンス オブジェクトの任意のフィールドに基づいてレスポンスを並べ替えます。 |
| sort_direction | FALSE | ASC または DESC | 並べ替えの方向(昇順または降順)を示します。 |
| ページ | FALSE | 文字列 | per と組み合わせて、レコードのページを指定します。たとえば、per が 200 で page が 2 の場合、page 1 には 1 ~ 200 が含まれるため、レスポンスにはレコード 201 ~ 400 が含まれます。 |
| / | FALSE | 文字列 | page と組み合わせて、1 ページのレコードに含まれるレコード数を指定します。たとえば、per が 200 で page が 2 の場合、page 1 には 1 ~ 200 が含まれるため、レスポンスにはレコード 201 ~ 400 が含まれます。 |
| id[] | FALSE | Array[String] | Array[Strings]。検索して返すレコードの ID |
| name[] | FALSE | Array[String] | リソースの名前に基づいてレコードを返します。 |
| parent_id[] | FALSE | Array[String] | 指定されたレコードの親 ID に基づいてレコードを返します。 |
| position[] | FALSE | Array[String] | メニューの位置に基づいてレコードを返します。 |
| menu_type[] | FALSE | 文字列 | ツリーを返すメニュータイプ。角かっこなしで単一の値を渡します(例: menu_type=ivr_menu)。menu_type を省略すると、API はモバイル メニューツリーを返します。複数のメニュータイプを取得するには、タイプごとに 1 回ずつツリーをリクエストします。 |
| hidden[] | FALSE | ブール値 | 非表示になっているレコードを返す(True)か、非表示になっているレコードを含めない(False) |
| with_deleted | FALSE | ブール値 | 削除されたレコードを返す(True)か、削除されたレコードを含めない(False) |
エンドポイント:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus
リクエスト / レスポンスのその他の例:
リクエストの例: メニューリスト
本文: なし
レスポンスの例: メニューリスト
[
{
"id": 1693,
"name": "Death Star",
"parent_id": null,
"position": 0,
"deleted": false,
"menu_type": "ivr_menu",
"output_msg": "You have reached the Death Star",
"hidden": false,
"agent_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "voice_call",
"assignee": {
"id": 97,
"agent_number": 97,
"name": "Darth Vader",
"last_name": "Darth",
"first_name": "Vader"
}
},
{
"lang": "it",
"queue_level": "primary",
"channel_type": "voice_call",
"assignee": {
"id": 1407,
"agent_number": 123,
"name": "Moff Tarkin",
"last_name": "Moff",
"first_name": "Tarkin"
}
}
],
"team_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "voice_call",
"team": {
"id": 10,
"name": "Storm Troopers",
"parent_id": null,
"position": 1,
"agents_count": 48,
"deleted": false,
"assignees": [
{
"id": 1,
"agent_number": null,
"name": "Storm Troooper 1",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
},
{
"id": 2,
"agent_number": null,
"name": "Storm Troooper 2",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
},
{
"id": 3,
"agent_number": null,
"name": "Storm Troooper 3",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
}
]
}
}
]
}]
ステータス コード: 200
メニューツリー
| パラメータ | 必須 | データ型 | 定義 |
|---|---|---|---|
| menu_type | FALSE | Array[String] | メニューの種類に基づいてレコードを返します。menu_type[] はタイプごとに 1 回渡します(例: menu_type[]=ivr_menu&menu_type[]=web_menu)。1 つのタイプの場合でも、この配列形式を使用します。HTTP クライアントで必要な場合は、角かっこを menu_type%5B%5D としてエンコードします。menu_type[] を省略すると、API はすべてのタイプのメニューを返します。API はタイプ パラメータでフィルタしません。 |
| lang | FALSE | 文字列 | ツリーを返す言語。lang を省略すると、API は en ツリーを返します。複数の言語を取得するには、言語ごとに 1 回ツリーをリクエストします。 |
エンドポイント:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/tree
リクエスト / レスポンスのその他の例:
リクエストの例: メニューツリー
本文: なし
対応の例: メニューツリー
[
{
"id": 2029,
"name": "Mobile 1",
"parent_id": null,
"position": 0,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
},
{
"id": 2024,
"name": "Death Star Venting System",
"parent_id": null,
"position": 1,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
},
{
"id": 2025,
"name": "Droid Repair",
"parent_id": null,
"position": 2,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
},
{
"id": 2049,
"name": "Emperor's Hotline",
"parent_id": null,
"position": 3,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
},
{
"id": 2026,
"name": "Storm Trooper Armor",
"parent_id": null,
"position": 4,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": [
{
"id": 2036,
"name": "Armor Polishing Team",
"parent_id": 2026,
"position": 0,
"deleted": false,
"menu_type": "mobile_menu",
"output_msg": null,
"hidden": false,
"children": []
}
]
}]
ステータス コード: 200
単一のメニュー
| パラメータ | 必須 | データ型 | 定義 |
|---|---|---|---|
| record_id | FALSE | 文字列 | ID に基づいて特定のレコードを返します。 |
| with_deleted | FALSE | ブール値 | 削除されたレコードを返す(True)か、削除されたレコードを含めない(False) |
エンドポイント:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/{{menu_id}}
リクエスト / レスポンスのその他の例:
リクエストの例: 単一のメニュー
本文: なし
回答例: 単一のメニュー
[
{
"id": 1693,
"name": "Death Star",
"parent_id": null,
"position": 0,
"deleted": false,
"menu_type": "ivr_menu",
"output_msg": "You have reached the Death Star",
"hidden": false,
"agent_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "voice_call",
"assignee": {
"id": 97,
"agent_number": 97,
"name": "Darth Vader",
"last_name": "Darth",
"first_name": "Vader"
}
},
{
"lang": "it",
"queue_level": "primary",
"channel_type": "voice_call",
"assignee": {
"id": 1407,
"agent_number": 123,
"name": "Moff Tarkin",
"last_name": "Moff",
"first_name": "Tarkin"
}
}
],
"team_assignments": [
{
"lang": "en",
"queue_level": "primary",
"channel_type": "voice_call",
"team": {
"id": 10,
"name": "Storm Troopers",
"parent_id": null,
"position": 1,
"agents_count": 48,
"deleted": false,
"assignees": [
{
"id": 1,
"agent_number": null,
"name": "Storm Troooper 1",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
},
{
"id": 2,
"agent_number": null,
"name": "Storm Troooper 2",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
},
{
"id": 3,
"agent_number": null,
"name": "Storm Troooper 3",
"last_name": "Storm ",
"first_name": "Admin1",
"avatar_url": "https://subdomain.somedomain.com/data_uri_upload20171201-21853-1ijzccm.png"
}
]
}
}
]
}]
ステータス コード: 200
メニューの現在のステータス
[Menus Current Status](メニューの現在のステータス)では、キューに登録された通話またはチャットを含むすべてのメニューと、キューに登録されたアイテムの期間に関する追加データが返されます。
エンドポイント:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/current_status
リクエスト / レスポンスのその他の例:
リクエストの例: メニューの現在のステータス
本文: なし
レスポンスの例: メニューの現在のステータス
[
{
"menu_id": 10,
"lang": "en",
"menu_path_id": 5,
"menu_path": "zdco IVR Support/1 Day Shipping",
"comm_type": "Call",
"in_queue_count": 2,
"oldest_in_queue": "2021-05-10T22:17:21.000Z",
"oldest_duration_in_queue": 300,
"total_queue_duration": 400,
"average_queue_duration": 200
}
]
ステータス コード: 0
メニューの SLA
| パラメータ | 必須 | データ型 | 定義 |
|---|---|---|---|
| channel | TRUE | 文字列 | 文字列。指定できる値: call、chat |
| 分 | TRUE | 文字列 | 文字列。SLA を計算する際に、現在から遡る時間(分)。たとえば、値が 15 の場合、各メニューパスの過去 15 分間の SLA をリクエストします。 |
エンドポイント:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/sla
クエリ パラメータ:
| キー | 値 | 説明 |
|---|---|---|
| channel | {channel} | 文字列。指定できる値: call、chat |
| 分 | {minutes} | 文字列。SLA を計算する際に、現在から遡る時間(分)。たとえば、値が 15 の場合、各メニューパスの過去 15 分間の SLA をリクエストします。 |
リクエスト / レスポンスのその他の例:
リクエストの例: メニューの SLA
クエリ:
| キー | 値 | 説明 |
|---|---|---|
| channel | {channel} | 文字列。指定できる値: call、chat |
| 分 | {minutes} | 文字列。SLA を計算する際に、現在から遡る時間(分)。たとえば、値が 15 の場合、各メニューパスの過去 15 分間の SLA をリクエストします。 |
本文: なし
対応例: メニューの SLA
[
{
"menu_path_id": 100,
"lang": "en",
"menu_path": "Support/1 Day Shipping",
"sla": 96.5
},
{
"menu_path_id": 100,
"lang": "es",
"menu_path": "Support/1 Day Shipping Spanish",
"sla": 99.0
},
{
"menu_path_id": 101,
"lang": "en",
"menu_path": "Support/3 Day Shipping",
"sla": 0.0
}
]
ステータス コード: 200
キューグループの SLA
| パラメータ | 必須 | データ型 | 定義 |
|---|---|---|---|
| channel | TRUE | 文字列 | 文字列。指定できる値: call、chat |
| 分 | TRUE | 文字列 | 文字列。SLA を計算する際に、現在から遡る時間(分)。たとえば、値が 15 の場合、各メニューパスの過去 15 分間の SLA をリクエストします。 |
エンドポイント:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/sla_by_queue_groups
クエリ パラメータ:
| キー | 値 | 説明 |
|---|---|---|
| channel | {channel} | 文字列。指定できる値: call、chat |
| 分 | {minutes} | 文字列。SLA を計算する際に、現在から遡る時間(分)。たとえば、値が 15 の場合、各メニューパスの過去 15 分間の SLA をリクエストします。 |
リクエスト / レスポンスのその他の例:
リクエストの例: キューグループの SLA
クエリ:
| キー | 値 | 説明 |
|---|---|---|
| channel | {channel} | 文字列。指定できる値: call、chat |
| 分 | {lminutes} | 文字列。SLA を計算する際に、現在から遡る時間(分)。たとえば、値が 15 の場合、各メニューパスの過去 15 分間の SLA をリクエストします。 |
本文: なし
回答例: キューグループの SLA
[
{
"queue_group_id": 20,
"queue_group_name": "Shipping",
"sla": null
},
{
"queue_group_id": 24,
"queue_group_name": "Customer Support",
"sla": 99.2
},
{
"queue_group_id": 29,
"queue_group_name": "Escalations",
"sla": 98.3
}
]
ステータス コード: 200
メニューの営業時間
エンドポイント:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/operation_hours
クエリ パラメータ: なし
リクエスト / レスポンスのその他の例:
リクエストの例: メニューの営業時間
クエリ: なし
本文: なし
レスポンスの例: メニューの営業時間
[
{
"created_at": "2020-07-31T03:08:29.000Z",
"fri_end_time": 86400,
"fri_start_time": 0,
"holidays": [],
"id": 1,
"mon_end_time": 86400,
"mon_start_time": 0,
"sat_end_time": 86400,
"sat_start_time": 0,
"sun_end_time": 86400,
"sun_start_time": 0,
"thu_end_time": 86400,
"thu_start_time": 0,
"time_zone": "Africa/Cairo",
"tue_end_time": 86400,
"tue_start_time": 0,
"updated_at": "2021-03-24T13:23:43.000Z",
"wed_end_time": 86400,
"wed_start_time": 0
},
{
"created_at": "2022-08-01T11:33:21.000Z",
"fri_end_time": 28800,
"fri_start_time": 21600,
"holidays": [],
"id": 2,
"mon_end_time": 28800,
"mon_start_time": 21600,
"sat_end_time": 0,
"sat_start_time": 0,
"sun_end_time": 0,
"sun_start_time": 0,
"thu_end_time": 28800,
"thu_start_time": 21600,
"time_zone": "Europe/Helsinki",
"tue_end_time": 28800,
"tue_start_time": 21600,
"updated_at": "2022-11-09T10:47:20.000Z",
"wed_end_time": 28800,
"wed_start_time": 21600
}
]
ステータス コード: 200