Area Utenti
Username:

Password:
puntino
Virtual Shop: ADSL, modem, router, VoIP, telefoni, domini, hosting professionale, housing professionale
Scarica il file di autoconfigurazione per la tua connessione dial-up
Facile ADSL
spacer
Se non vedi questo banner, fai click qui:Scarica Adobe Flash player

CHEAPVOIP: WEB API per inviare SMS


Per utilizzare correttamente il servizio CheapVoIP SMS, senza accedere al portale Cheapnet.it, è necessario seguire le istruzioni sotto riportate.
La procedura è semplice e consente, in pochi minuti, di sfruttare al meglio le potenzialità del nuovo servizio di SMS.

Si può inviare SMS tramite CheapVoIP effettuando delle semplici chiamate HTTP al nostro sito www.cheapnet.it.
Le chiamate HTTP per l'invio degli SMS devono essere di tipo POST.

La risposta che si riceve dopo l'invio del sms è in formato XML e contiene lo stato dell'invio appena effettuato.

A titolo di esempio si riporta una semplice pagina HTML per inviare un singolo messaggio SMS:



ISTRUZIONI PER UTILIZZO SEMPLICE ED IMMEDIATO

ATTENZIONE: il metodo seguente è riportato solo come esempio per uso di test.

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

E' invece consigliato l'uso del metodo "AVANZATO" riportato successivamente

Esempio di utilizzo tramite chiamata diretta HTTP POST:

							
                                    <html>
                                    <body>
                                    <form action="http://www.cheapnet.it/areautenti/voip/sms/invia-sms-api.php" method="POST"> 
                                    <input type="hidden" name="testo" value="prova"> 
                                    <input type="hidden" name="sn" value="|300123123|">
                                    <input type="hidden" name="username" value="utente@cheapnet.it">
                                    <input type="hidden" name="mittente" value="MarioRossi">
                                    <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 "testo", ovvero "prova", con il testo del messaggio SMS da inviare (al massimo 160 caratteri)
  • sostituire il valore del campo "sn", ovvero "300123123", con il numero di cellulare del destinatario
  • sostituire il valore del campo "mittente", ovvero "MarioRossi", con il mittente (opzionale) preferito (stringa max 10 caratteri o numero di cellulare valdo per rete italiana) tra quelli memorizzati su Cheapnet.
  • sostituire il valore del campo "username", ovvero "utente@cheapnet.it", con il proprio utente Cheapnet abilitato al servizio CheapVoIP Ricaricabile o CheapVoIP Plus
  • sostituire il valore del campo "password", ovvero "secret", con la password dell'utente Cheapnet indicato sopra





ISTRUZIONI PER UTILIZZO AVANZATO


Per favorire l'utilizzo del servizio di invio SMS tramite CheapVoIP 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 a cui passare due parametri, il testo del messaggio e la lista dei numeri di telefono, e che restituisce un array associativo contenente l'esito dell'invio.
La configurazione di username e password dell'utente Cheapnet abilitato a CheapVoIP Ricaricabile o CheapVoIP Plus deve essere effettuata solo nel file di libreria "cheapvoip-sms.inc.php".

Di seguito vengono riportati due esempi chiarificatori e la libreria.

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

invio_sms_singolo.php - Esempio 1. Codice PHP per inviare un singolo SMS:
	
                                <html>
                                <head>
                                </head>
                                <body> 
                                <div align="center"> 
                                <h1>Invio sms</h1> 
                                <!-- form per l'invio dei dati--> 
                                <!-- si imposta l'action con il nome ed il percorso del file (risposta.php riportato nella pagina) che invoca la WEB API--> 
                                <form method="post" name="form1" action="risposta.php"> 
                                <!-- si prepara un'interfaccia grafica per l'invio dell'sms --> 
                                <table width="440" border="0" align="center" cellpadding="2" cellspacing="2"> 
                                <tr>
                                <td width="203"><strong>Numero di telefono</strong></td>
                                </tr>
                                <tr>
                                <td><!-- si riempie la select con i numeri di telefono completi (prefisso e numero) dei destinatari -->
                                +39 - <input type="text" name="destinatari[]" />    </td>
                                </tr>
                                <tr>
                                <td></td>
                                </tr>
                                <tr>
                                <td><strong>Mittente</strong></td>
                                </tr>
                                <tr><!-- inserisco il mittente come stringa alfanumerica o come numero di telefono cellulare valido per gli operatori italiani. Max 10 caratteri -->
                                <td><input type="text" name="mittente" maxlength="10" /></td>
                                </tr>
                                <tr>
                                <td><strong>Testo del messaggio (max 160 caratteri)</strong></td>
                                </tr>
                                <tr>
                                <td>
                                <textarea name="testo" rows="4" cols="45" id="textarea"></textarea></td>
                                </tr>
                                <tr>
                                <td
                                align="center"></td>
                                </tr>
                                <tr>
                                <td
                                align="center"> 
                                <!-- pulsante di invio SMS--> 
                                <input name="Submit" type="submit" value="Invia"></td>
                                </tr>
                                </table>
                                </form>
                                </div>
                                </body>
                                </html>
                            


