Schnittstellen

Massensms-Verteiler Schnittstelle

Es können Informationen zu den Massensmstabellen abgerufen werden. Außerdem kann der Tabelleninhalt geändert werden.

API

Anfrage

Adresse: http://www.sloono.de/API/httpkonto.php?section=tab

Parameter Typ Beschreibung Standard
user Text Username  
password Text MD5-Hashwert des Passworts  
action Text Ein Befehl:
  • view
  • add
  • delete
  • change

Abhängig vom Befehl müssen noch ggf. zusätzliche Parameter angegeben werden.

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

Befehle

view - Tabellenliste holen
Der Befehl view gibt die Liste der vorhandenen Massensms-Tabellen aus. Es sind keine weiteren Parameter erforderlich.
add - Eine neue Zeile in eine Tabelle hinzufügen
Parameter Typ Beschreibung
name Text Name der gewählten Tabelle. Dieser Wert muss gesetzt werden!
col1 Text Die erste Spalte enthält immer eine gültige Handynummer. Dieser Wert muss gesetzt werden!
col... Text

Wenn die Tabelle mehrere Spalten besitzt (col2, col3, .... ) können diese auch gefüllt werden.

Diese Parameter müssen zu den normalen Parametern zusätzlich noch angegeben werden.
delete - Eine Zeile in einer Tabelle löschen
Parameter Typ Beschreibung
name Text Name der gewählten Tabelle. Dieser Wert muss gesetzt werden!
handynummer Text Handynummer, deren Zeile gelöscht werden soll. Dieser Wert muss gesetzt werden!
Diese Parameter müssen zu den normalen Parametern zusätzlich noch angegeben werden.
change - Eine Zeile in einer Tabelle ändern
Parameter Typ Beschreibung
handynummer Text Handynummer, deren Zeile geändert werden soll. Dieser Wert muss gesetzt werden!
name Text Name der gewählten Tabelle. Dieser Wert muss gesetzt werden!
col1 Text In der ersten Spalte steht die Handynummer. Soll diese geändert werden muss mit col1 eine gültige Nummer übergeben werden. Dieser Wert ist optional.
col... Text

Wenn die Tabelle mehrere Spalten besitzt (col2, col3, .... ) können diese auch gefüllt werden.

Kurz: Mit handynummer wird die Zeile ausgewählt, mit col1, col2, ... werden die Zellen in der Zeile neu geschrieben. Diese Parameter müssen zu den normalen Parametern zusätzlich noch angegeben werden.

Antworten

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).

Beispiele

So kann eine GET-Anfrage aussehen:

http://www.sloono.de/API/httpkonto.php?user=musteruser&password=e16b2ab8d12314bf4efbd6203906ea6c
&section=tab&action=view

So kann eine Textantwort aussehen:

1
2
3
4
5
6
101
Erfolgreiche Abfrage

Command: List tables
Tables:
    Table1: Test

Empfehlung

Es ist empfehlenswert bei den Massentabellen return=xml zu verwenden und die Antworten mit einem XML-Parser auszuwerten. Bei den Massensmstabellen werden manche Informationen wie z. B. der Tabelleninhalt verschachtelt zurückgegeben, da ist ein XML-Parser sinnvoller.

Quellcodebeispiele

PHP

Beispiel 1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
function
Massensmstabellen($User,$Password) {
    if(
strlen($User) == 0) return false;
    if(
strlen($Password) == 0) return false;
    
$url = "http://www.sloono.de/API/httpkonto.php?section=tab";
    
$url .= "&user=".urlencode($User);
    
$url .= "&password=".md5($Password)."&httphead=0";
    
$Antwort = @file($url);
    if(
$Antwort == false) return false;
    if(
trim($Antwort[0]) != 101) return false;
    
$ant = false;
    for(
$i=5;$i<count($Antwort);$i++) {
        
$x = explode(": ",trim($Antwort[$i]));
        if(
trim($Antwort[$i]) != "") $ant[$x[0]] = $x[1];
    }
    return
$ant;
}

function
ZeileHinzufuegen($User,$Password,$Tabelle,$Daten) {
    if(
strlen($User) == 0) return false;
    if(
strlen($Password) == 0) return false;
    if(
strlen($Tabelle) == 0) return false;
    if(!
is_array($Daten) || count($Daten) == 0) return false;
    
$url = "http://www.sloono.de/API/httpkonto.php?section=tab";
    
$url .= "&action=add&user=".urlencode($User);
    
$url .= "&password=".md5($Password)."&httphead=0";
    
$url .= "&name=".urlencode($Tabelle);
    foreach(
$Daten as $i => $cell)
        
$url .= "&col".($i + 1)."=".urlencode($cell);
    
$Antwort = @file($url);
    die(
print_r($Antwort,true));
    if(
$Antwort == false) return false;
    if(
trim($Antwort[0]) != 102) return false;
    if(
trim($Antwort[3]) != "Command: Add row.") return false;
    return
true;
}

function
ZeileLoeschen($User,$Password,$Tabelle,$Handynummer) {
    if(
strlen($User) == 0) return false;
    if(
strlen($Password) == 0) return false;
    if(
strlen($Tabelle) == 0) return false;
    if(
strlen($Handynummer) == 0) return false;
    
$url = "http://www.sloono.de/API/httpkonto.php?section=tab";
    
$url .= "&action=delete&user=".urlencode($User);
    
$url .= "&password=".md5($Password)."&httphead=0";
    
$url .= "&name=".urlencode($Tabelle);
    
$url .= "&handynummer=".urlencode($Handynummer);
    
$Antwort = @file($url);
    if(
$Antwort == false) return false;
    if(
trim($Antwort[0]) != 102) return false;    
    if(
trim($Antwort[3]) != "Command: Delete row.") return false;
    return
true;
}
?>

<?php
$massensmstab
= Massensmstabellen("Max","PW von Max");
if(
$massensmstab == false)
    echo
"Fehler!";
else {
    echo
"<h1>sloono Massensmstabellen</h1><ol>";
    foreach(
$massensmstab as $var => $wert)
        echo
"<li>".$wert."</li> ";
    echo
"</ol>";
}
?>

<?php
if(ZeileHinzufuegen("Max","PW von Max","Tabelle",
                    array(
"+12(123)12345678","Variable A")))

    echo
"+12(123)12345678 wurde hinzugef&uuml;gt.";
else
    echo
"+12(123)12345678 konnte nicht hinzugef&uuml;gt werden!";
?>

<?php
if(ZeileLoeschen("Max","PW von Max","Tabelle","+12(123)12345678"))
    echo
"+12(123)12345678 wurde gel&ouml;scht.";
else
    echo
"+12(123)12345678 konnte nicht gel&ouml;scht werden!";
?>