L’SMS rappresenta oggi il metodo di comunicazione più veloce per comunicare con gli utenti. A differenza dell’email, l’SMS arriva subito sullo schermo del celluare e con alta probabilità viene immediatamente letto dal destinatario.
In questo articolo vogliamo segnalare un servizio di Invio SMS Automatici, dove per “sms automatici” intendiamo quegli SMS che partono nel momento in cui si verifica un evento predeterminato, come ad esempio l’iscrizione ad una newsletter oppure la registrazione ad un sito o la prenotazione online di un servizio, ecc…
Il servizio in questione si chiama SMS STAR, già molto popolare in Italia sia per la qualità del servizio offerta che per la convenienza (presenta i prezzi SMS più bassi d’Italia!).
Per gestire l’invio di SMS automatici tutto quello che bisogna fare è utilizzare le API offerte da SMS STAR: le API rappresentano una sorta di “porta” che consente di far comunicare un software/servizio con un altro. Se hai un sito web o un programma che vuoi che interagisca con SMS STAR per l’invio automatico dei messaggi, dovrai utilizzare proprio le API SMS.
Prima di vedere le API offerte da SMS STAR e un esempio di script utilizzabile, bisogna registrarsi al servizio. Clicca QUI per registrare un account gratuito su Smsstar.it.
Dopo aver registrato il tuo account (con relativa username e password) dovrai attivare l’opzione API nella sezione Profilo del Pannello di Controllo (http://smsstar.it/account/profile.php). Imposta su “Si” il campo relativo a “Interfaccia XML attivata“. Imposta inoltre la voce “Interfaccia XML” sulla modalità “Reale“.
>”Modalità Reale“: i messaggi verranno inviati immediatamente dopo aver inviato la richiesta al gateway.
>”Modalità Test“: i messaggi non saranno inviati per davvero ma potrai vedere se lo script funziona correttamente.
Invio SMS Automatici tramite file XML
L’SMS viene inviato tramite richiesta POST verso lo script http://www.smsstar.it/account/xml.php.
Il file XML da inviare deve avere una struttura del genere:
<SMS>
<operations>
<operation>SEND</operation>
</operations>
<authentification>
<username></username>
<password></password>
</authentification>
<message>
<sender></sender>
<text></text>
</message>
<numbers>
<number></number>
<number></number>
<number messageID=”msg11″></number>
<number messageID=”msg12″ variables=”var1;var2;var3;”></number>
</numbers>
</SMS>
Di seguito un esempio di script PHP che consente di inviare l’XML versohttp://www.smsstar.it/account/xml.php
<?php
$src = ‘<?xml version=”1.0″ encoding=”UTF-8″?>
<SMS>
<operations>
<operation>SEND</operation>
</operations>
<authentification>
<username></username>
<password></password>
</authentification>
<message>
<sender>SMS</sender>
<text>Test message [UTF-8]</text>
</message>
<numbers>
<number>380972920000</number>
</numbers>
</SMS>’;
$Curl = curl_init();
$CurlOptions = array(
CURLOPT_URL=>’http://www.smsstar.it/account/xml.php’,
CURLOPT_USERAGENT=> ‘Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1b1) Gecko/20081007 Firefox/3.1b1’,
CURLOPT_FOLLOWLOCATION=>false,
CURLOPT_POST=>true,
CURLOPT_HEADER=>false,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_CONNECTTIMEOUT=>15,
CURLOPT_TIMEOUT=>100,
CURLOPT_POSTFIELDS=>array(‘XML’=>$src),
);
curl_setopt_array($Curl, $CurlOptions);
if(false === ($Result = curl_exec($Curl))) {
throw new Exception(‘Http request failed’);
}
curl_close($Curl);
echo $Result;
?>
Lista di parametri :
<operation> – deve essere impostato su “SEND”.
<username> – username del proprio account su SMS STAR.
<password> – password del proprio account su SMS STAR.
<sender> – sms sender ID. Fino a 14 cifre (es. numero di telefono) o 11 caratteri alfa-numerici.
<text> – Messaggio SMS che si vuole inviare
I numeri dei destinatari vengono inseriti tra i tag <numbers>. Per tracciare lo stao dell SMS imposta il message ID per ogni SMS, in modo da poter poi rilevare lo stato di quel messaggio preciso. Le variabili presenti nei tag <number> sono usati per personalizzare il messaggio. Vediamo di seguito un esempio di invio SMS con alcune variabili:
<message>
<sender>SMS</sender>
<text><![CDATA[Ciao %1% ho acquistato %2%]]></text>
</message>
<numbers>
<number messageID=”msg11″ variables=”Marco; una macchina;”></number>
<number messageID=”msg12″ variables=”Pietro;una torta;”></number>
</numbers>
Il primo SMS inviato al destinatario sarà:”Ciao Marco ho acquistato una macchina”, il secondo SMS invece sarà “Ciao Pietro ho acquistato una torta”.
In risposta all’invio degli SMS verrà ricevuto un file XML con le seguenti informazioni:
<RESPONSE>
<status>status_code</status>
<credits></credits>
Status_code |
Valore |
Descrizione |
AUTH_FAILED |
-1 |
Login o password non corretta |
XML_ERROR |
-2 |
Formato XML errato |
NOT_ENOUGH_CREDITS |
-3 |
Crediti Insufficienti per inviare SMS |
NO_RECIPIENTS |
-4 |
Numero telefono destinatario invalido |
SEND_OK |
> 0 |
Numero di SMS inviati |
<credits> questo parametro indica quanti crediti sono stati consumati per inviare i messaggi.
Puoi trovare tante altre informazioni su: http://www.smsstar.it/api.htm
Con tutti questi dati potrai finalmente creare uno script in grado di inviare SMS automatici in base alle tue esigenze!