Menu vocali
Un menu vocale (IVR) accoglie il chiamante con un messaggio e lo indirizza in base al tasto premuto. Scope ivrs:read / ivrs:write.
Creare un menu
curl -s -X POST https://centralino.exovoip.it/api/v1/ivrs \
-H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
-d '{"name":"Menu principale","greetingPromptId":31,"timeoutS":7,"maxRetries":3,
"options":[{"digit":"1","label":"Vendite","destination":{"type":"queue","queueId":5}},
{"digit":"2","label":"Assistenza","destination":{"type":"ring_group","ringGroupId":3}}],
"timeoutDestination":{"type":"extension","extensionId":12}}'const { ivr } = await pbx.ivrs.create({
name: 'Menu principale',
greetingPromptId: 31,
timeoutS: 7,
maxRetries: 3,
options: [
{ digit: '1', label: 'Vendite', destination: { type: 'queue', queueId: 5 } },
{ digit: '2', label: 'Assistenza', destination: { type: 'ring_group', ringGroupId: 3 } },
],
timeoutDestination: { type: 'extension', extensionId: 12 },
});$ivr = $pbx->ivrs->create([
'name' => 'Menu principale',
'greetingPromptId' => 31,
'timeoutS' => 7,
'maxRetries' => 3,
'options' => [
['digit' => '1', 'label' => 'Vendite', 'destination' => ['type' => 'queue', 'queueId' => 5]],
['digit' => '2', 'label' => 'Assistenza', 'destination' => ['type' => 'ring_group', 'ringGroupId' => 3]],
],
'timeoutDestination' => ['type' => 'extension', 'extensionId' => 12],
])['ivr'];ivr = pbx.ivrs.create({
"name": "Menu principale",
"greetingPromptId": 31,
"timeoutS": 7,
"maxRetries": 3,
"options": [
{"digit": "1", "label": "Vendite", "destination": {"type": "queue", "queueId": 5}},
{"digit": "2", "label": "Assistenza", "destination": {"type": "ring_group", "ringGroupId": 3}},
],
"timeoutDestination": {"type": "extension", "extensionId": 12},
})["ivr"]| Campo | Descrizione |
|---|---|
greetingPromptId / greetingText | Messaggio di benvenuto (registrato o da testo) |
options[] | Tasti 0–9, *, # con etichetta e destinazione |
timeoutS, maxRetries | Attesa della scelta e numero di ripetizioni |
timeoutDestination, invalidDestination | Dove va la chiamata senza scelta o con tasto non valido |
directDial, directDialExtensions | Composizione diretta degli interni durante il messaggio |
calendarId | Il menu segue un calendario (fuori orario: destinazione di chiusura) |
Una destinazione può essere un altro menu: così si costruiscono menu a più livelli. Per pubblicare il menu, impostalo come destinazione di un numero o di una regola in entrata ({ "type": "ivr", "ivrId": 2 }).
POST /v1/ivrs/:id/greeting-text propone il testo del messaggio di benvenuto a partire dalle opzioni configurate.
Endpoint
| Descrizione | Richiesta | Scope | Metodo SDK |
|---|---|---|---|
| Menu vocali | GET /v1/ivrs | ivrs:read | ivrs.list() |
| Crea menu vocale | POST /v1/ivrs | ivrs:write | ivrs.create() |
| Dettaglio menu vocale | GET /v1/ivrs/:id | ivrs:read | ivrs.get() |
| Modifica menu vocale (options sostituisce) | PATCH /v1/ivrs/:id | ivrs:write | ivrs.update() |
| Elimina menu vocale (IN_USE se usato) | DELETE /v1/ivrs/:id | ivrs:write | ivrs.delete() |
| Testo del messaggio suggerito dalle opzioni | POST /v1/ivrs/:id/greeting-text | ivrs:read | ivrs.greetingText() · py: ivrs.greeting_text() |
