Guida all’utilizzo delle API di operation
Informazioni preliminari
Il formato supportato per le richieste e le risposte per tutte le API di operation è JSON
, devono quindi essere impostati gli header Content-Type
ed Accept
al valore application/json
.
/rest/operation/{serviceName}/{key}
Tramite questa API è possibile agire sulle impostazioni operative di vari servizi, sia in lettura con il verbo GET, sia in scrittura con il verbo POST, sia in cancellazione con il verbo DELETE.
Parametri
Nome |
Obbligatorio |
Descrizione |
---|---|---|
serviceName |
si |
I valori ammessi per questo parametro sono: |
key |
si |
L’interno sul quale si vuole operare. Gli utenti che hanno un ruolo che permette il livello di accesso di scrittura o lettura sull’azione SERVICE_OPERATION possono operare senza restrizioni su tutti gli interni del PBX, mentre gli utenti standard del tenant (o utenti il cui ruolo ha livello di accesso nessuno o lista sull’azione SERVICE_OPERATION) possono operare solamente sul proprio interno. |
Body della richiesta
Il body dovrà essere
{
"operationData": "valore"
}
Maggiori dettagli sui valori ammessi sono forniti nel dettaglio di ciascun servizio.
Body della risposta
La struttura di base della risposta (per le richieste GET
e POST
) è comune a tutti i servizi ed è la seguente
{
"tenantUuid": "tenentUuid",
"serviceName": "serviceName",
"key": "key",
"operationData": serviceData
}
Le richieste DELETE
invece non prevedono body di risposta.
Maggiori dettagli sul valore di operationData
sono forniti nel dettaglio di ciascun servizio.
Codici di risposta
Codice HTTP |
Descrizione |
---|---|
200 |
Nessun errore, la richiesta è stata eseguita correttamente |
400 |
Solamente in caso di |
403 |
L’utente che ha effettuato la richiesta non ha i privilegi necessari. Questo si verifica quando si verificano entrambe le seguenti condizioni. |
Servizio BUSYLEVEL
GET /rest/operation/BUSYLEVEL/{key}
Questa API permette di conoscere l’attuale valore di livello di occupato impostato per un certo interno, il parametro key
nel path. Supponendo di voler ottenere lo stato operativo corrente del livello di occupato per l’interno 101, l’API da invocare sarà
GET https://<PBX address>/rest/operation/BUSYLEVEL/101
La risposta avrà la struttura seguente
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "BUSYLEVEL",
"key": "101",
"operationData": false
}
Il valore di operationData
restituito può essere sia il valore booleano false
, che sta ad indicare l’assenza di un’impostazione operativa per il livello di occupato, sia il numero intero precedentemente impostato tramite l’API POST
.
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "BUSYLEVEL",
"key": "101",
"operationData": 1
}
NOTA: In assenza di un’impstazione operativa il livello di occupato per l’intero sarà quello impostato nel template associato all’interno, oppure - in caso di override abilitato per il livello di occupato - quello impostato nell’interno.
Quando il valore di operationData
è 0
significa che il livello di occupato è impostato ad infinito.
POST /rest/operation/BUSYLEVEL/{key}
Questa API permette di impostare il valore di livello di occupato per un certo interno, il parametro key
nel path. Supponendo di voler impostare il livello di occupato per l’interno 101 ad 1
, l’API da invocare sarà
POST https://<PBX address>/rest/operation/BUSYLEVEL/101
Il body della richiesta dovrà essere
{
"operationData": 1
}
NOTA: Il valore di
operationData
può essere anche una stringa, ma questa deve necessariamente contenere un numero intero altrimenti verrà restituita una risposta 400.
Body valido:{ "operationData": "1" }body non valido:
{ "operationData": "uno" }
Il formato del body restituito dall’API di POST
è lo stesso della GET
, il valore di operationData
nella risposta rifletterà quello presente nella richiesta a riscontro dell’avvenuta modifica.
DELETE /rest/operation/BUSYLEVEL/{key}
Questa API permette di cancellare l’impostazione operativa per il livello di occupato impostato per un certo interno, il parametro key
nel path. Supponendo di voler cancellare il livello di occupato impostato per l’interno 101, l’API da invocare sarà
DELETE https://<PBX address>/rest/operation/BUSYLEVEL/101
Servizio CFBS
GET /rest/operation/CFBS/{key}
Questa API permette di conoscere l’attuale impostazione operativa di inoltro su occupato per un certo interno, il parametro key
nel path. Supponendo di voler ottenere lo stato operativo corrente per l’interno 101, l’API da invocare sarà
GET https://<PBX address>/rest/operation/CFBS/101
La risposta avrà la struttura seguente
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "CFBS",
"key": "101",
"operationData": false
}
Il valore di operationData
restituito può essere sia il valore booleano false
, che sta ad indicare la disabilitazione del servizio, sia una stringa contenente il numero impostato per l’inoltro.
Risposta in caso di inoltro impostato
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "CFBS",
"key": "101",
"operationData": "102"
}
POST /rest/operation/CFBS/{key}
Questa API permette di impostare il numero al quale inoltrare la chiamata in caso di occupato per un certo interno, il parametro key
nel path. Supponendo di voler impostare l’inoltro per l’interno 101 verso l’interno 102, l’API da invocare sarà
POST https://<PBX address>/rest/operation/CFBS/101
NOTA: Per questo servizio, il valore da impostare deve essere una sequenza arbitraria di cifre decimali racchiusa tra doppi apici. Questo accorgimento è fondamentale per poter impostare inoltri verso numerazioni che iniziano con lo
0
. Se il dato fosse trattato come numero intero questo non sarebbe possibile.
Dovendo essere interpretato come stringa, il dato stesso deve essere racchiuso tra caratteri"
(doppio apice) di cui dovrà essere fatto l’escape.
Il body della richiesta dovrà essere
{
"operationData": "\"102\""
}
Il formato del body restituito dall’API di POST
è lo stesso della GET
, il valore di operationData
nella risposta rifletterà quello presente nella richiesta a riscontro dell’avvenuta modifica.
DELETE /rest/operation/CFBS/{key}
Questa API permette di cancellare l’impostazione operativa per l’inoltro su occupato impostato per un certo interno, il parametro key
nel path. Supponendo di voler cancellare l’inoltro impostato per l’interno 101, l’API da invocare sarà
DELETE https://<PBX address>/rest/operation/CFBS/101
Servizio CFIM
GET /rest/operation/CFIM/{key}
Questa API permette di conoscere l’attuale impostazione operativa di inoltro incondizionato per un certo interno, il parametro key
nel path. Supponendo di voler ottenere lo stato operativo corrente per l’interno 101, l’API da invocare sarà
GET https://<PBX address>/rest/operation/CFIM/101
La risposta avrà la struttura seguente
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "CFIM",
"key": "101",
"operationData": false
}
Il valore di operationData
restituito può essere sia il valore booleano false
, che sta ad indicare la disabilitazione del servizio, sia una stringa contenente il numero impostato per l’inoltro.
Risposta in caso di inoltro impostato
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "CFIM",
"key": "101",
"operationData": "102"
}
POST /rest/operation/CFIM/{key}
Questa API permette di impostare il numero al quale inoltrare la chiamata in maniera incondizionata per un certo interno, il parametro key
nel path. Supponendo di voler impostare l’inoltro per l’interno 101 verso l’interno 102, l’API da invocare sarà
POST https://<PBX address>/rest/operation/CFIM/101
NOTA: Per questo servizio, il valore da impostare deve essere una sequenza arbitraria di cifre decimali racchiusa tra doppi apici. Questo accorgimento è fondamentale per poter impostare inoltri verso numerazioni che iniziano con lo
0
. Se il dato fosse trattato come numero intero questo non sarebbe possibile.
Dovendo essere interpretato come stringa, il dato stesso deve essere racchiuso tra caratteri"
(doppio apice) di cui dovrà essere fatto l’escape.
Il body della richiesta dovrà essere
{
"operationData": "\"102\""
}
Il formato del body restituito dall’API di POST
è lo stesso della GET
, il valore di operationData
nella risposta rifletterà quello presente nella richiesta a riscontro dell’avvenuta modifica.
DELETE /rest/operation/CFIM/{key}
Questa API permette di cancellare l’impostazione operativa per l’inoltro incondizionato impostato per un certo interno, il parametro key
nel path. Supponendo di voler cancellare l’inoltro impostato per l’interno 101, l’API da invocare sarà
DELETE https://<PBX address>/rest/operation/CFIM/101
Servizio CFNA
GET /rest/operation/CFNA/{key}
Questa API permette di conoscere l’attuale impostazione operativa di inoltro su non risposta per un certo interno, il parametro key
nel path. Supponendo di voler ottenere lo stato operativo corrente per l’interno 101, l’API da invocare sarà
GET https://<PBX address>/rest/operation/CFNA/101
La risposta avrà la struttura seguente
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "CFNA",
"key": "101",
"operationData": false
}
Il valore di operationData
restituito può essere sia il valore booleano false
, che sta ad indicare la disabilitazione del servizio, sia una stringa contenente il numero impostato per l’inoltro.
Risposta in caso di inoltro impostato
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "CFNA",
"key": "101",
"operationData": "102"
}
POST /rest/operation/CFNA/{key}
Questa API permette di impostare il numero al quale inoltrare la chiamata in caso di non risposta per un certo interno, il parametro key
nel path. Supponendo di voler impostare l’inoltro per l’interno 101 verso l’interno 102, l’API da invocare sarà
POST https://<PBX address>/rest/operation/CFNA/101
NOTA: Per questo servizio, il valore da impostare deve essere una sequenza arbitraria di cifre decimali racchiusa tra doppi apici. Questo accorgimento è fondamentale per poter impostare inoltri verso numerazioni che iniziano con lo
0
. Se il dato fosse trattato come numero intero questo non sarebbe possibile.
Dovendo essere interpretato come stringa, il dato stesso deve essere racchiuso tra caratteri"
(doppio apice) di cui dovrà essere fatto l’escape.
Il body della richiesta dovrà essere
{
"operationData": "\"102\""
}
Il formato del body restituito dall’API di POST
è lo stesso della GET
, il valore di operationData
nella risposta rifletterà quello presente nella richiesta a riscontro dell’avvenuta modifica.
DELETE /rest/operation/CFNA/{key}
Questa API permette di cancellare l’impostazione operativa per l’inoltro su non risposta impostato per un certo interno, il parametro key
nel path. Supponendo di voler cancellare l’inoltro impostato per l’interno 101, l’API da invocare sarà
DELETE https://<PBX address>/rest/operation/CFNA/101
Servizio CFUN
GET /rest/operation/CFUN/{key}
Questa API permette di conoscere l’attuale impostazione operativa di inoltro su non disponibile per un certo interno, il parametro key
nel path. Supponendo di voler ottenere lo stato operativo corrente per l’interno 101, l’API da invocare sarà
GET https://<PBX address>/rest/operation/CFUN/101
La risposta avrà la struttura seguente
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "CFUN",
"key": "101",
"operationData": false
}
Il valore di operationData
restituito può essere sia il valore booleano false
, che sta ad indicare la disabilitazione del servizio, sia una stringa contenente il numero impostato per l’inoltro.
Risposta in caso di inoltro impostato
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "CFUN",
"key": "101",
"operationData": "102"
}
POST /rest/operation/CFUN/{key}
Questa API permette di impostare il numero al quale inoltrare la chiamata in caso di non disponibile per un certo interno, il parametro key
nel path. Supponendo di voler impostare l’inoltro per l’interno 101 verso l’interno 102, l’API da invocare sarà
POST https://<PBX address>/rest/operation/CFUN/101
NOTA: Per questo servizio, il valore da impostare deve essere una sequenza arbitraria di cifre decimali racchiusa tra doppi apici. Questo accorgimento è fondamentale per poter impostare inoltri verso numerazioni che iniziano con lo
0
. Se il dato fosse trattato come numero intero questo non sarebbe possibile.
Dovendo essere interpretato come stringa, il dato stesso deve essere racchiuso tra caratteri"
(doppio apice) di cui dovrà essere fatto l’escape.
Il body della richiesta dovrà essere
{
"operationData": "\"102\""
}
Il formato del body restituito dall’API di POST
è lo stesso della GET
, il valore di operationData
nella risposta rifletterà quello presente nella richiesta a riscontro dell’avvenuta modifica.
DELETE /rest/operation/CFUN/{key}
Questa API permette di cancellare l’impostazione operativa per l’inoltro su non disponibile impostato per un certo interno, il parametro key
nel path. Supponendo di voler cancellare l’inoltro impostato per l’interno 101, l’API da invocare sarà
DELETE https://<PBX address>/rest/operation/CFUN/101
Servizio DND
GET /rest/operation/DND/{key}
Questa API permette di conoscere l’attuale impostazione operativa del «non disturbare» per un certo interno, il parametro key
nel path. Supponendo di voler ottenere lo stato operativo corrente per l’interno 101, l’API da invocare sarà
GET https://<PBX address>/rest/operation/DND/101
La risposta avrà la struttura seguente
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "DND",
"key": "101",
"operationData": false
}
Il valore di operationData
restituito sarà un boolean, false
che indica la disabilitazione del servizio, e true
che indica l’abilitazione del servizio.
POST /rest/operation/DND/{key}
Questa API permette di abilitare/disabilitare il «non disturbare» per un certo interno, il parametro key
nel path. Supponendo di voler abilitare il servizio per l’interno 101, l’API da invocare sarà
POST https://<PBX address>/rest/operation/DND/101
NOTA: Per questo servizio il valore da impostare deve essere il valore booleano
true
ofalse
, ma questo deve essere racchiuso tra doppi apici (diventando di fatto una stringa).
Il body della richiesta dovrà essere
{
"operationData": "true"
}
Il formato del body restituito dall’API di POST
è lo stesso della GET
, il valore di operationData
nella risposta rifletterà quello presente nella richiesta a riscontro dell’avvenuta modifica.
DELETE /rest/operation/DND/{key}
Questa API permette di cancellare l’impostazione operativa del «non disturbare» impostato per un certo interno, il parametro key
nel path. Supponendo di voler cancellare l’impostazione fatta per l’interno 101, l’API da invocare sarà
DELETE https://<PBX address>/rest/operation/DND/101
Servizio FORKMOBILE
GET /rest/operation/FORKMOBILE/{key}
Questa API permette di conoscere l’attuale impostazione operativa del fork delle chiamate verso il numero mobile per un certo interno, il parametro key
nel path. Supponendo di voler ottenere lo stato operativo corrente per l’interno 101, l’API da invocare sarà
GET https://<PBX address>/rest/operation/FORKMOBILE/101
La risposta avrà la struttura seguente
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "FORKMOBILE",
"key": "101",
"operationData": false
}
Il valore di operationData
restituito sarà un boolean, false
che indica la disabilitazione del servizio, e true
che indica l’abilitazione del servizio.
POST /rest/operation/FORKMOBILE/{key}
Questa API permette di abilitare/disabilitare il fork delle chiamate verso il numero mobile per un certo interno, il parametro key
nel path. Supponendo di voler abilitare il servizio per l’interno 101, l’API da invocare sarà
POST https://<PBX address>/rest/operation/FORKMOBILE/101
NOTA: Per questo servizio il valore da impostare deve essere il valore booleano
true
ofalse
, ma questo deve essere racchiuso tra doppi apici (diventando di fatto una stringa).
Il body della richiesta dovrà essere
{
"operationData": "true"
}
Il formato del body restituito dall’API di POST
è lo stesso della GET
, il valore di operationData
nella risposta rifletterà quello presente nella richiesta a riscontro dell’avvenuta modifica.
DELETE /rest/operation/FORKMOBILE/{key}
Questa API permette di cancellare l’impostazione operativa del fork delle chiamate verso il numero mobile impostato per un certo interno, il parametro key
nel path. Supponendo di voler cancellare l’impostazione fatta per l’interno 101, l’API da invocare sarà
DELETE https://<PBX address>/rest/operation/FORKMOBILE/101
Servizio EXTEN_HUNTING
GET /rest/operation/EXTEN_HUNTING/{key}
Questa API permette di conoscere l’attuale impostazione operativa dell’ordine di distribuzione della chiamata ai vari account associati all’interno (di seguito «hunting» per semplicità) per un certo interno, il parametro key
nel path. Supponendo di voler ottenere lo stato operativo corrente per l’interno 101, l’API da invocare sarà
GET https://<PBX address>/rest/operation/EXTEN_HUNTING/101
La risposta avrà la struttura seguente
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "EXTEN_HUNTING",
"key": "101",
"operationData": [
{
"priority": 1,
"accounts": [
{
"id": 1
},
{
"id": 6
},
{
"id": 7
}
]
}
]
}
Il valore di operationData
restituito sarà un array di oggetti JSON con attributi priority
ed accounts
. accounts
a sua volta è un array di oggetti JSON con solamente l’attributo id
, ovvero l’id dell’account.
Nell’esempio riportato sopra si vede che gli account con id 1
, 6
e 7
sono tutti inseriti nella priorità 1
, ciò significa che al ricevimento di una chiamata questa verrà presentata contemporaneamente a tutti e tre gli account e questi squilleranno in contemporanea.
{
"tenantUuid": "07cb1c92-029a-493d-a036-9d518185c598",
"serviceName": "EXTEN_HUNTING",
"key": "101",
"operationData": [
{
"priority": 1,
"accounts": [
{
"id": 1
}
]
},
{
"priority": 2,
"accounts": [
{
"id": 6
},
{
"id": 7
}
]
}
]
}
In questo secondo esempio sono invece presenti due priorità, nella prima è presente solamente l’account con id 1
e nella seconda gli account con id 6
e 7
. In questo caso, al ricevimento di una chiamata questa verrà presentata solamente all’account con id 1
e se questa non viene risposta, l’hunting procederà presentando la chiamata agli altri due account in contemporanea.
È quindi possibile personalizzare completamente la consegna delle chiamate ai vari account dell’interno.
In assenza di una configurazione specifica il comportamento di default sarà la consegna delle chiamate in contemporanea a tutti gli account dell’interno, quindi un’unica priorità con tutti gli account al suo interno.
NOTA: Per il servizio
EXTEN_HUNTING
non è presente l’APIDELETE
, per tornare quindi al comportamento di default è necessario impostare l’hunting con un’unica priorità inserendo al suo interno tutti gli account associati all’interno.
POST /rest/operation/EXTEN_HUNTING/{key}
Questa API permette di impostare l’hunting per un certo interno, il parametro key
nel path. Supponendo di voler impostare l’hunting per l’interno 101, l’API da invocare sarà
POST https://<PBX address>/rest/operation/EXTEN_HUNTING/101
Formato del body
Per questo servizio il valore da impostare deve essere l’oggetto JSON rappresentante l’hunting, lo stesso tipo di oggetto restituito dalla GET
.
Supponiamo di voler impostare un hunting con due priorità dove nella prima è presente solamente l’account con id 1
e nella seconda gli account con id 6
e 7
, l’oggetto JSON che rappresenta questa configurazione sarebbe
[
{
"priority":1,
"accounts":[
{
"id":1
}
]
},
{
"priority":2,
"accounts":[
{
"id":6
},
{
"id":7
}
]
}
]
L’oggetto JSON stesso rappresentante la configurazione deve essere trasformato in una stringa mediante l’escape dei caratteri "
(doppio apice).
Il body della richiesta dovrà quindi essere
{
"operationData": "[{\"priority\": 1, \"accounts\": [{\"id\": 1}]}, {\"priority\": 2, \"accounts\": [{\"id\": 6}, {\"id\": 7}]}]"
}
Il formato del body restituito dall’API di POST
è lo stesso della GET
, il valore di operationData
nella risposta rifletterà quello presente nella richiesta a riscontro dell’avvenuta modifica.
GET /rest/operation/queue
Tramite questa API è possibile ottenere le informazioni sui membri dinamici e sullo stato di pausa dei membri (sia statici che dinamici) di tutte le code.
Body della risposta
La struttura della risposta si compone di un oggetto JSON con tanti attributi quante sono le code definite, dove l’attributo è il nome della coda stessa.
All’interno di ciascun oggetto «coda» possono essere presenti gli attributi dynamicMembers
e pause
. La presenza di uno o entrambi questi attributi è vincolata al fatto che siano stati aggiunti membri dinamici alla coda o che almeno un operatore sia stato messo in pausa o tolto dalla pausa. Quando nessuna di queste condizioni si verifica l’oggetto «coda» avrà valore null
.
{
"Queue 1": {
"pause": {
"SIP/101-app": {
"status": true,
"timestamp": "2024-01-17 19:07:50.814301+01"
},
"SIP/101-cti": {
"status": true,
"timestamp": "2024-01-17 19:09:33.84229+01"
},
"SIP/101-phone": {
"status": false,
"timestamp": "2024-01-17 18:21:43.463215+01"
}
},
"dynamicMembers": {
"SIP/101-cti": 0
}
},
"Queue 2": null
}
Dettaglio dell’attributo pause
L’attributo pause
è un oggetto JSON con tanti attributi quanti sono gli account per i quali è stato modificato almeno una volta lo stato di pausa, dove l’attributo è l’identificativo SIP dell’account stesso.
NOTA: L’attributo
pause
potrebbe non contenere tutti gli account assegnati alla coda, contiene solamente gli account per i quali è stato modificato almeno una volta lo stato di pausa. Gli account assegnati ad una coda, che siano statici o dinamici, e che non compaiono all’interno dell’attributopause
, sono da considerarsi non in pausa.
NOTA: La presenza di un account all’interno dell’attributo
pause
non ne determina l’assegnazione alla coda.
Per determinare l’elenco degli account assegnati ad una coda deve essere fatta l’unione degli account assegnati staticamente alla coda (recuperabili con l’APIGET https://<PBX address>/api/pbx/v2/queue/{id}/account
) e gli account dinamici presenti nell’attributodynamicMembers
.
Ogni attributo «SIP account» è un oggetto a sua volta contenente due attributi:
status
: valore booleano che identifica lo stato di pausa dell’account nella coda. Se ètrue
l’account è in pausa, se èfalse
non lo ètimestamp
: data ed ora, in formatoISO 8601
, dell’ultimo cambio di stato
Dettaglio dell’attributo dynamicMembers
L’attributo dynamicMembers
è un oggetto JSON con tanti attributi quanti sono i membri dinamici aggiunti alla coda, dove l’attributo è l’identificativo SIP dell’account stesso.
L’attributo «SIP account» ha come valore un intero, rappresentante la penalty del membro dinamico all’interno della coda.
Codici di risposta
Codice HTTP |
Descrizione |
---|---|
200 |
Nessun errore, la richiesta è stata eseguita correttamente |
403 |
L’utente che ha effettuato la richiesta non ha i privilegi necessari. Questo si verifica quando - in un PBX multi-tenant, l’utente che ha fatto la richiesta è di macchina e non di tenant. L’accesso a questa API è consentito a tutti gli utenti di tenant |
GET /rest/operation/queue/{queueName}
Tramite questa API è possibile ottenere le informazioni sui membri dinamici e sullo stato di pausa dei membri (sia statici che dinamici) di una specifica coda.
Parametri
Nome |
Obbligatorio |
Descrizione |
---|---|---|
queueName |
si |
Il nome della coda per la quale si vogliono ottenere i dati |
Body della risposta
La struttura della risposta è la stessa di quella dell’API GET https://<PBX address>/rest/operation/queue
, con l’unica differenza che conterrà solamente i dati della coda richiesta.
{
"Queue 1": {
"pause": {
"SIP/101-app": {
"status": true,
"timestamp": "2024-01-17 19:07:50.814301+01"
},
"SIP/101-cti": {
"status": true,
"timestamp": "2024-01-17 19:09:33.84229+01"
},
"SIP/101-phone": {
"status": false,
"timestamp": "2024-01-17 18:21:43.463215+01"
}
},
"dynamicMembers": {
"SIP/101-cti": 0
}
}
}
Codici di risposta
Codice HTTP |
Descrizione |
---|---|
200 |
Nessun errore, la richiesta è stata eseguita correttamente |
403 |
L’utente che ha effettuato la richiesta non ha i privilegi necessari. Questo si verifica quando - in un PBX multi-tenant, l’utente che ha fatto la richiesta è di macchina e non di tenant. L’accesso a questa API è consentito a tutti gli utenti di tenant |
404 |
La coda specificata nel parametro |
POST /rest/operation/queue/{operation}
Tramite questa API è possibile
aggiungere/rimuovere un operatore dinamico ad una specifica coda
aggiungere/rimuovere un operatore dinamico a tutte le code
mettere/togliere dalla pausa un operatore su una specifica coda
mettere/togliere dalla pausa un operatore da tutte le code
Parametri
Nome |
Obbligatorio |
Descrizione |
---|---|---|
operation |
si |
I valori ammessi per questo parametro sono: |
Body della risposta
Non è previsto nessun body nella risposta per questa API.
Codici di risposta
Codice HTTP |
Descrizione |
---|---|
200 |
Nessun errore, la richiesta è stata eseguita correttamente |
400 |
Il body della richiesta non è corretto |
403 |
L’utente che ha effettuato la richiesta non ha i privilegi necessari. Questo si verifica quando - in un PBX multi-tenant, l’utente che ha fatto la richiesta è di macchina e non di tenant. L’accesso a questa API è consentito a tutti gli utenti di tenant |
Gestione degli operatori dinamici
Per le operazioni sugli operatori dinamici deve essere invocata l’API
POST https://<PBX address>/rest/operation/queue/dynamicMember
Body della richiesta
La struttura di base dell’oggetto JSON della richiesta è
{
"queue": "Queue 2",
"account": "SIP/101-phone-2",
"enabled": true,
"penalty": 0
}
dove
Nome |
Obbligatorio |
Descrizione |
---|---|---|
queue |
no |
È il nome della coda alla quale vogliamo aggiungere/rimuovere il membro dinamico. Se l’attributo non è presente nella richiesta, questa agirà su tutte le code |
account |
si |
È l’identificativo SIP dell’account da aggiungere/rimuovere dai membri dinamici |
enabled |
no |
È un valore booleano che indica l’operazione da compiere. Se è |
penalty |
no |
È il valore di penalty da assegnare all’account (solamente in caso di aggiunta del membro dinamico), deve essere un intero |
Aggiunta di un operatore dinamico ad una specifica coda
Supponiamo di voler aggiungere l’account SIP/101-phone-2
come membro dinamico della coda Queue 2
con penalty 1
, il body della richiesta dovrà essere
{
"queue": "Queue 2",
"account": "SIP/101-phone-2",
"enabled": true,
"penalty": 1
}
Aggiunta di un operatore dinamico a tutte le code
Supponiamo di voler aggiungere l’account SIP/101-phone-2
come membro dinamico su tutte le code con penalty 0
, il body della richiesta dovrà essere
{
"account": "SIP/101-phone-2",
"enabled": true,
"penalty": 0
}
Rimozione di un operatore dinamico da una specifica coda
Supponiamo di voler rimuovere l’account SIP/101-phone-2
dai membri dinamici della coda Queue 2
, il body della richiesta dovrà essere
{
"queue": "Queue 2",
"account": "SIP/101-phone-2",
"enabled": false
}
Rimozione di un operatore dinamico da tutte le code
Supponiamo di voler rimuovere l’account SIP/101-phone-2
dai membri dinamici di tutte le code, il body della richiesta dovrà essere
{
"account": "SIP/101-phone-2",
"enabled": false,
}
Gestione della pausa degli operatori
Per le operazioni sulla pausa degli operatori deve essere invocata l’API
POST https://<PBX address>/rest/operation/queue/pause
Body della richiesta
La struttura di base dell’oggetto JSON della richiesta è
{
"queue": "Queue 2",
"account": "SIP/101-phone-2",
"enabled": true
}
dove
Nome |
Obbligatorio |
Descrizione |
---|---|---|
queue |
no |
È il nome della coda per la quale vogliamo mettere/togliere dalla pausa l’operatore. Se l’attributo non è presente nella richiesta, questa agirà su tutte le code |
account |
si |
È l’identificativo SIP dell’account da mettere/togliere dalla pausa |
enabled |
no |
È un valore booleano che indica l’operazione da compiere. Se è |
Messa in pausa di un operatore su una specifica coda
Supponiamo di voler mettere in pausa l’account SIP/101-phone-2
sulla coda Queue 2
, il body della richiesta dovrà essere
{
"queue": "Queue 2",
"account": "SIP/101-phone-2",
"enabled": true
}
Messa in pausa di un operatore su tutte le code
Supponiamo di voler mettere in pausa l’account SIP/101-phone-2
su tutte le code, il body della richiesta dovrà essere
{
"account": "SIP/101-phone-2",
"enabled": true
}
Togliere dalla pausa un operatore su una specifica coda
Supponiamo di voler togliere dalla pausa l’account SIP/101-phone-2
sulla coda Queue 2
, il body della richiesta dovrà essere
{
"queue": "Queue 2",
"account": "SIP/101-phone-2",
"enabled": false
}
Togliere dalla pausa un operatore su tutte le code
Supponiamo di voler togliere dalla pausa l’account SIP/101-phone-2
su tutte le code, il body della richiesta dovrà essere
{
"account": "SIP/101-phone-2",
"enabled": false,
}