SLOONO.de-API Account: Kontostand

Aus SLOONO.de-API

Wechseln zu: Navigation, Suche

Es können jetzt Informationen zum Konto wie Kontostand, Anzahl der Nachrichten im Postausgang und Anzahl der Nahcrichten im Archiv ausgelesen werden.

Inhaltsverzeichnis

API

Anfrage

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

Parameter Typ Beschreibung Standard
user Text Username  
password Text MD5-Hashwert des Passworts  
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!

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

<p>An sonsten werden die Kontodaten im Infobereich der Antwort zurückgegeben.

Zeile Inhalt
Kontostand: Kontostand als Text.
SMS: Anzahl der gesendeten Nachrichten insgesammt.
Postausgang: Anzahl der Nachrichten, die sich im Postausgang befinden.
Archiv: Anzahl der Nachrichten, die sich im Archiv befinden.


Beispiele

So kann eine GET-Anfrage aussehen:

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

So kann eine Textantwort aussehen:

  1. 101
  2. Erfolgreiche Abfrage
  3.  
  4. Kontostand: 4,578
  5. SMS: 1234
  6. Postausgang: 0
  7. Archiv: 20


Quellcodebeispiele

PHP

Beispiel 1:

  1. <?php
  2. mb_internal_encoding("UTF-8");
  3. echo "<pre>";
  4.  
  5. /////////////////////////////////////////////////////////////////////////////////
  6. /// Einstellungen für Account und SMS                                         ///
  7. /////////////////////////////////////////////////////////////////////////////////
  8. /// ÄNDERN!                                                                   ///
  9. /////////////////////////////////////////////////////////////////////////////////
  10.  
  11. $suser = "Username";			// Nickname
  12. $spw = "Passwort";			// Accountpasswort
  13.  
  14. /////////////////////////////////////////////////////////////////////////////////
  15. /// Beispielfunktionen                                                        ///
  16. /////////////////////////////////////////////////////////////////////////////////
  17. /// NICHT ÄNDERN!                                                             ///
  18. /////////////////////////////////////////////////////////////////////////////////
  19. /**
  20.  * XML-Objekt in Array umwandeln.
  21.  * 
  22.  * Diese Funktion wandelt ein SimpleXMLElement {@link http://www.php.net/manual/de/class.simplexmlelement.php}
  23.  * in ein normales mehrdimensionales Array um.
  24.  * 
  25.  * @param SimpleXMLElement XML-Objekt welches konvertiert werden soll
  26.  */
  27. function simpleXMLToArray($xml) {
  28. 	$return = array();
  29. 	if(!($xml instanceof SimpleXMLElement)) return $return;
  30. 	$name = $xml->getName();
  31. 	$_value = trim((string)$xml);
  32. 	if(mb_strlen($_value) == 0) $_value = null;
  33. 	if($_value !== null) $return = html_entity_decode($_value);
  34. 	$children = array();
  35. 	$first = true;
  36. 	foreach($xml->children() as $elementName => $child) {
  37. 		$value = simpleXMLToArray($child);
  38. 		if(isset($children[$elementName])) {
  39. 			if($first) {
  40. 				$temp = $children[$elementName];
  41. 				unset($children[$elementName]);
  42. 				$children[$elementName][] = $temp;
  43. 				$first = false;
  44. 			}
  45. 			$children[$elementName][] = $value;
  46. 		} else
  47. 			$children[$elementName] = $value;
  48. 	}
  49. 	if(count($children) > 0) $return = array_merge($return,$children);
  50.  
  51. 	$attributes = array();
  52. 	foreach($xml->attributes() as $name=>$value){
  53. 		$attributes[$name] = trim($value);
  54. 	}
  55. 	if(count($attributes) > 0) $return = array_merge($return, $attributes);
  56.  
  57. 	return $return;
  58. }
  59.  
  60. /**
  61.  * Webseite als String zurückgeben.
  62.  * 
  63.  * Diese Funktion lädt eine Webseite via CURL {@link http://www.php.net/manual/de/book.curl.php} herunter.
  64.  * 
  65.  * @param string Adresse der Webseite
  66.  * @param mixed URL-konforme Daten für POST-Anfrage oder FALSE wenn GET verwendet werden soll
  67.  */
  68. function curlhttp($url,$post = false) {
  69. 	if($url == "") return false;
  70. 	$VersionArray = curl_version();
  71. 	$Optionen = array(CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => 0, CURLOPT_USERAGENT => "PHP ".phpversion()." + cURL ".$VersionArray["version"], CURLOPT_TIMEOUT => 30);
  72. 	if($post != false) {
  73. 		$Optionen[CURLOPT_POST] = 1;
  74. 		$Optionen[CURLOPT_POSTFIELDS] = $post;
  75. 	}
  76. 	$s = curl_init($url);
  77. 	foreach($Optionen as $CURLCONST => $Wert) curl_setopt($s,$CURLCONST,$Wert);
  78. 	$Quellcode = curl_exec($s);
  79. 	$StatusArray = curl_getinfo($s);
  80. 	$HttpHead = array(100 => "Continue", 101 => "Switching Protocols", 200 => "OK", 201 => "Created", 202 => "Accepted", 203 => "Non-Authoritative Information",
  81. 					  204 => "No Content", 205 => "Reset Content", 206 => "Partial Content", 300 => "Multiple Choices", 301 => "Moved Permanently",
  82. 					  302 => "Found", 303 => "See Other", 304 => "Not Modified", 305 => "Use Proxy", 306 => "(Unused)", 307 => "Temporary Redirect",
  83. 					  400 => "Bad Request", 401 => "Unauthorized", 402 => "Payment Required", 403 => "Forbidden", 404 => "Not Found", 405 => "Method Not Allowed",
  84. 					  406 => "Not Acceptable", 407 => "Proxy Authentication Required", 408 => "Request Timeout", 409 => "Conflict", 410 => "Gone",
  85. 					  411 => "Length Required", 412 => "Precondition Failed", 413 => "Request Entity Too Large", 414 => "Request-URI Too Long",
  86. 					  415 => "Unsupported Media Type", 416 => "Requested Range Not Satisfiable", 417 => "Expectation Failed", 500 => "Internal Server Error",
  87. 					  501 => "Not Implemented", 502 => "Bad Gateway", 503 => "Service Unavailable", 504 => "Gateway Timeout", 505 => "HTTP Version Not Supported");
  88. 	return array("HTTP_Code" => $StatusArray["http_code"], "HTTP_Text" => $HttpHead[$StatusArray["http_code"]], "HTTP_Body" => $Quellcode);
  89. }
  90.  
  91. /////////////////////////////////////////////////////////////////////////////////
  92. /// Das Ergebnis der Konstoabfrage als Array ausgeben                         ///
  93. /////////////////////////////////////////////////////////////////////////////////
  94. $ret = curlhttp("http://www.sloono.de/API/httpkonto.php?user=".urlencode($suser)."&password=".$spw."&httphead=0&return=xml");
  95. print_r(simpleXMLToArray(simplexml_load_string($ret["HTTP_Body"])));
  96.  
  97. echo "</pre>";
  98. ?>

Beispiel 2:

  1. <?php
  2.  
  3. function Kontoinformationen($User,$Password) {
  4.     if(strlen($User) == 0) return false;
  5.     if(strlen($Password) == 0) return false;
  6.     $url = "http://www.sloono.de/API/httpkonto.php?user=".urlencode($User);
  7.     $url .= "&password=".md5($Password)."&httphead=0";
  8.     $Antwort = @file($url);
  9.     if($Antwort == false) return false;
  10.     if(trim($Antwort[0]) != 101) return false;
  11.     return array("Kontostand" => substr($Antwort[3],12),
  12.         "Gesendet" => substr($Antwort[4],5),
  13.         "Postausgang" => substr($Antwort[5],13),
  14.         "Archiv" => substr($Antwort[6],8));
  15. }
  16. ?>
  17.  
  18. <?php
  19. $sloonoapi = Kontoinformationen("Max","PW von Max");
  20. if($sloonoapi == false)
  21.     echo "Fehler!";
  22. else {
  23.     foreach($sloonoapi as $var => $wert) echo $var.": ".$wert."<br>\n";
  24. }
  25.  
  26. ?>
Meine Werkzeuge