SLOONO.de-API SMS: SOAP

Aus SLOONO.de-API

Wechseln zu: Navigation, Suche

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 oder Discount
  • 1 oder Basic oder Lite
  • 2 oder Pro
Bei dieser Variable kann entweder die Nummer oder der Text verwendet werden. typ=0 und typ=Discount haben die gleiche Wirkung.
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. Handynummer
  2. Absenderkennung 1
  3. Absenderkennung 2
  4. Absenderkennung 3
  5. Absenderkennung 4
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.

  1. <?php
  2.  
  3. define("WEBSMS_Discount",0);
  4. define("WEBSMS_Basic",1);
  5. define("WEBSMS_Pro",2);
  6. define("WEBSMS_FLASH",3);
  7.  
  8. define("ABSENDER_Handynummer",1);
  9. define("ABSENDER_Kennung_1",2);
  10. define("ABSENDER_Kennung_2",3);
  11. define("ABSENDER_Kennung_3",4);
  12. define("ABSENDER_Kennung_4",5);
  13.  
  14. class clsSMS1 {
  15.     public $user;
  16.     public $password;
  17.     public $from = ABSENDER_Handynummer;
  18.     public $to;
  19.     public $text;
  20.     public $typ = (string)WEBSMS_Pro;
  21.     public $timestamp = 0;
  22.     public $action = "send";
  23. }
  24.  
  25. function SMS_versenden($User,$Password,$Text,$Ziel,
  26.         $Absender = ABSENDER_Handynummer,
  27.         $Typ = WEBSMS_Discount,$Versenden = 0) {
  28.     if(strlen($Text) == 0) return array("Code" => 201,
  29.         "Codetext" => "Kein Text","Info" => "");
  30.     if(strlen($User) == 0 || strlen($Password) == 0) return array("Code" => 200,
  31.         "Codetext" => "Username und/oder Passwort falsch","Info" => "");
  32.     if(strlen($Text) > 1600) $Text = substr($Text,0,1600);
  33.     if($Absender < ABSENDER_Handynummer || $Absender > ABSENDER_Kennung_4)
  34.         $Absender = ABSENDER_Handynummer;
  35.     if($Versenden < time()) $Versenden = 0;
  36.     if($Typ < 0 || $Typ > 3) $Typ = 0;
  37.  
  38.     $wsdl = "http://www.sloono.de/API/soapsms.php?wsdl";
  39.     // Hinweis: PHP-SOAP funktioniert besser mit einer lokalen WSDL-Datei.
  40.  
  41.     $sc = NULL;
  42.     try {
  43.         $sc = new SoapClient($wsdl, array('soap_version' => SOAP_1_2));
  44.     } catch (SoapFault $sf) {
  45.         return array("Code" => 500, "Codetext" => "SOAP-Fehler",
  46.                      "Info" => print_r($sf,true));
  47.     }
  48.  
  49.     $sms = new clsSMS1();
  50.     $sms->user = $User;
  51.     $sms->password = md5($Password);
  52.     $sms->from = $Absender;
  53.     $sms->to = $Ziel;
  54.     $sms->text = $Text;
  55.     $sms->typ = (string)$Typ;
  56.     $sms->timestamp = $Versenden;
  57.     $sms->action = "send";
  58.  
  59.     $result = $sc->smssenden1($sms);
  60.     return array("Code" => $result->code,"Codetext" => $result->codetext,
  61.         "Info" => $result->info);
  62. }
  63. ?>
  64.  
  65. <?php
  66. $Antwort = SMS_versenden("Max","PW von Max",
  67.     "Dies ist ein SMS-Text.","0123/456789");
  68. if($Antwort["Code"] == 100)
  69.     echo "SMS gesendet!<br>".$Antwort["Info"];
  70. else
  71.     echo "Fehler!<br>".$Antwort["Codetext"];
  72.  
  73. ?>

