ExoVoIPManuale sviluppatori

Plugin

Alcune funzioni del centralino sono plugin a pagamento, attivati per singola azienda da Exobyte. Le API sono sempre incluse per ogni sezione: le funzioni di un plugin non attivo rispondono 403 PLUGIN_REQUIRED. Per attivare un plugin contatta Exobyte.

Plugin disponibili

PluginFunzioniEndpoint e campi
ai — Assistente AIVoci professionali e catalogo voci; scelta della voce nei messaggi da testo; risposta automatica (chiede il motivo della chiamata, registra e prende nota con trascrizione e riassunto); assistente vocalevoices.list, voices.preview, voices.sample, voices.setTenantDefault; voiceId in POST /v1/prompts e PATCH /v1/prompts/:id; destinazioni auto_answer e ai_assistant; messaggi della risposta automatica: assistant.listMessages, assistant.getMessage, assistant.messageAudio, assistant.messageTranscript, assistant.deleteMessage (Messaggi dell'assistente)
recording — RegistrazioniRegistrazione delle chiamate con regole per azienda, numero, coda e interno; ascolto, download, trascrizione e riassunto delle registrazioni e dei messaggi in segreteriaTutti gli endpoint recordings.*; voicemail.messageTranscript, voicemail.transcribeMessage

Senza plugin restano disponibili tutte le altre funzioni del centralino:

  • senza ai: i messaggi da testo usano la voce standard della piattaforma e si possono sempre caricare file audio (MP3, WAV, OGG, M4A). Una risposta automatica già configurata viene sostituita da un messaggio di non disponibilità;
  • senza recording: il centralino non registra le chiamate; la segreteria funziona normalmente, senza trascrizione.

L'azienda dimostrativa demo ha sempre tutti i plugin attivi.

Plugin dell'azienda

GET /v1/plugins restituisce i plugin dell'azienda della chiave (scope extensions:read), con enabled per ciascuno; locked è true per le aziende con tutti i plugin sempre attivi. Anche l'oggetto azienda di GET /v1/tenants/current contiene plugins, l'elenco degli id attivi.

# Plugin attivi per l'azienda della chiave
curl -s https://centralino.exovoip.it/api/v1/plugins -H "X-API-Key: $EXOPBX_API_KEY"
# Funzione di un plugin non attivo
# HTTP/1.1 403 Forbidden
# {"error":{"code":"PLUGIN_REQUIRED","message":"Funzione disponibile con il plugin «Registrazioni». ...","details":{"plugin":"recording"}}}

Errore PLUGIN_REQUIRED

Una funzione di un plugin non attivo risponde 403 PLUGIN_REQUIRED; details.plugin indica il plugin richiesto (ai o recording). Per le destinazioni auto_answer e ai_assistant details.path indica il campo interessato. Conviene leggere GET /v1/plugins all'avvio e nascondere le funzioni non disponibili.

Attivazione (amministratore della piattaforma)

GET /v1/tenants/:id/plugins e PUT /v1/tenants/:id/plugins sono riservati all'amministratore della piattaforma. Il corpo di PUT sostituisce l'elenco dei plugin attivi: { "enabled": ["ai", "recording"] } (un elenco vuoto li disattiva tutti). La modifica si applica subito al centralino ed è annotata nel registro attività.

# Solo amministratore della piattaforma (chiave globale)
curl -s https://centralino.exovoip.it/api/v1/tenants/3/plugins -H "X-API-Key: $EXOPBX_API_KEY"
curl -s -X PUT https://centralino.exovoip.it/api/v1/tenants/3/plugins -H "X-API-Key: $EXOPBX_API_KEY" \
  -H "Content-Type: application/json" -d '{"enabled":["ai","recording"]}'

Endpoint

DescrizioneRichiestaScopeMetodo SDK
Plugin a pagamento attivi per l’aziendaGET /v1/pluginsextensions:readplugins.list()