invio_sms_multiplo.php - Esempio 2. Codice PHP per inviare un SMS multiplo:
	
                                <html>
                                <head>
                                </head>
                                <body>
                                <div align="center">
                                <h1>Invio sms</h1>
                                <?php
                                $lista_numeri[]="300123123";
                                $lista_numeri[]="300456456";
                                ?>
                                <!-- form per l'invio dei dati-->
                                <!-- si imposta l'action con il nome ed il percorso del file (risposta.php riportato nella pagina) che invoca la WEB API-->
                                <form method="post" name="form1" action="risposta.php">
                                <!-- si prepara un'interfaccia grafica per l'invio dell'sms -->
                                <div align="center">Ricordati di modificare la lista dei numeri di telefono che si trova all'inizio di questo file.</div><br>
                                <table width="440" border="0" align="center" cellpadding="2" cellspacing="2">
                                <tr>
                                <td
                                width="203"><strong>Numero di telefono</strong></td>
                                </tr>
                                <tr>
                                <td><!-- si riempie la select con i numeri di telefono completi (prefisso e numero) dei destinatari
                                -->
                                +39<select name="destinatari[]" multiple="multiple" size="5">
                                <?php
                                foreach($lista_numeri
                                as $value){
                                echo "<option value=\"".$value."\">".$value."</option>\n";
                                }
                                ?>
                                </select></td>
                                </tr>
                                <tr>
                                <td></td>
                                </tr>
                                <tr>
                                <td><strong>Mittente</strong></td>
                                </tr>
                                <tr><!-- inserisco il mittente come stringa alfanumerica o come numero di telefono cellulare valido per gli operatori italiani. Max 10 caratteri -->
                                <td><input type="text" name="mittente" maxlength="10" /></td>
                                </tr>
                                <tr>
                                <td><strong>Testo del messaggio (max 160 caratteri)</strong></td>
                                </tr>
                                <tr>
                                <td>
                                <textarea name="testo" rows="4" cols="45" id="textarea"></textarea></td>
                                </tr>
                                <tr>
                                <td align="center"> </td>
                                </tr>
                                <tr>
                                <td align="center">
                                <!-- pulsante di invio SMS-->
                                <input name="Submit" type="submit" value="Invia"></td>
                                </tr>
                                </table>
                                </form>
                                </div>
                                </body>
                                </html>
                            


risposta.php - Esempio completo di pagina HTML che include la libreria e gestice la risposta:
	
                                <html>
                                <body>
                                <div align="center"><?php
                                //si include la libreria per inviare SMS
                                require("cheapvoip-sms.inc.php");
                                
                                $mittente = $_REQUEST['mittente'];
                                //testo dell'sms ricevuto dal form
																$testo = $_REQUEST["testo"];
                                $destinatari = $_REQUEST["destinatari"];
                                // Invio il messaggio alla lista dei destinatari
                                $ret=CheapVoIPSMS ($mittente, $destinatari, $testo);
                                // Visualizzo l'esito dell'invio
                                $autorizzato=$ret[0]["autorizzato"];
                                $messaggio=$ret[0]["evento"];
                                if($autorizzato == true){
                                echo "Utente autorizzato all'invio di SMS\n<br>";
                                } else {
                                echo "Utente non autorizzato all'invio di SMS\n<br>";
                                }
                                echo $messaggio."\n<br>";
                                $lista_messaggi=$ret[1];
                                ?> 
                                <table border="1" cellspacing="0" cellpadding="0"> 
                                <tr>
                                <td align="center">numero</td>
                                <td align="center">risposta</td>
                                <td align="center">esito</td>
                                </tr>
                                <?php
                                foreach($lista_messaggi as $messaggio){
                                echo "<tr>";
                                echo "<td align=\"center\">".$messaggio["numero"]."</td>";
                                echo "<td align=\"center\">".$messaggio["risposta"]."</td>";
                                echo "<td align=\"center\">".(($messaggio["esito"])?'Inviato':'Non inviato')."</td>";
                                echo "</tr>\n";
                                }
                                ?>
                                </table>
                                </div>
                                </body>
                                </html>
                            


cheapvoip-sms.inc.php - Libreria per l'invio di SMS:
	
                                <?php
                                /*  MODIFICARE QUESTI CAMPI    */
                                //username di Cheapnet (che sia abilitato all'utilizzo di CheapVoIP)
                                define("USERNAME","<utentecheapnet>@cheapnet.it");
                                //nome del mittente o numero di telefono cellulare adoperato
                                define("MITTENTE","Mariorossi"); 
                                //password di Cheapnet 
                                define("PASSWORD","<passwordcheapnet>");
                                //lista di destinatari ricevuta dal form
                                //comando di invio
                                define("SUBMIT", "Invia");
                                //URL WEB API CheapVoIP SMS
                                define("URLAPI","http://www.cheapnet.it/areautenti/voip/sms/invia-sms-api.php");
                                function CheapVoIPSMS ($mittente, $destinatari, $testo)
                                {
                                $params="sn=";
                                foreach($destinatari as $value){ 
                                $params.="|".$value."|"; 
                                }
                                $params.="&testo=".$testo;
                                $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 .= "&mittente=" . MITTENTE . "&username=" . USERNAME
                                . "&password=". PASSWORD . "&Submit=" . SUBMIT; 
                                //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;
                                }
                                ?>