DOCUMENTAZIONE API SMS STAR
SMS
STAR offre la possibilità di collegarsi al suo SMS gateway
(senza alcun costo). SMS gateway ti permette di automatizzare l'invio
dei messaggi SMS e integrare il servizio di invio SMS in qualsiasi tuo
progetto Web.
Gli SMS vengono inviati attraverso il nostro gateway tramite una
richiesta POST e un file XML.
Configurazioni Iniziali
Innanzitutto CREA UN ACCOUNT. Poi, per attivare il gateway sms è necessario 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".
Scegliendo la "Modalità Reale" i messaggi verranno inviati immediatamente dopo aver inviato la richiesta al gateway. Impostando invece la "Modalità Test" i messaggi non saranno inviati. In quest'ultimo caso verrà però creato un processo che risulterà "Non pronto". Questo indica che la connessione al gateway è avvenuta con successo e che i dati sono stati trasferiti al server.
Invio SMS Usando file XML
L'SMS
viene inviato tramite richiesta POST verso lo script https://www.smsstar.it/account/xml.php.[Vedi
in fondo a questa pagine uno script PHP per inviare l'XML a tale
pagina]
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 verso https://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=>'https://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 (Sezione 1):
<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.
Ricevere info dei crediti necessari per inviare gli SMS.
I parametri sono sempre quelli descritti nella Sezione 1, l'unica differenza che il tag <operation> va impostato su GETPRICE.
Si
riceverà in risposta il seguente XML:
<RESPONSE>
<status>status_code</status>
<credits><credits>
</RESPONSE>
Status | Valore | Descrizione |
AUTH_FAILED |
-1 | Login o password |
OK | 0 | Query corretta |
XML_ERROR |
-2 | Formato XML non corretto |
Il paramtero credits indica il numero di crediti necessari per inviare gli SMS.
Ricevere info sullo stato del SMS inviato
E'
possibile richiedere informazioni sullo stato del SMS inviato tramite
richiesta POST verso lo script https://www.smsstar.it/account/xml.php.
Bisogna inviare un
'XML'
con la seguente struttura:
<SMS>
<operations>
<operation>GETSTATUS</operation>
</operations>
<authentification>
<username></username>
<password></password>
</authentification>
<statistics>
<messageid></messageid>
<messageid></messageid>
</statistics>
</SMS>
Si
riceverà in risposta un XML come questo:
<deliveryreport>
<message
id="msgID" sentdate="xxxxx" donedate="xxxxx"
status="xxxxxx"/>
<message
id="msgID" sentdate="xxxxx" donedate="xxxxx"
status="xxxxxx"/>
.....
</deliveryreport>
Stato | Descrizione |
SENT | Inviato |
NOT_DELIVERED |
Non inviato |
DELIVERED |
Consegnato |
NOT_ALLOWED |
Operatore fuori servizio |
INVALID_DESTINATION_ADDRESS | Invalido numero destinatario |
INVALID_SOURCE_ADDRESS | Invalido numero mittente |
NOT_ENOUGH_CREDITS |
Crediti Insufficienti |
Le date hanno il seguente formato: yyyy-mm-dd hh:mm:ss
Ricevere info sul numero di crediti a disposizione
Per
ottenere info sul numero di crediti a disposizione basta inviare una
richiesta XML verso https://www.smsstar.it/account/xml.php.
L'xml deve essere di questo tipo:
<SMS>
<operations>
<operation>BALANCE</operation>
</operations>
<authentification>
<username></username>
<password></password>
</authentification>
</SMS>
Paramteri:
<operation> -deve
essere impostato su BALANCE per questa operazione.
<username> -
Username registrato su SMS STAR.
<password> -
Password registrata su SMS STAR.
Si
riceverà in risposta il seguente XML::
<RESPONSE>
<status>status_code</status>
<credits></credits>
</RESPONSE>
Stato | Valore | Descrizione |
AUTH_FAILED |
-1 | User o Password errata |
OK | 0 | Query corretta |
XML_ERROR |
-2 | XML errato |
Il parametro credits indicherà il numero di crediti rimanenti.
Ricevere info sul costo di un credito
Per
sapere il costo di un credito basta inviare in POST una query XML allo
script https://www.smsstar.it/account/xml.php.
La struttura del xml deve essere:
<SMS>
<operations>
<operation>CREDITPRICE</operation>
</operations>
<authentification>
<username></username>
<password></password>
</authentification>
</SMS>
Parametri:
<operation> - deve
essere impostato su CREDITPRICE per questa operazione.
<username> -
unsername registrata su smsstar.
<password> -
password registrata su smsstar.
Si
riceve in risposta un XML del genere:
<RESPONSE>
<status>status_code</status>
<price></price>
</RESPONSE>
Stato | Valore | Descrizione |
AUTH_FAILED |
-1 | Login incorretto |
OK | 0 | Query corretta |
XML_ERROR |
-2 | XML errato |
Nel parametro <price> ci sarà 1 credito in dollari U.S..
ESEMPI DI SCRIPT PER INVIARE SMS TRAMITE IL GATEWAY DI SMSSTARScript in PHP per Inviare SMS
Script in C# per Inviare SMS
Script in Java per Inviare SMS
Script in Perl per Inviare SMS
Script in Python per Inviare SMS
Pannello di Controllo
|