AdminGuide:Service:ExternalAPIs

Da Kalliope Wiki.
Jump to navigation Jump to search

Questa applicazione permette di effettuare l’instradamento della chiamata in base alla risposta di una API esterna. Tale API viene invocata passando una serie di parametri numerici, che possono essere richiesti al chiamante tramite prompt vocali preregistrati.
L’API deve essere servita da un web server esterno al KalliopePBX; in fase di configurazione, è possibile specificare i seguenti parametri:

  • URL dell’API: può essere un URL di tipo http o https (senza validazione del certificato

del server).

  • Autenticazione: può essere NONE (nessuna autenticazione) o BASIC (Basic http

Authentication); in questo secondo caso è necessario specificare le credenziali di autenticazione (username e password).

  • Tipo di richiesta: l’invocazione dell’API può essere effettuata in GET o in POST; nel

primo caso gli eventuali parametri vengono passati nella URL di richiesta, mentre nel secondo caso è possibile specificare il formato del corpo della richiesta (contenuto POST), ed il relativo Content-Type.
Per entrambi i tipi di richiesta (GET o POST), il passaggio dei parametri all’API avviene tramite dei placeholder inseriti nell’URL o nel contenuto del POST; i placeholder riconosciuti sono:

  • %CALLER_NUM%: indica il numero chiamante
  • %PARAM1%, …, %PARAMnn%: indica gli “nn” parametri richiesti al chiamante tramite

un menù vocale interattivo, costruito come descritto in seguito.
Lo specifico formato della richiesta è ovviamente funzione dell’implementazione dell’API esterna. A titolo di esempio, nel caso di richiesta GET l’URL potrebbe essere costruito come:
http://www.myserver.com/api?arg1=%CALLER_NUM%&arg2=%PARAM1%&arg3=%PARAM2%
mentre nel caso di richiesta di tipo POST, il corpo potrebbe essere:
<?xml version="1.0"?> <parameters> <caller>%CALLER_NUM%</caller> <param_01>%PARAM1</param_01> <param_02>%PARAM2</param_02> </parameters>