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"
}
}
}
]
}
Lista de menús
| 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
Árbol de menú
| 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
Estado actual de los menús
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
ANS del menú
| 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
Horario de atención del menú
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