VoIP: WEB API per controllare il credito residuo

Per poter conoscere il credito residuo del proprio account VoIP Ricaricabile, Home o Business, senza accedere al portale cpn.it, è necessario seguire le istruzioni sotto riportate.
La procedura è semplice e consente, in pochi minuti, di sfruttare ancora di più le potenzialità del nuovo servizio VoIP.

Si può conoscere il credito residuo (che verrà restituito iva esclusa) effettuando delle semplici chiamate HTTP (o in HTTPS) al nostro sito www.cpn.it.
Le chiamate HTTP devono essere in formato POST.

La risposta che si riceve dopo l'invio del sms è in formato XML.

A titolo di esempio si riporta una semplice pagina HTML per testare il credito residuo:

Istruzioni per testare l'applicazione

ATTENZIONE

Il metodo seguente

Il metodo seguente è riportato solo come esempio per uso di test.

È fortemente sconsigliata la messa in produzione di uno script contenente username e password scritti in chiaro (cioè non criptato).

È invece consigliato l'uso del metodo AVANZATO riportato successivamente

Esempio di utilizzo tramite chiamata diretta HTTP POST:

<html>
	<body>
		<form action="https://www.cpn.it/areautenti/voip/sms/credito-residuo-api.php" method="POST">
			<input type="hidden" name="username" value="utente@cpn.it">
			<input type="hidden" name="password" value="secret">
			<input type="submit" name="Submit" value="Invia">
		</form>
	</body>
</html>

Per poter utilizzare il suddetto script occorre:

  • sostituire il valore del campo "username", ovvero "utente@cpn.it", con il proprio utente CPN abilitato all'uso del servizio VoIP Ricaricabile o VoIP Plus
  • sostituire il valore del campo "password", ovvero "secret", con la password dell'utente CPN indicato sopra

Istruzioni per utilizzo avanzato

Per conoscere il credito residuo dell'account VoIP ricaricabile viene fornita una piccola libreria, in linguaggio PHP, che può essere utilizzata in sostituzione dell'esempio precedente. I requisiti necessari per utilizzare questa libreria sono:

  • interprete php abilitato
  • libreria curl installata
  • estensione php-xmlrpc installata

La libreria è molto semplice ed è composta da una sola funzione che restituisce un array associativo contenente l'esito della richiesta.
La configurazione di username e password dell'utente CPN abilitato all'uso di VoIP Ricaricabile deve essere effettuata solo nel file di libreria "cheapvoip-credito-residuo.inc.php".

Di seguito vengono riportati due esempi chiarificatori e la libreria.

richiesta-credito-residuo.php - Esempio Codice PHP per leggere il credito residuo del proprio account ricaricabile

<html>
	<head>
		<title>VoIP, web api per il controllo del credito residuo</title>
	</head>
	<body>
		<div align="center">
			<h1>Controllo del credito residuo</h1>
			<!-- form per la richiesta -->
			<!-- si imposta l'action con il nome ed il percorso del file (risposta-credito-residuo.php riportato nella pagina) che invoca la WEB API-->
			<form method="post" name="form" action="risposta-credito-residuo.php">
				<!-- si interroga la pagina per conoscere il credito residuo-->
				<input name="Submit" type="submit" value="Invia"></td>
			</form>
		</div>
	</body>
</html>

risposta-credito-residuo.php - Esempio completo di pagina HTML che include la libreria e gestice la risposta

<html>
	<head>
		<title>Esito richiesta credito residuo</title>
	</head>
	<body>
		<div align="center"><?php
			//si include la libreria
			require("cheapvoip-credito-residuo.inc.php");
			$ret=leggiCreditoResiduo();
			// Visualizzo l'esito dell'invio
			$autorizzato=$ret[0]["autorizzato"];
			$evento=$ret[0]["evento"];
			$profilo=$ret[0]["profilo"];
			$esito=$ret[1]["esito"];
			$risposta=$ret[1]["risposta"];
			$credito_residuo=$ret[1]["credito_residuo"];
			if ($autorizzato == true) {
				echo USERNAME . ": " . $evento ."<br />Profilo: " . $profilo . " <br />";
			} else {
				echo "Utente " . USERNAME . " non autorizzato";
			}
			if ($esito == true) {
				echo $risposta . "<br />Il credito residuo &egrave; di: " . $credito_residuo . " euro iva esclusa<br>";
			} else {
				echo $risposta;
			}
			?>
		</div>
	</body>
</html>

cheapvoip-credito-residuo.inc.php - Libreria per la lettura del credito residuo

<?php
/* MODIFICARE SOLO QUESTI DUE CAMPI */
username di CPN (che sia abilitato all'utilizzo del servizio VoIP e che abbia un profilo Home o Plus purché ricaricabile)
define("USERNAME","<utente@cpn.it>");
//password di CPN
define("PASSWORD","<password>");
//url della web api
define("URLAPI","https://www.cpn.it/areautenti/voip/sms/credito-residuo-api.php");
function leggiCreditoResiduo() {
	$ch = curl_init(URLAPI);
	//chiamata alla funzione curl di php -con metodo POST- per invocare la WEB API
	curl_setopt($ch, CURLOPT_POST, TRUE);
	$params = "username=" . USERNAME . "&password=". PASSWORD;
	//passaggio parametri tramite curl
	curl_setopt($ch,CURLOPT_POSTFIELDS,$params);
	ob_start();
	curl_exec($ch);
	//catturo i risultati
	$xmlResponse =ob_get_contents();
	ob_end_clean();
	curl_close($ch);
	//decodifico il risultato XML
	$response = xmlrpc_decode($xmlResponse,"iso-8859-1");
	return $response;
}
?>

Tutti i file sopra riportati sono riuniti in un unico file di archivio (.zip) e sono disponibili per il download.