메뉴 엔드포인트

메뉴는 상담사가 할당될 수 있는 대기열과 최종 사용자가 상담사에게 문의할 때 선택할 수 있는 옵션을 나타냅니다. 각 객체는 단일 메뉴를 나타냅니다.

메뉴 엔드포인트는 7개입니다.

  • /menu - 메뉴 목록을 가져옵니다.

  • /menu/tree - 최종 사용자가 에이전트에게 문의하는 데 사용하는 경로를 모방하는 트리 구조로 메뉴를 가져옵니다.

  • /menu/{:id} - 단일 메뉴 리소스를 가져옵니다.

  • /menu/current_status - 대기열에서 기다리는 소비자가 있는 메뉴의 현재 대기열 상태를 반환합니다.

  • /menu/sla - 지금부터 이전 지정된 분까지의 모든 메뉴 경로에 대한 SLA를 반환합니다.

  • /menu/sla_by_queue_group - 지금부터 이전에 지정된 분까지의 모든 대기열 그룹의 SLA를 반환합니다.

  • /menus/operation_hours - 메뉴의 영업시간을 반환합니다.

다음 모델을 참고하여 개인 식별 정보가 포함될 수 있는 필드를 확인하세요.

   {
    "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이면 페이지 1에 1~200이 포함되므로 응답에는 레코드 201~400이 포함됩니다.
/ FALSE 문자열 레코드 페이지에 포함될 레코드 수를 나타내는 페이지와 쌍을 이룹니다. 예를 들어 per이 200이고 page가 2이면 페이지 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 Array[String] 메뉴 유형에 따라 레코드를 반환합니다. 가능한 값: ivr_menu, mobile_menu, web_menu
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] 메뉴 유형에 따라 레코드를 반환합니다. 가능한 값: ivr_menu, mobile_menu, web_menu
lang FALSE 문자열 특정 언어 속성이 있는 레코드를 반환합니다. 가능한 값: en, es, fr, de

엔드포인트:

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

메뉴 현재 상태는 대기열에 추가된 통화 또는 채팅이 있는 모든 메뉴를 해당 대기열 항목의 기간에 관한 추가 데이터와 함께 반환합니다.

엔드포인트:

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

매개변수 필수 데이터 유형 정의
채널 TRUE 문자열 문자열. 허용되는 값: call, chat
TRUE 문자열 문자열. SLA를 계산할 때 현재부터 되돌아볼 시간(분)입니다. 예를 들어 값 15는 각 메뉴 경로에 대해 지난 15분 동안의 SLA를 요청합니다.

엔드포인트:

Method: GET
Type: 
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/sla

쿼리 매개변수:

설명
채널 {channel} 문자열. 허용되는 값: call, chat
{minutes} 문자열. SLA를 계산할 때 현재부터 되돌아볼 시간(분)입니다. 예를 들어 값 15는 각 메뉴 경로에 대해 지난 15분 동안의 SLA를 요청합니다.

요청/응답 예시 더보기:

요청 예시: 메뉴 SLA

질문:

설명
채널 {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

매개변수 필수 데이터 유형 정의
채널 TRUE 문자열 문자열. 허용되는 값: call, chat
TRUE 문자열 문자열. SLA를 계산할 때 현재부터 되돌아볼 시간(분)입니다. 예를 들어 값 15는 각 메뉴 경로에 대해 지난 15분 동안의 SLA를 요청합니다.

엔드포인트:

Method: GET
Type: 
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/menus/sla_by_queue_groups

쿼리 매개변수:

설명
채널 {channel} 문자열. 허용되는 값: call, chat
{minutes} 문자열. SLA를 계산할 때 현재부터 되돌아볼 시간(분)입니다. 예를 들어 값 15는 각 메뉴 경로에 대해 지난 15분 동안의 SLA를 요청합니다.

요청/응답 예시 더보기:

요청 예시: 대기열 그룹 SLA

질문:

설명
채널 {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