Extremos del menú

Los menús representan una cola a la que se puede asignar un agente y las opciones que un usuario final puede seleccionar cuando se comunica con un agente. Cada objeto representa un solo menú.

Existen siete extremos de menú:

  • /menu: Recupera una lista de menús.

  • /menu/tree: Extrae menús en una estructura de árbol, que imita la ruta que un usuario final usaría para comunicarse con un agente.

  • /menu/{:id}: Recupera un solo recurso de menú.

  • /menu/current_status: Devuelve el estado actual de la fila para los menús con consumidores en espera.

  • /menu/sla: Muestra un ANS para todas las rutas de menú desde ahora hasta la cantidad de minutos especificada anteriormente.

  • /menu/sla_by_queue_group: Muestra un ANS para todos los grupos de colas desde ahora hasta la cantidad de minutos especificada anteriormente.

  • /menus/operation_hours: Devuelve el horario de atención del menú.

Consulta el siguiente modelo para determinar qué campos podrían contener 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"
          }
        }
      }
    ]
  }
Parámetro Obligatorio Tipo de datos Definición
sort_column FALSO String Ordena la respuesta según cualquier campo del objeto de respuesta.
sort_direction FALSO ASC o DESC Indica la dirección de la clasificación, ya sea ascendente o descendente.
página FALSO String Se combina con per para indicar qué página de registros. Por ejemplo, si per se establece en 200 y page en 2, la respuesta contendrá los registros del 201 al 400, ya que la página 1 contendrá del 1 al 200.
por FALSO String Se empareja con la página para indicar cuántos registros se incluirían en una página de registros. Por ejemplo, si per se establece en 200 y page en 2, la respuesta contendrá los registros del 201 al 400, ya que la página 1 contendrá del 1 al 200.
id[] FALSO Array[String] Es un array de cadenas. Es el ID de los registros que se buscarán y devolverán.
nombre[] FALSO Array[String] Devuelve registros según el nombre del recurso.
parent_id[] FALSO Array[String] Devuelve registros según el ID principal de los registros proporcionados.
position[] FALSO Array[String] Devuelve registros según la posición en la que se encuentra un menú.
menu_type[] FALSO Array[String] Devuelve registros según el tipo de menú. Valores posibles: ivr_menu, mobile_menu, web_menu
hidden[] FALSO Booleano Devuelve los registros que se ocultaron (verdadero) o no incluye los registros que se ocultaron (falso).
with_deleted FALSO Booleano Devuelve los registros que se borraron (verdadero) o no incluye los registros que se borraron (falso).

Endpoint:

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

Más ejemplos de solicitudes y respuestas:

Solicitud de ejemplo: Lista de menús

Cuerpo: Ninguno

Ejemplo de respuesta: Lista de menús

[
    {
        "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"
                        }
                    ]
                }
            }
        ]
    }]

Código de estado: 200

Parámetro Obligatorio Tipo de datos Definición
menu_type FALSO Array[String] Devuelve registros según el tipo de menú. Valores posibles: ivr_menu, mobile_menu, web_menu
lang FALSO String Devuelve registros que tienen una propiedad de idioma específica. Valores posibles: en, es, fr, de

Endpoint:

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

Más ejemplos de solicitudes y respuestas:

Ejemplo de solicitud: Árbol de menú

Cuerpo: Ninguno

Ejemplo de respuesta: Árbol del menú

[
    {
        "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": []
            }
        ]
    }]

Código de estado: 200

Menú único

Parámetro Obligatorio Tipo de datos Definición
record_id FALSO String Devuelve un registro específico según el ID
with_deleted FALSO Booleano Devuelve los registros que se borraron (verdadero) o no incluye los registros que se borraron (falso).

Endpoint:

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

Más ejemplos de solicitudes y respuestas:

Ejemplo de solicitud: Menú único

Cuerpo: Ninguno

Ejemplo de respuesta: Menú único

[
    {
        "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"
                        }
                    ]
                }
            }
        ]
    }]

Código de estado: 200

El estado actual de los menús devuelve todos los menús con llamadas o chats en cola con datos adicionales sobre las duraciones de esos elementos en cola.

Endpoint:

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

Más ejemplos de solicitudes y respuestas:

Solicitud de ejemplo: Estado actual de los menús

Cuerpo: Ninguno

Ejemplo de respuesta: Estado actual de los menús

[
    {
        "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
    }
]

Código de estado: 0

Parámetro Obligatorio Tipo de datos Definición
canal TRUE String String. Valores aceptados: call, chat
minutos TRUE String String. Cantidad de minutos que se deben tener en cuenta a partir de ahora cuando se calcula el ANS. Por ejemplo, un valor de 15 solicitaría el ANS de los últimos 15 minutos para cada ruta de menú.

Endpoint:

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

Parámetros de consulta:

Clave Valor Descripción
canal {channel} String. Valores aceptados: call, chat
minutos {minutes} String. Cantidad de minutos que se deben tener en cuenta a partir de ahora cuando se calcula el ANS. Por ejemplo, un valor de 15 solicitaría el ANS de los últimos 15 minutos para cada ruta de menú.

Más ejemplos de solicitudes y respuestas:

Solicitud de ejemplo: ANS del menú

Consulta:

Clave Valor Descripción
canal {channel} String. Valores aceptados: call, chat
minutos {minutes} String. Cantidad de minutos que se deben tener en cuenta a partir de ahora cuando se calcula el ANS. Por ejemplo, un valor de 15 solicitaría el ANS de los últimos 15 minutos para cada ruta de menú.

Cuerpo: Ninguno

Ejemplo de respuesta: ANS del menú

[
    {
        "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
    }
]

Código de estado: 200

ANS de los grupos de filas

Parámetro Obligatorio Tipo de datos Definición
canal TRUE String String. Valores aceptados: call, chat
minutos TRUE String String. Cantidad de minutos que se deben tener en cuenta a partir de ahora cuando se calcula el ANS. Por ejemplo, un valor de 15 solicitaría el ANS de los últimos 15 minutos para cada ruta de menú.

Endpoint:

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

Parámetros de consulta:

Clave Valor Descripción
canal {channel} String. Valores aceptados: call, chat
minutos {minutes} String. Cantidad de minutos que se deben tener en cuenta a partir de ahora cuando se calcula el ANS. Por ejemplo, un valor de 15 solicitaría el ANS de los últimos 15 minutos para cada ruta de menú.

Más ejemplos de solicitudes y respuestas:

Ejemplo de solicitud: ANS de grupos de filas

Consulta:

Clave Valor Descripción
canal {channel} String. Valores aceptados: call, chat
minutos {lminutes} String. Cantidad de minutos que se deben tener en cuenta a partir de ahora cuando se calcula el ANS. Por ejemplo, un valor de 15 solicitaría el ANS de los últimos 15 minutos para cada ruta de menú.

Cuerpo: Ninguno

Ejemplo de respuesta: ANS de grupos de filas

[
    {
        "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
    }
]

Código de estado: 200

Endpoint:

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

Parámetros de consulta: Ninguno

Más ejemplos de solicitudes y respuestas:

Ejemplo de solicitud: Horario de atención del menú

Consulta: Ninguna

Cuerpo: Ninguno

Ejemplo de respuesta: Horario de atención del menú

[
    {
        "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
    }
]

Código de estado: 200