SLOONO.de-API SMS: HTTP

Aus SLOONO.de-API

Wechseln zu: Navigation, Suche

Die einfache HTTP-Schnittstelle ermöglicht es sofort mit einem einzigen Aufruf der API-Seite eine SMS zu verschicken.

Inhaltsverzeichnis

[Bearbeiten] API

[Bearbeiten] Anfrage

Adresse: http://www.sloono.de/API/httpsms.php

Parameter 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
return Text Mit dieser Variable wird das Antwortformat festgelegt. Mit text wird die Antwort als Mehrzeiliger Text zurückgegeben während xml ein XML-Schema liefert. text
httphead Zahl Wenn httphead auf 1 gesetzt wird, so werden bei Fehlern HTTP-Header ungleich 200 gesendet. Beim Wert 0 muss der Fehler aus der Antwort abgelesen werden. 1

Alle Variablen, die keinen Standartwert haben müssen gesetzt werden!

[Bearbeiten] Antwort

Eine Vorauswahl wird bereits mit dem HTTP-Header der Antwort getroffen. Wenn etwas anderes als HTTP 1/1 200 OK als Antwort empfangen wird ist ein Fehler aufgetreten. Zurückgegeben wird ein Fehlercode, ein Fehlertext und Informationen (falls vorhanden).

[Bearbeiten] Beispiele

So kann eine GET-Anfrage aussehen:

http://www.sloono.de/API/httpsms.php?user=musteruser&password=e16b2ab8d12314bf4efbd6203906ea6c&text=Dieser+Text+wird+gesendet.&to=%2B49%28321%29987654

So kann eine Textantwort aussehen:

  1. 100
  2. SMS erfolgreich versendet
  3.  
  4. Text: Dieser Text wird gesendet.
  5. Zeichen: 26
  6. SMS: 1
  7. Absenderkennung: +49(123)456789
  8. Ziele: +49(321)987654
  9. Kosten: 0,059
  10. Versenden: Sofort

So kann eine XML-Antwort aussehen:

  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <answer>
  3.     <code>100</code>
  4.     <codetext>SMS erfolgreich versendet</codetext>
  5.     <info>
  6.         <Text>Dieser Text wird gesendet.</Text>
  7.         <Zeichen>26</Zeichen>
  8.         <SMS>1</SMS>
  9.         <Absenderkennung>+49(123)456789</Absenderkennung>
  10.         <Ziele>+49(321)987654</Ziele>
  11.         <Kosten>0,059</Kosten>
  12.         <Versenden>Sofort</Versenden>
  13.     </info>
  14. </answer>

[Bearbeiten] Quellcodebeispiele

[Bearbeiten] PHP

Beispiel 1:

  1. <?php
  2.  
  3. define("WEBSMS_Discount",0);
  4. define("WEBSMS_Basic",1);
  5. define("WEBSMS_Pro",2);
  6.  
  7. define("ABSENDER_Handynummer",1);
  8. define("ABSENDER_Kennung_1",2);
  9. define("ABSENDER_Kennung_2",3);
  10. define("ABSENDER_Kennung_3",4);
  11. define("ABSENDER_Kennung_4",5);
  12.  
  13. function SMS_versenden($User,$Password,$Text,$Ziel,
  14.         $Absender = ABSENDER_Handynummer,
  15.         $Typ = WEBSMS_Discount,$Versenden = 0)
  16. {
  17.     if(strlen($Text) == 0) return false;
  18.     if(strlen($User) == 0) return false;
  19.     if(strlen($Password) == 0) return false;
  20.     if(strlen($Text) > 1600) $Text = substr($Text,0,1600);
  21.     if($Absender < 1 || $Absender > 5) $Absender = 1;
  22.     if($Versenden < time()) $Versenden = 0;
  23.     if($Typ < 0 || $Typ > 3) $Typ = 0;
  24.     $url = "http://www.sloono.de/API/httpsms.php?user=".urlencode($User);
  25.     $url .= "&password=".md5($Password)."&text=".urlencode($Text);
  26.     $url .= "&to=".urlencode($Ziel);
  27.     if($Absender != ABSENDER_Handynummer) $url .= "&from=".$Absender;
  28.     if($Typ != WEBSMS_Discount) $url .= "&typ=".$Typ;
  29.     if($Versenden > time()) $url .= "&timestamp=".$Versenden;
  30.     $Antwort = @file($url);
  31.     if($Antwort == false) return false;
  32.     return (trim($Antwort[0]) != 100) ? false : true;
  33. }
  34. ?>
  35.  
  36. <?php
  37. if(SMS_versenden("Max","PW von Max","Dies ist ein SMS-Text.","0123/456789"))
  38.     echo "SMS gesendet!";
  39. else
  40.     echo "Fehler!";
  41.  
  42. ?>

