SLOONO.de-API SMS: SOAP
Aus SLOONO.de-API
Für den SMS-Versand steht jetzt auch ein Webservice zur Verfügung .
Inhaltsverzeichnis |
[Bearbeiten] API
Adresse: http://www.sloono.de/API/soapsms.php
Definition (WSDL): http://www.sloono.de/API/soapsms.php?wsdl
[Bearbeiten] Anfrage
Für die Anfrage ist der komplexe Datentyp SMS1 notwendig.| Feld | Typ | Beschreibung | Standard |
|---|---|---|---|
| user | Text | Username | |
| password | Text | MD5-Hashwert des Passworts | |
| typ | Zahl/Text | Welcher SMS-Typ soll gesendet werden:
|
0 |
| timestamp | Zahl | UNIX-Timestamp der genünschten Sendezeit. Bei 0 oder einem vergangenem Zeitpunkt wird sofort gesendet. | 0 |
| text | Text | SMS-Text mit maximal 1600 Zeichen. | |
| from | Zahl | Absenderkennung:
|
1 |
| to | Text | Zielnummern getrennt durch Komma (,) und im nationalen oder internationalen Format (0123/456789 oder +49(123)456789). Es können auch die Spitznamen aus dem Adressbuch oder Vor- + Nachname aus dem Adressbuch benutzt werden. | |
| action | Text | Es können die Werte info oder send gesetzt werden. Der Wert send überträgt die SMS ins System von MMSCLICK, während info nur Informationen über die SMS wie z. B. Preis zurück gibt. Nach dem senden werden die gleichen Informationen zurück gegeben. | send |
Alle Variablen, die keinen Standartwert haben müssen gesetzt werden!
[Bearbeiten] Antwort
Als Antwort wird ein Datensatz vom komplexe Datentyp Antwort zurückgegeben.
| Feld | Typ | Beschreibung |
|---|---|---|
| code | Zahl | Antwortcode (Liste der Antwortcodes) |
| codetext | Text | Textbeschreibung des Antwortcodes. |
| info | Zahl/Text | Informationen über den Status, Fehlermeldungen oder Informationen über die SMS. |
[Bearbeiten] Quellcodebeispiele
[Bearbeiten] PHP
[Bearbeiten] SOAP-Erweiterung
In diesem PHP-Beispiel wird die SOAP-Erweiterung[1] von PHP5 verwendet.
<?phpdefine("WEBSMS_Discount",0);
define("WEBSMS_Basic",1);
define("WEBSMS_Pro",2);
define("WEBSMS_FLASH",3);
define("ABSENDER_Handynummer",1);
define("ABSENDER_Kennung_1",2);
define("ABSENDER_Kennung_2",3);
define("ABSENDER_Kennung_3",4);
define("ABSENDER_Kennung_4",5);
class clsSMS1 {
public $user;
public $password;
public $from = ABSENDER_Handynummer;
public $to;
public $text;
public $typ = (string)WEBSMS_Pro;
public $timestamp = 0;
public $action = "send";
}function SMS_versenden($User,$Password,$Text,$Ziel,
$Absender = ABSENDER_Handynummer,
$Typ = WEBSMS_Discount,$Versenden = 0) {
if(strlen($Text) == 0) return array("Code" => 201,
"Codetext" => "Kein Text","Info" => "");
if(strlen($User) == 0 || strlen($Password) == 0) return array("Code" => 200,
"Codetext" => "Username und/oder Passwort falsch","Info" => "");
if(strlen($Text) > 1600) $Text = substr($Text,0,1600);
if($Absender < ABSENDER_Handynummer || $Absender > ABSENDER_Kennung_4)
$Absender = ABSENDER_Handynummer;
if($Versenden < time()) $Versenden = 0;
if($Typ < 0 || $Typ > 3) $Typ = 0;
$wsdl = "http://www.sloono.de/API/soapsms.php?wsdl";
// Hinweis: PHP-SOAP funktioniert besser mit einer lokalen WSDL-Datei.$sc = NULL;
try {$sc = new SoapClient($wsdl, array('soap_version' => SOAP_1_2));
} catch (SoapFault $sf) {
return array("Code" => 500, "Codetext" => "SOAP-Fehler",
"Info" => print_r($sf,true));
}$sms = new clsSMS1();
$sms->user = $User;
$sms->password = md5($Password);
$sms->from = $Absender;
$sms->to = $Ziel;
$sms->text = $Text;
$sms->typ = (string)$Typ;
$sms->timestamp = $Versenden;
$sms->action = "send";
$result = $sc->smssenden1($sms);
return array("Code" => $result->code,"Codetext" => $result->codetext,
"Info" => $result->info);
}?><?php$Antwort = SMS_versenden("Max","PW von Max",
"Dies ist ein SMS-Text.","0123/456789");
if($Antwort["Code"] == 100)
echo "SMS gesendet!<br>".$Antwort["Info"];
elseecho "Fehler!<br>".$Antwort["Codetext"];
?>
[Bearbeiten] NuSOAP
Für dieses PHP-Beispiel ist die Klassensammlung NuSOAP[2] erforderlich.
NuSOAP ist mittlerweile veraltet! Es wird empfohlen die SOAP-Erweiterung von PHP oder die Klassen aus PEAR zu verwenden! Für NuSOAP gibt es keinen Support mehr von SLOONO.de!
<?phprequire_once('nusoap.php');
define("WEBSMS_Discount",0);
define("WEBSMS_Basic",1);
define("WEBSMS_Pro",2);
define("WEBSMS_FLASH",3);
define("ABSENDER_Handynummer",1);
define("ABSENDER_Kennung_1",2);
define("ABSENDER_Kennung_2",3);
define("ABSENDER_Kennung_3",4);
define("ABSENDER_Kennung_4",5);
function SMS_versenden($User,$Password,$Text,$Ziel,
$Absender = ABSENDER_Handynummer,
$Typ = WEBSMS_Discount,$Versenden = 0) {
if(strlen($Text) == 0) return array("Code" => 201,
"Codetext" => "Kein Text","Info" => "");
if(strlen($User) == 0 || strlen($Password) == 0) return array("Code" => 200,
"Codetext" => "Username und/oder Passwort falsch","Info" => "");
if(strlen($Text) > 1600) $Text = substr($Text,0,1600);
if($Absender < 1 || $Absender > 5) $Absender = 1;
if($Versenden < time()) $Versenden = 0;
if($Typ < 0 || $Typ > 3) $Typ = 0;
$client = new soapclient('http://www.sloono.de/API/wsdl.php?soapsms1',
true);
$err = $client->getError();
if ($err) return array("Code" => 302,"Codetext" => "Verbindungsfehler!",
"Info" => "");
$proxy = $client->getProxy();
$sms = array("user" => $User,"password" => md5($Password),
"from" => $Absender,"to" =>$Ziel,"text" => $Text,"typ" => $Typ,
"timestamp" => $Versenden,"action" => "send");
$result = $proxy->smssenden1($sms);
if ($proxy->fault) return array("Code" => 302,
"Codetext" => "Verbindungsfehler!","Info" => print_r($result,true));
$err = $proxy->getError();
if ($err) return array("Code" => 302,
"Codetext" => "Verbindungsfehler!","Info" => $err);
return array("Code" => $result["code"],"Codetext" => $result["codetext"],
"Info" => $result["info"]);
}?><?php$Antwort = SMS_versenden("Max","PW von Max",
"Dies ist ein SMS-Text.","0123/456789");
if($Antwort["Code"] == 100)
echo "SMS gesendet!<br>".$Antwort["Info"];
elseecho "Fehler!<br>".$Antwort["Codetext"];
?>
[Bearbeiten] .NET
Das folgende Beispiel ist mit Visual Studio 2008 erstellt worden.Beispiel:
- Als erstes muss ein neues VB-Projekt erstellt werden
- Projekt > Webverweis hinzufügen ...
- URL: http://www.sloono.de/API/soapsms.php?wsdl
- Webverweisname: SLOONOSMS
- Nun kann Sourcecode geschrieben werden. Z. B. folgenden Code:
VB.NET
'Webservice-ObjektDim WS As New SLOONOSMS.soapsms1
'SMSDim WSFrage As New SLOONOSMS.SMS1
WSFrage.action = "send"
WSFrage.from = 1
WSFrage.password = MD5_Hash("Musterpasswort")
WSFrage.text = "SMS-Text"
WSFrage.timestamp = New System.UInt64
WSFrage.timestamp.Parse("0")
WSFrage.to = "+49(123)4567890"
WSFrage.typ = "Discount"
WSFrage.user = "Musternickname"
'AntwortDim WSAntwort As SLOONOSMS.Antwort
WSAntwort = WS.smssenden1(WSFrage)
'Auswerten:' WSAntwort.code' WSAntwort.codetext' WSAntwort.info
C#
//Webservice-ObjektSLOONOSMS.soapsms1 WS = new SLOONOSMS.soapsms1();
//SMSSLOONOSMS.SMS1 WSFrage = new SLOONOSMS.SMS1();
WSFrage.action = "send";
WSFrage.from = 1;
WSFrage.password = MD5_Hash("Musterpasswort");
WSFrage.text = "SMS-Text";
WSFrage.timestamp = new System.UInt64;
WSFrage.timestamp.Parse("0");
WSFrage.to = "+49(123)4567890";
WSFrage.typ = "Discount";
WSFrage.user = "Musternickname";
//AntwortSLOONOSMS.Antwort WSAntwort;
WSAntwort = WS.smssenden1(WSFrage);
//Auswerten:// WSAntwort.code// WSAntwort.codetext// WSAntwort.info
