Differenze tra le versioni di "AdminGuide:Service:ExternalAPIs"
Riga 24: | Riga 24: | ||
<code>http://www.myserver.com/api?arg1=%CALLER_NUM%&arg2=%PARAM1%&arg3=%PARAM2% </code><br> | <code>http://www.myserver.com/api?arg1=%CALLER_NUM%&arg2=%PARAM1%&arg3=%PARAM2% </code><br> | ||
mentre nel caso di richiesta di tipo POST, il corpo potrebbe essere:<br> | mentre nel caso di richiesta di tipo POST, il corpo potrebbe essere:<br> | ||
< | <syntaxhighlight lang="xml"><?xml version="1.0"?><br> | ||
<parameters><br> | <parameters><br> | ||
<caller>%CALLER_NUM%</caller><br> | <caller>%CALLER_NUM%</caller><br> | ||
<param_01>%PARAM1</param_01><br> | <param_01>%PARAM1</param_01><br> | ||
<param_02>%PARAM2</param_02><br> | <param_02>%PARAM2</param_02><br> | ||
</parameters></ | </parameters></syntaxhighlight><br> |
Versione delle 20:15, 13 giu 2016
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"?><br>
<parameters><br>
<caller>%CALLER_NUM%</caller><br>
<param_01>%PARAM1</param_01><br>
<param_02>%PARAM2</param_02><br>
</parameters>