ExoVoIPManuale sviluppatori

Sistema e notifiche

Stato del servizio, applicazione della configurazione, lavori in background e notifiche.

Stato del servizio

  • GET /health: risponde senza chiave, per i controlli di raggiungibilità.
  • GET /v1/live/health (scope live:read): stato complessivo (operational, degraded, outage) e contatori dell'azienda; per la piattaforma anche il dettaglio dei servizi.
  • GET /v1/system/status (solo piattaforma): servizi, centralino, risorse del server.
curl -s https://centralino.exovoip.it/api/health
curl -s https://centralino.exovoip.it/api/v1/live/health -H "X-API-Key: $EXOPBX_API_KEY"
curl -s https://centralino.exovoip.it/api/v1/system/status -H "X-API-Key: $EXOPBX_API_KEY"

Applicazione della configurazione

Le modifiche fatte via API (interni, linee, code, menu…) vengono applicate al centralino automaticamente, senza interrompere le chiamate in corso. La piattaforma può richiedere un'applicazione esplicita e seguirne l'esito:

curl -s -X POST https://centralino.exovoip.it/api/v1/system/reload -H "X-API-Key: $EXOPBX_API_KEY" \
  -H "Content-Type: application/json" -d '{"tenantId":3,"scope":"auto","reason":"verifica configurazione"}'
curl -s https://centralino.exovoip.it/api/v1/system/reload-jobs/55 -H "X-API-Key: $EXOPBX_API_KEY"

Lavori in background

Operazioni lunghe (generazione di messaggi vocali, trascrizioni, riassunti) restituiscono un lavoro: GET /v1/jobs/:id ne indica lo stato (pending, running, done, failed) e l'eventuale errore.

Notifiche

L'azienda può ricevere avvisi via email o Telegram per chiamate perse, nuovi messaggi in segreteria, forzature degli orari, registrazioni pronte. Scope notifications:read / notifications:write.

curl -s -X PUT https://centralino.exovoip.it/api/v1/notifications/settings \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
  -d '{"rules":[{"event":"missed_call","enabled":true,"channels":["email"],"emails":["reception@acme.example"],
                 "includeAdmins":false,"extensionIds":[],"queueIds":[5],"numberIds":[]}]}'

POST /v1/notifications/test invia una notifica di prova; GET /v1/notifications/log mostra gli invii recenti con l'esito.

Endpoint

DescrizioneRichiestaScopeMetodo SDK
Stato del servizioGET /health—health()
Utente della sessioneGET /auth/me—auth.me()
Stato servizi, Asterisk, host, reloadGET /v1/system/statussystem:readsystem.status()
Accoda reload configurazionePOST /v1/system/reloadsystem:writesystem.reload()
Storico reloadGET /v1/system/reload-jobssystem:readsystem.reloadJobs() · py: system.reload_jobs()
Dettaglio reloadGET /v1/system/reload-jobs/:idsystem:readsystem.reloadJob() · py: system.reload_job()
Regole di notifica (superadmin senza azienda: piattaforma)GET /v1/notifications/settingsnotifications:readnotifications.getSettings() · py: notifications.get_settings()
Modifica regole di notificaPUT /v1/notifications/settingsnotifications:writenotifications.setSettings() · py: notifications.set_settings()
Registro notifiche inviateGET /v1/notifications/lognotifications:readnotifications.log()
Invio di provaPOST /v1/notifications/testnotifications:writenotifications.test()
Stato di un lavoro in backgroundGET /v1/jobs/:idmedia:readjobs.get()
Stato backup, firewall, lavori in background e servizi esterniGET /v1/ops/statussystem:readops.status()