Endpoint del menu

I menu rappresentano una coda a cui può essere assegnato un agente e le opzioni che un utente finale può selezionare quando contatta un agente. Ogni oggetto rappresenta un singolo menu.

Esistono sette endpoint del menu:

  • /menu: estrae un elenco di menu.

  • /menu/tree: estrae i menu in una struttura ad albero, che imita il percorso che un utente finale utilizzerebbe per contattare un agente.

  • /menu/{:id}: estrae una singola risorsa del menu.

  • /menu/current_status: restituisce lo stato attuale della coda per i menu con consumatori in attesa.

  • /menu/sla: restituisce uno SLA per tutti i percorsi di menu da ora fino al numero di minuti specificato in precedenza.

  • /menu/sla_by_queue_group: restituisce uno SLA per tutti i gruppi di code da ora al numero di minuti specificato in precedenza.

  • /menus/operation_hours: restituisce l'orario di apertura del menu.

Consulta il seguente modello per determinare quali campi potrebbero contenere 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"
          }
        }
      }
    ]
  }
Parametro Obbligatorio Tipo di dati Definizione
sort_column FALSE Stringa Ordina la risposta in base a qualsiasi campo nell'oggetto della risposta.
sort_direction FALSE ASC o DESC Indica la direzione dell'ordinamento, crescente o decrescente
pagina FALSE Stringa Si abbina a per per indicare la pagina dei record. Ad esempio, se per è impostato su 200 e page su 2, la risposta conterrà i record 201-400, poiché la pagina 1 conterrà i record 1-200.
per FALSE Stringa Si accoppia con page per indicare quanti record devono essere inclusi in una pagina di record. Ad esempio, se per è impostato su 200 e page su 2, la risposta conterrà i record 201-400, poiché la pagina 1 conterrà i record 1-200.
id[] FALSE Array[String] Array[Stringhe]. ID dei record da cercare e restituire
name[] FALSE Array[String] Restituisce i record in base al nome della risorsa.
parent_id[] FALSE Array[String] Restituisce i record in base all'ID padre dei record specificati
position[] FALSE Array[String] Restituisce i record in base alla posizione di un menu
menu_type[] FALSE Stringa Il tipo di menu di cui restituire l'albero. Passa un singolo valore senza parentesi, ad esempio menu_type=ivr_menu. Se ometti menu_type, l'API restituisce l'albero dei menu per dispositivi mobili. Per recuperare più di un tipo di menu, richiedi l'albero una volta per ogni tipo.
hidden[] FALSE Booleano Restituisce i record che sono stati nascosti (True) o non include i record che sono stati nascosti (False)
with_deleted FALSE Booleano Restituisce i record che sono stati eliminati (True) o non include i record che sono stati eliminati (False)

Endpoint:

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

Altri esempi di richieste/risposte:

Esempio di richiesta: elenco dei menu

Corpo: nessuno

Esempio di risposta: elenco di menu

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

Codice di stato: 200

Parametro Obbligatorio Tipo di dati Definizione
menu_type FALSE Array[String] Restituisce i record in base al tipo di menu. Passa menu_type[] una volta per tipo, ad esempio menu_type[]=ivr_menu&menu_type[]=web_menu, e utilizza questo formato di array anche per un singolo tipo. Se il tuo client HTTP lo richiede, codifica le parentesi come menu_type%5B%5D. Se ometti menu_type[], l'API restituisce menu di ogni tipo. L'API non filtra in base a un parametro di tipo.
lang FALSE Stringa La lingua di cui restituire l'albero. Se ometti lang, l'API restituisce l'albero en. Per recuperare più di una lingua, richiedi l'albero una volta per ogni lingua.

Endpoint:

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

Altri esempi di richieste/risposte:

Esempio di richiesta: albero dei menu

Corpo: nessuno

Esempio di risposta: albero dei menu

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

Codice di stato: 200

Menu singolo

Parametro Obbligatorio Tipo di dati Definizione
record_id FALSE Stringa Restituisce un record specifico in base all'ID
with_deleted FALSE Booleano Restituisce i record che sono stati eliminati (True) o non include i record che sono stati eliminati (False)

Endpoint:

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

Altri esempi di richieste/risposte:

Esempio di richiesta: menu singolo

Corpo: nessuno

Esempio di risposta: menu singolo

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

Codice di stato: 200

Stato attuale dei menu restituisce tutti i menu con chiamate o chat in coda con dati aggiuntivi sulla durata di questi elementi in coda.

Endpoint:

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

Altri esempi di richieste/risposte:

Esempio di richiesta: stato attuale dei menu

Corpo: nessuno

Esempio di risposta: stato attuale dei menu

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

Codice di stato: 0

Parametro Obbligatorio Tipo di dati Definizione
canale VERO Stringa Stringa. Valori accettati: call, chat
minuti VERO Stringa Stringa. Il numero di minuti da considerare a partire da ora per il calcolo dello SLA. Ad esempio, un valore pari a 15 richiederebbe lo SLA per gli ultimi 15 minuti per ogni percorso di menu

Endpoint:

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

Parametri di query:

Chiave Valore Descrizione
canale {channel} Stringa. Valori accettati: call, chat
minuti {minutes} Stringa. Il numero di minuti da considerare a partire da ora per il calcolo dello SLA. Ad esempio, un valore pari a 15 richiederebbe lo SLA per gli ultimi 15 minuti per ogni percorso di menu

Altri esempi di richieste/risposte:

Esempio di richiesta: SLA del menu

Query:

Chiave Valore Descrizione
canale {channel} Stringa. Valori accettati: call, chat
minuti {minutes} Stringa. Il numero di minuti da considerare a partire da ora per il calcolo dello SLA. Ad esempio, un valore pari a 15 richiederebbe lo SLA per gli ultimi 15 minuti per ogni percorso di menu

Corpo: nessuno

Esempio di risposta: SLA del menu

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

Codice di stato: 200

SLA dei gruppi di code

Parametro Obbligatorio Tipo di dati Definizione
canale VERO Stringa Stringa. Valori accettati: call, chat
minuti VERO Stringa Stringa. Il numero di minuti da considerare a partire da ora per il calcolo dello SLA. Ad esempio, un valore pari a 15 richiederebbe lo SLA per gli ultimi 15 minuti per ogni percorso di menu

Endpoint:

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

Parametri di query:

Chiave Valore Descrizione
canale {channel} Stringa. Valori accettati: call, chat
minuti {minutes} Stringa. Il numero di minuti da considerare a partire da ora per il calcolo dello SLA. Ad esempio, un valore pari a 15 richiederebbe lo SLA per gli ultimi 15 minuti per ogni percorso di menu

Altri esempi di richieste/risposte:

Esempio di richiesta: SLA per i gruppi di code

Query:

Chiave Valore Descrizione
canale {channel} Stringa. Valori accettati: call, chat
minuti {lminutes} Stringa. Il numero di minuti da considerare a partire da ora per il calcolo dello SLA. Ad esempio, un valore pari a 15 richiederebbe lo SLA per gli ultimi 15 minuti per ogni percorso di menu

Corpo: nessuno

Esempio di risposta: SLA dei gruppi di coda

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

Codice di stato: 200

Endpoint:

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

Parametri di query: nessuno

Altri esempi di richieste/risposte:

Esempio di richiesta: orario di apertura del menu

Query: None

Corpo: nessuno

Esempio di risposta: orario di apertura del menu

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

Codice di stato: 200