Beispiel 2:

  1. <?php
  2.  
  3. define("WEBSMS_Discount",0);
  4. define("WEBSMS_Basic",1);
  5. define("WEBSMS_Pro",2);
  6.  
  7. define("ABSENDER_Handynummer",1);
  8. define("ABSENDER_Kennung_1",2);
  9. define("ABSENDER_Kennung_2",3);
  10. define("ABSENDER_Kennung_3",4);
  11. define("ABSENDER_Kennung_4",5);
  12.  
  13. function SMS_versenden($User,$Password,$Text,$Ziel,
  14.         $Absender = ABSENDER_Handynummer,
  15.         $Typ = WEBSMS_Discount,$Versenden = 0)
  16. {
  17.     if(strlen($Text) == 0) return array("Code" => 201,
  18.             "Codetext" => "Kein Text","Info" => "");
  19.     if(strlen($User) == 0 || strlen($Password) == 0) return array("Code" => 200
  20.             ,"Codetext" => "Username und/oder Passwort falsch","Info" => "");
  21.     if(strlen($Text) > 1600) $Text = substr($Text,0,1600);
  22.     if($Absender < 1 || $Absender > 5) $Absender = 1;
  23.     if($Versenden < time()) $Versenden = 0;
  24.     if($Typ < 0 || $Typ > 3) $Typ = 0;
  25.     $url = "http://www.mmsclick.de/API/httpsms.php?user=".urlencode($User);
  26.     $url .= "&password=".md5($Password)."&text=".urlencode($Text);
  27.     $url .= "&to=".urlencode($Ziel);
  28.     if($Absender != ABSENDER_Handynummer) $url .= "&from=".$Absender;
  29.     if($Typ != WEBSMS_Discount) $url .= "&typ=".$Typ;
  30.     if($Versenden > time()) $url .= "&timestamp=".$Versenden;
  31.     $url_parsed = parse_url($url);
  32.     $host = $url_parsed["host"];
  33.     $port = $url_parsed["port"];
  34.     if($port==0) $port = 80;
  35.     $path = $url_parsed["path"];
  36.     if(empty($path)) $path = "/";
  37.     if ($url_parsed["query"] != "") $path .= "?".$url_parsed["query"];
  38.     $out = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n";
  39.     $fp = fsockopen($host, $port, $errno, $errstr, 30);
  40.     if(!$fp) return array("Code" => 302,"Codetext" =>
  41.             "Verbindung fehlgeschlagen","Info" => "");
  42.     fwrite($fp, $out);
  43.     $body = false;
  44.     while (!feof($fp)) {
  45.         $body .= fgets($fp, 128);
  46.     }
  47.     fclose($fp);
  48.     $hnr = substr($body,9,3);
  49.     $body = ltrim(strstr($body,"\r\n\r\n"));
  50.     $mcode = trim(substr($body,0,strpos($body,"\n")));
  51.     $body = ltrim(strstr($body,"\n"));
  52.     $mtext = trim(substr($body,0,strpos($body,"\n")));
  53.     $body = trim(strstr($body,"\n"));
  54.     return array("Code" => $mcode,"Codetext" => $mtext,"Info" => $body);
  55. }
  56. ?>
  57.  
  58. <?php
  59. $Antwort = SMS_versenden("Max","PW von Max",
  60.         "Dies ist ein SMS-Text.","0123/456789");
  61. if($Antwort["Code"] == 100)
  62.     echo "SMS gesendet!<br>".$Antwort["Info"];
  63. else
  64.     echo "Fehler!<br>".$Antwort["Codetext"];
  65.  
  66. ?>
Persönliche Werkzeuge