ExoVoIPManuale sviluppatori

Regole in entrata

Le regole in entrata decidono il percorso di una chiamata in arrivo in base a numero chiamato, linea e chiamante. Ogni regola è una catena di passaggi: se il primo non risponde entro il tempo indicato si passa al successivo. Scope inbound_routes:read / inbound_routes:write.

Creare una regola

curl -s -X POST https://centralino.exovoip.it/api/v1/inbound-routes \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
  -d '{"name":"Orario d'\''ufficio","numberId":7,"priority":10,"steps":[
        {"timeoutS":20,"destination":{"type":"extension","extensionId":12}},
        {"timeoutS":20,"destination":{"type":"mobile","number":"+393331234567","confirm":true}},
        {"timeoutS":60,"destination":{"type":"voicemail","extensionId":12}}]}'
CampoDescrizione
numberId, trunkIdFiltri sul numero chiamato e sulla linea (facoltativi)
callerPatternFiltro sul numero del chiamante (facoltativo)
priorityOrdine di valutazione (valori più bassi prima)
steps[]Passaggi: destination e timeoutS

La prima regola che corrisponde alla chiamata viene applicata. Le regole vengono valutate prima della destinazione predefinita del numero.

Ordine delle regole

PUT /v1/inbound-routes/order imposta l'ordine con l'elenco completo degli id:

curl -s -X PUT https://centralino.exovoip.it/api/v1/inbound-routes/order \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" -d '{"ids":[4,2,9]}'

Con PATCH /v1/inbound-routes/:id, il campo steps sostituisce l'intera catena.

Endpoint

DescrizioneRichiestaScopeMetodo SDK
Elenco regole in entrataGET /v1/inbound-routesinbound_routes:readinboundRoutes.list() · py: inbound_routes.list()
Crea regola in entrataPOST /v1/inbound-routesinbound_routes:writeinboundRoutes.create() · py: inbound_routes.create()
Riordina prioritàPUT /v1/inbound-routes/orderinbound_routes:writeinboundRoutes.reorder() · py: inbound_routes.reorder()
Dettaglio regolaGET /v1/inbound-routes/:idinbound_routes:readinboundRoutes.get() · py: inbound_routes.get()
Modifica regola (steps sostituisce la catena)PATCH /v1/inbound-routes/:idinbound_routes:writeinboundRoutes.update() · py: inbound_routes.update()
Elimina regolaDELETE /v1/inbound-routes/:idinbound_routes:writeinboundRoutes.delete() · py: inbound_routes.delete()