[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!

  1. <?php
  2.  
  3. require_once('nusoap.php');
  4.  
  5. define("WEBSMS_Discount",0);
  6. define("WEBSMS_Basic",1);
  7. define("WEBSMS_Pro",2);
  8. define("WEBSMS_FLASH",3);
  9.  
  10. define("ABSENDER_Handynummer",1);
  11. define("ABSENDER_Kennung_1",2);
  12. define("ABSENDER_Kennung_2",3);
  13. define("ABSENDER_Kennung_3",4);
  14. define("ABSENDER_Kennung_4",5);
  15.  
  16. function SMS_versenden($User,$Password,$Text,$Ziel,
  17.         $Absender = ABSENDER_Handynummer,
  18.         $Typ = WEBSMS_Discount,$Versenden = 0) {
  19.     if(strlen($Text) == 0) return array("Code" => 201,
  20.         "Codetext" => "Kein Text","Info" => "");
  21.     if(strlen($User) == 0 || strlen($Password) == 0) return array("Code" => 200,
  22.         "Codetext" => "Username und/oder Passwort falsch","Info" => "");
  23.     if(strlen($Text) > 1600) $Text = substr($Text,0,1600);
  24.     if($Absender < 1 || $Absender > 5) $Absender = 1;
  25.     if($Versenden < time()) $Versenden = 0;
  26.     if($Typ < 0 || $Typ > 3) $Typ = 0;
  27.     $client = new soapclient('http://www.sloono.de/API/wsdl.php?soapsms1',
  28.         true);
  29.     $err = $client->getError();
  30.     if ($err) return array("Code" => 302,"Codetext" => "Verbindungsfehler!",
  31.         "Info" => "");
  32.     $proxy = $client->getProxy();
  33.     $sms = array("user" => $User,"password" => md5($Password),
  34.         "from" => $Absender,"to" =>$Ziel,"text" => $Text,"typ" => $Typ,
  35.         "timestamp" => $Versenden,"action" => "send");
  36.     $result = $proxy->smssenden1($sms);
  37.     if ($proxy->fault) return array("Code" => 302,
  38.         "Codetext" => "Verbindungsfehler!","Info" => print_r($result,true));
  39.     $err = $proxy->getError();
  40.     if ($err) return array("Code" => 302,
  41.         "Codetext" => "Verbindungsfehler!","Info" => $err);
  42.     return array("Code" => $result["code"],"Codetext" => $result["codetext"],
  43.         "Info" => $result["info"]);
  44. }
  45. ?>
  46.  
  47. <?php
  48. $Antwort = SMS_versenden("Max","PW von Max",
  49.     "Dies ist ein SMS-Text.","0123/456789");
  50. if($Antwort["Code"] == 100)
  51.     echo "SMS gesendet!<br>".$Antwort["Info"];
  52. else
  53.     echo "Fehler!<br>".$Antwort["Codetext"];
  54.  
  55. ?>

[Bearbeiten] .NET

Das folgende Beispiel ist mit Visual Studio 2008 erstellt worden.

Beispiel:

  1. Als erstes muss ein neues VB-Projekt erstellt werden
  2. Projekt > Webverweis hinzufügen ...
    • URL: http://www.sloono.de/API/soapsms.php?wsdl
    • Webverweisname: SLOONOSMS
    Weiter mit Verweis hinzufügen.
  3. Nun kann Sourcecode geschrieben werden. Z. B. folgenden Code:


VB.NET

  1. 'Webservice-Objekt
  2.  
  3. Dim WS As New SLOONOSMS.soapsms1
  4.  
  5. 'SMS
  6. Dim WSFrage As New SLOONOSMS.SMS1
  7. WSFrage.action = "send"
  8. WSFrage.from = 1
  9. WSFrage.password = MD5_Hash("Musterpasswort") 
  10. WSFrage.text = "SMS-Text"
  11. WSFrage.timestamp = New System.UInt64
  12. WSFrage.timestamp.Parse("0")
  13. WSFrage.to = "+49(123)4567890"
  14. WSFrage.typ = "Discount"
  15. WSFrage.user = "Musternickname"
  16.  
  17. 'Antwort
  18. Dim WSAntwort As SLOONOSMS.Antwort
  19. WSAntwort = WS.smssenden1(WSFrage)
  20.  
  21. 'Auswerten:
  22. ' WSAntwort.code
  23. ' WSAntwort.codetext
  24.  
  25. ' WSAntwort.info

C#

  1. //Webservice-Objekt
  2.  
  3. SLOONOSMS.soapsms1 WS = new SLOONOSMS.soapsms1();
  4.  
  5. //SMS
  6. SLOONOSMS.SMS1 WSFrage = new SLOONOSMS.SMS1();
  7. WSFrage.action = "send";
  8. WSFrage.from = 1;
  9. WSFrage.password = MD5_Hash("Musterpasswort");
  10. WSFrage.text = "SMS-Text";
  11. WSFrage.timestamp = new System.UInt64;
  12. WSFrage.timestamp.Parse("0");
  13. WSFrage.to = "+49(123)4567890";
  14. WSFrage.typ = "Discount";
  15. WSFrage.user = "Musternickname";
  16.  
  17. //Antwort
  18. SLOONOSMS.Antwort WSAntwort;
  19. WSAntwort = WS.smssenden1(WSFrage);
  20.  
  21. //Auswerten:
  22. // WSAntwort.code
  23. // WSAntwort.codetext
  24.  
  25. // WSAntwort.info
Persönliche Werkzeuge