Code
Le code mettono in attesa i chiamanti e li distribuiscono agli operatori disponibili, con musica, annunci di posizione e tempi massimi. Scope queues:read / queues:write; stato in tempo reale con live:read.
Creare una coda
curl -s -X POST https://centralino.exovoip.it/api/v1/queues \
-H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
-d '{"number":"700","name":"Vendite","strategy":"rrmemory","maxWaitS":300,
"announcePosition":true,
"members":[{"extensionId":12,"position":1,"penalty":0,"paused":false},
{"extensionId":13,"position":2,"penalty":1,"paused":false}],
"maxWaitDestination":{"type":"voicemail","extensionId":12}}'const { queue } = await pbx.queues.create({
number: '700',
name: 'Vendite',
strategy: 'rrmemory',
maxWaitS: 300,
announcePosition: true,
members: [
{ extensionId: 12, position: 1, penalty: 0, paused: false },
{ extensionId: 13, position: 2, penalty: 1, paused: false },
],
maxWaitDestination: { type: 'voicemail', extensionId: 12 },
});$queue = $pbx->queues->create([
'number' => '700',
'name' => 'Vendite',
'strategy' => 'rrmemory',
'maxWaitS' => 300,
'announcePosition' => true,
'members' => [
['extensionId' => 12, 'position' => 1, 'penalty' => 0, 'paused' => false],
['extensionId' => 13, 'position' => 2, 'penalty' => 1, 'paused' => false],
],
'maxWaitDestination' => ['type' => 'voicemail', 'extensionId' => 12],
])['queue'];queue = pbx.queues.create({
"number": "700",
"name": "Vendite",
"strategy": "rrmemory",
"maxWaitS": 300,
"announcePosition": True,
"members": [
{"extensionId": 12, "position": 1, "penalty": 0, "paused": False},
{"extensionId": 13, "position": 2, "penalty": 1, "paused": False},
],
"maxWaitDestination": {"type": "voicemail", "extensionId": 12},
})["queue"]| Campo | Descrizione |
|---|---|
strategy | ringall, linear, linear_progressive, leastrecent, fewestcalls, rrmemory, random |
members[] | Operatori: extensionId, position, penalty (priorità), paused |
agentTimeoutS, wrapupS | Squillo per operatore e pausa dopo ogni chiamata |
announcePosition, announceHoldtime | Annunci di posizione e tempo di attesa stimato |
maxCallers, maxWaitS | Limiti della coda, con maxWaitDestination alla scadenza |
emptyDestination, noAnswerDestination | Nessun operatore disponibile / nessuna risposta |
voicemailDigit, callbackEnabled | Uscita in segreteria o richiesta di richiamata con un tasto |
calendarId, recordMode | Orari della coda e registrazione |
Operatori e stato in tempo reale
curl -s https://centralino.exovoip.it/api/v1/queues/5/live -H "X-API-Key: $EXOPBX_API_KEY"
curl -s -X PUT https://centralino.exovoip.it/api/v1/queues/5/members/12/pause \
-H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" -d '{"paused":true}'const { live } = await pbx.queues.live(5); // in attesa, attesa massima, operatori
await pbx.queues.pauseMember(5, 12, { paused: true });$live = $pbx->queues->live(5)['live'];
$pbx->queues->pauseMember(5, 12, ['paused' => true]);live = pbx.queues.live(5)["live"]
pbx.queues.pause_member(5, 12, {"paused": True})Lo stato dettagliato di tutte le code (chiamanti in attesa, attesa massima, operatori in pausa o al telefono) è anche in GET /v1/live/queues e negli eventi queue.caller.join, queue.caller.leave e queue.member (Tempo reale). Le richieste di richiamata registrate dai chiamanti sono in GET /v1/queues/:id/callbacks.
Endpoint
| Descrizione | Richiesta | Scope | Metodo SDK |
|---|---|---|---|
| Code | GET /v1/queues | queues:read | queues.list() |
| Crea coda | POST /v1/queues | queues:write | queues.create() |
| Dettaglio coda | GET /v1/queues/:id | queues:read | queues.get() |
| Modifica coda (members sostituisce) | PATCH /v1/queues/:id | queues:write | queues.update() |
| Elimina coda (IN_USE se usata) | DELETE /v1/queues/:id | queues:write | queues.delete() |
| Chiamanti in attesa e stato operatori | GET /v1/queues/:id/live | live:read | queues.live() |
| Pausa / ripresa operatore | PUT /v1/queues/:id/members/:extensionId/pause | queues:write | queues.pauseMember() · py: queues.pause_member() |
| Richiamate richieste dai chiamanti | GET /v1/queues/:id/callbacks | queues:read | queues.callbacks() |
