ExoVoIPManuale sviluppatori

Aziende

Gestione delle aziende ospitate sulla piattaforma. Gli endpoint di questa pagina sono riservati all'amministratore della piattaforma (chiavi globali con scope tenants:*), tranne GET /v1/tenants/current, disponibile a ogni azienda.

Azienda corrente

Con una chiave aziendale restituisce i dati della propria azienda (nome, stato, limiti, impostazioni). È la chiamata più semplice per verificare che una chiave funzioni.

curl -s https://centralino.exovoip.it/api/v1/tenants/current \
  -H "X-API-Key: $EXOPBX_API_KEY"

Creare un'azienda

La creazione registra l'azienda e il suo primo amministratore; la password iniziale dell'amministratore è restituita una sola volta.

curl -s -X POST https://centralino.exovoip.it/api/v1/tenants \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
  -d '{"code":"acme","name":"Acme S.r.l.","maxExt":20,"maxCalls":6,
       "admin":{"email":"admin@acme.example","name":"Mario Rossi"}}'

code è l'identificativo breve dell'azienda (lettere minuscole e cifre), usato anche nei nomi tecnici del centralino: scegline uno stabile.

Limiti, sospensione e riattivazione

  • PUT /v1/tenants/:id/limits: numero massimo di interni e di chiamate simultanee.
  • POST /v1/tenants/:id/suspend: l'azienda resta visibile ma le chiavi e gli utenti aziendali passano in sola lettura.
  • POST /v1/tenants/:id/resume: riattiva l'azienda.
  • DELETE /v1/tenants/:id: disattiva l'azienda senza cancellare i dati.
curl -s "https://centralino.exovoip.it/api/v1/tenants?status=active&limit=50" -H "X-API-Key: $EXOPBX_API_KEY"
curl -s -X PUT https://centralino.exovoip.it/api/v1/tenants/3/limits -H "X-API-Key: $EXOPBX_API_KEY" \
  -H "Content-Type: application/json" -d '{"maxExt":30,"maxCalls":10}'
curl -s -X POST https://centralino.exovoip.it/api/v1/tenants/3/suspend -H "X-API-Key: $EXOPBX_API_KEY" \
  -H "Content-Type: application/json" -d '{"reason":"manual"}'
curl -s -X POST https://centralino.exovoip.it/api/v1/tenants/3/resume -H "X-API-Key: $EXOPBX_API_KEY"

Operare per conto di un'azienda

Una chiave globale opera su un'azienda specifica con l'header X-Tenant-Id (vedi Autenticazione). Ogni accesso di questo tipo viene registrato nel registro attività.

# Chiave globale (piattaforma): azienda indicata con X-Tenant-Id
curl -s https://centralino.exovoip.it/api/v1/extensions \
  -H "X-API-Key: $EXOPBX_API_KEY" \
  -H "X-Tenant-Id: 3"

Endpoint

DescrizioneRichiestaScopeMetodo SDK
Elenco aziendeGET /v1/tenantstenants:readtenants.list()
Crea azienda (+ primo amministratore)POST /v1/tenantstenants:writetenants.create()
Azienda correnteGET /v1/tenants/currentextensions:readtenants.current()
Dettaglio aziendaGET /v1/tenants/:idtenants:readtenants.get()
Modifica aziendaPATCH /v1/tenants/:idtenants:writetenants.update()
Disattiva azienda (status=disabled, nessuna cancellazione dati)DELETE /v1/tenants/:idtenants:writetenants.delete()
Limiti interni e chiamate simultaneePUT /v1/tenants/:id/limitstenants:writetenants.limits()
Sospendi aziendaPOST /v1/tenants/:id/suspendtenants:writetenants.suspend()
Riattiva aziendaPOST /v1/tenants/:id/resumetenants:writetenants.resume()
Avvia impersonificazione (audit) e restituisce X-Tenant-IdPOST /v1/tenants/:id/impersonatetenants:impersonatetenants.impersonate()
Server voce e host SIP dell’aziendaGET /v1/tenants/:id/voice-nodetenants:readtenants.getVoiceNode() · py: tenants.get_voice_node()
Assegna server voce e host SIP dei telefoniPUT /v1/tenants/:id/voice-nodetenants:writetenants.setVoiceNode() · py: tenants.set_voice_node()