ExoVoIPManuale sviluppatori

Regole di uscita

Le regole di uscita scelgono la linea per le chiamate verso l'esterno in base al numero composto, con linee di riserva in caso di errore. Scope outbound_routes:read / outbound_routes:write.

Creare una regola

curl -s -X POST https://centralino.exovoip.it/api/v1/outbound-routes \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
  -d '{"name":"Cellulari","beginsWith":"3","restDigits":9,"trunkIds":[1,2]}'
curl -s -X POST https://centralino.exovoip.it/api/v1/outbound-routes/simulate \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" -d '{"number":"3331234567"}'
CampoDescrizione
beginsWith, restDigitsIl numero inizia con… e ha N cifre successive
trim, prependCifre da togliere all'inizio / prefisso da aggiungere
trunkIdsLinee in ordine di preferenza (le successive sono di riserva)
priorityOrdine di valutazione

Il simulatore (POST /v1/outbound-routes/simulate) indica, per un numero, se la chiamata è consentita, quale regola si applica, il numero effettivamente composto e le linee usate: utile per verificare la configurazione senza chiamare.

Blocchi per categoria

La politica dell'azienda blocca intere categorie di destinazioni (es. numeri a pagamento, satellitari, internazionali) e definisce le destinazioni consentite per gli inoltri.

curl -s -X PUT https://centralino.exovoip.it/api/v1/outbound-routes/policy \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
  -d '{"blocked":["premium","satellite","international"]}'

Se la politica è stata bloccata da Exobyte, la modifica restituisce 403.

Endpoint

DescrizioneRichiestaScopeMetodo SDK
Elenco regole di uscitaGET /v1/outbound-routesoutbound_routes:readoutboundRoutes.list() · py: outbound_routes.list()
Crea regola di uscitaPOST /v1/outbound-routesoutbound_routes:writeoutboundRoutes.create() · py: outbound_routes.create()
Riordina prioritàPUT /v1/outbound-routes/orderoutbound_routes:writeoutboundRoutes.reorder() · py: outbound_routes.reorder()
Blocchi chiamate per categoriaGET /v1/outbound-routes/policyoutbound_routes:readoutboundRoutes.getPolicy() · py: outbound_routes.get_policy()
Imposta blocchi per categoria e destinazioni di inoltroPUT /v1/outbound-routes/policyoutbound_routes:writeoutboundRoutes.setPolicy() · py: outbound_routes.set_policy()
Simula instradamento di un numeroPOST /v1/outbound-routes/simulateoutbound_routes:readoutboundRoutes.simulate() · py: outbound_routes.simulate()
Dettaglio regolaGET /v1/outbound-routes/:idoutbound_routes:readoutboundRoutes.get() · py: outbound_routes.get()
Modifica regolaPATCH /v1/outbound-routes/:idoutbound_routes:writeoutboundRoutes.update() · py: outbound_routes.update()
Elimina regolaDELETE /v1/outbound-routes/:idoutbound_routes:writeoutboundRoutes.delete() · py: outbound_routes.delete()