VoIP: Web services per utilizzare VoIP SMS

Per chi volesse utilizzare il servizio di SMS, CPN mette a disposizione un web service.

Le chiamate possibili sono:

  • Lettura credito residuo
  • Invio sms
  • Lettura lista mittenti
  • Lettura rubrica

Per usufruire del servizio è necessario utilizzare il file WSDL scaricabile dall'indirizzo http://ws.cpn.it/?cheapnet-sms e configurare la propria applicazione con i dati di login di un account CPN con servizio VoIP attivo.


Esempi di utilizzo in PHP

Variabili d'ambiente

Queste informazioni vanno usate per rendere operative le operazioni definite di seguito

<?php
	define("SMS_WSDL", "http://ws.cpn.it/?cheapnet-sms");  //definisco il path per il web service
	
	$username="UTENTE";	//inserire username CPN (senza @cpn.it)
	$password="PASSWORD"; //inserire password di accesso a CPN
	
	$client = new SoapClient(SMS_WSDL);	//invoco il ws
?>

Esempio di lettura elenco mittenti

<?php
	echo "Lista mittenti: ";
	$params=array("username"=>$username,"password"=>$password);
	$ret=$client->getSenders($params);	//richiedo la lista mittenti per l'utente $username
	$ret=$ret->return;
	if (is_array($ret)) {
		foreach ($ret as $value) {
			echo "[".$value."]";	//stampo i mittenti
		}
	} else {
		echo "[".$ret."]";
	}		
?>

Esempio di lettura rubrica

<?php
	echo "Lista voci in rubrica: ";
	$params=array("username"=>$username,"password"=>$password);	//passo le credenziali
	$ret=$client->getPhoneBook($params);	//richiamo la rubrica
	$ret=$ret->return;
	if(is_array($ret)){
		foreach($ret as $obj){
			echo "[".$obj->name."][".$obj->cellPhone."]";	//stampo la lista voci in rubrica
		}
	} else {
		echo "[".$ret."]";
	}
?>

Esempio di lettura credito residuo

<?php
	echo "Credito residuo: ";
	$params=array("username"=>$username,"password"=>$password);	//passo le credenziali
	$ret=$client->getCredit($params);	//richiamo il credito residuo
	$ret=$ret->return;
	echo "[".$ret->authenticated."][".$ret->credit."][".$ret->creditAvailable."][".$ret->description."][".$ret->profile."]"; //stampo il credito residuo
?>

Esempio di invio sms

<?php
	echo "Invio SMS: ";
	$params=array("username"=>$username,"password"=>$password,"request"=>array("mittente"=>"328123XXX","testo"=>"Ciao!","userAgent"=>"","destinatario"=>array("328456XXX")));
	$ret=$client->sendSms($params);	//invio l'sms con i parametri sopra specificati
	$ret=$ret->return;
	echo "[".$ret->authenticated."][".$ret->description."]";
	if(is_array($ret->responses)){
	    foreach($ret->responses as $sms){
	        echo "[".$sms->description."][".$sms->destination."][".$sms->result."]";	//stampo il responso per l'invio dell'sms
	    }
	} else {
		$sms=$ret->responses;
		echo "[".$sms->description."][".$sms->destination."][".$sms->result."]";
	}
?>