Oldthing SOAP WebService interface description

Endpoint URI: http://api.oldthing.de/soap/soap07.php

WSDL URI: http://api.oldthing.de/soap/soap07.php?WSDL

PHP SOAP client download URI: http://api.oldthing.de/soap/soap07.php?PHPSOAPCLIENT

Soap Service

Index

Public methods:

Public methods

authenticate

Result authenticate ( string apiKey )

Ermittelt das Token für eine Session zum Aufruf aller anderen Funktionen. Einen API-Schlüssel erhalten Sie nach Bewerbung bei oldthing. Ohne Authentifizierung (token) können nur die Funktionen "ping()" und "authenticate(apiKey)" aufgerufen werden.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	$r = $c->authenticate('myApiKey');
	$token = $r->data;
	
	var_dump($token);

cancelOrder

Result cancelOrder (
    string token,
    string orderId,
    boolean resetArticles
)

Storniert eine Bestellung und versendet die entsprechenden Emails an den Kunden und Verkäufer.


Pflichtfelder sind:
Optionale Parameter sind:

cancelOrderItem

void cancelOrderItem (
    string token,
    string orderId,
    string articleId,
    int count,
    boolean resetArticle
)

Storniert einen Artikel innerhalb einer Bestellung.


Pflichtfelder sind:
Optionale Parameter sind:

deleteItem

Result deleteItem (
    string token,
    int id
)

Löscht ein Item (Produkt / Artikel) aus dem Bestand , welches über die interne id identifiziert wird. Diese Id wir z.B. über die Funktionen "getItem" und "getItems" zurückgegeben. Siehe auch "deleteItemBySku".

token kann mit der Funktion authenticate(apiKey) ermittelt werden.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;
	
	// insert item
	$r = $c->deleteItem($token, 123456789);
	if ($r->error) {
		echo $r->message;
	} else {
		echo 'Item gelöscht';
	}

deleteItemBySku

Result deleteItemBySku (
    string token,
    string sku
)

Löscht ein Item (Produkt / Artikel) aus dem Bestand , welches über die Artikelnummer (SKU) des Shopbetreibers identifiziert wird. Siehe auch <i>deleteItem</i>.

token kann mit der Funktion authenticate(apiKey) ermittelt werden.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;
	
	// insert item
	$r = $c->deleteItemBySku($token, 'mySku123');
	if ($r->error) {
		echo $r->message;
	} else {
		echo 'Item gelöscht';
	}

getCategories

Result getCategories (
    string token,
    int pid
)

Gibt die oldthing-Kategorien mit Namen und Id entsprechend ihrer Hirarchie zurück.


Die oldthing Kategorien liegen hierarchich vor (Baumstruktur).
token kann mit der Funktion authenticate(apiKey) ermittelt werden.
pid steht für "parent_id" - also die ID der Kategorie einer Stufe oberhalb in der Hirachie.
Mit "pid=0" erhält man die Kategorien der obersten Ebene.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;
	
	$r = $c->getCategories($token, 0);
	if ($r->error) {
		echo $r->message;
	} else {
		$rootCats = $r->data;
		$r2 = $c->getCategories($token, $rootCats[0]->id);
		var_dump($r2->data);
	}


getItem

Result getItem (
    string token,
    int id
)

Gibt das Item (Produkt / Artikel) zurück, welches über die interne id identifiziert wird. Beim Einfügen von Items mittels setItem wird die Id des items zurückgegeben.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;

	// use setItem for inserting an item
	// getting item with id 123456789
	
	$r = $c->getItem($token, 123456789);
	if (!$r->error)	var_dump($r->data);

		

getItemBySku

Result getItemBySku (
    string token,
    string sku
)

Gleiche Funktion wie "getItem", jedoch wird das Item über die Artikelnummer (SKU) des Shopbetreibers ermittelt.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;

	// use setItem for inserting an item
	
	$r = $c->getItemBySku($token, 'mySku123');
	if (!$r->error)	var_dump($r->data);

		

getItemIds

Result getItemIds (
    string token,
    int offset,
    int limit
)

Gibt alle Items (Produkte / Artikel) als array von Item-Objekten zurück, die lediglich die ID und SKU enthalten. Mit den optionalen Parametern "offset" und "limit" kann die Auswahl definiert werden.

getItems

Result getItems (
    string token,
    int offset,
    int limit
)

Gibt alle Items (Produkte / Artikel) als array von Item-Objekten zurück. Mit den optionalen Parametern "offset" und "limit" kann die Auswahl definiert werden.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;

	// use setItem for inserting some items - otherwise the result may be an empty array

	$offset = 0;	
	$r = $c->getItems($token, $offset, 10);
	while (!$r->error && (count($r->data) > 0)) {
		var_dump($r->data);
		if ($offset > 100) break;
		$offset += 10;
		$r = $c->getItems($token, $offset, 10);
	}

		

getOrder

Result getOrder (
    string token,
    string orderId
)

Gibt die Bestellung mit Artikel ID zurück.

token kann mit der Funktion authenticate(apiKey) ermittelt werden.

Pflichtfelder sind: Felder im Rückgabobject:

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;
	
	$result = $c->getOrder($token, $orderId);
	if ($result->error) {
		echo $result->message;
	} else {
		print_r($result);
	}	


	/*
	result:

		stdClass Object
		(
		    [code] => 0
		    [error] =>
		    [message] =>
		    [data] => Array
		        (
		            [id] => 36
		            [status] => demand_note
		            [payment] => 31.96
		            [payment_extra] => 0.00
		            [shipping] => 0.00
		            [created_at] => 2016-11-24 17:09:27
		            [udated_at] => 2016-11-24 17:09:27
		            [paymentMethod] => Array
		                (
		                    [label] => Rechnung
		                    [name] => default
		                )

		            [items] => Array
		                (
		                    [0] => Array
		                        (
		                            [id] => 26575726
		                            [sku] => 12345768
		                            [quantity] => 1
		                        )
		                )
		            [buyer] => Array
                        (
                            [billing] => Array
                                (
                                    [salutation] => Herr
                                    [lastname] => Mustermann
                                    [firstname] => Dieter
                                    [company] => 
                                    [street] => Teststr 11
                                    [zip] => 10967
                                    [city] => Teststadt
                                    [additional] => Testzusatz
                                    [country] => Deutschland
                                )
                            [shipping] => Array
                                (
	                                [salutation] => Herr
	                                [lastname] => Mustermann
	                                [firstname] => Dieter
	                                [company] => Testfirma
	                                [street] => Teststr 99
	                                [zip] => 10968
	                                [city] => Musterstadt
	                                [additional] => Testzusatz
	                                [country] => Deutschland
                                )
                            [email] => max@mustermann.de
                        )
		        )
		)
	*/

getOrders

Result getOrders (
    string token,
    string status,
    string offset
)

Gibt die Orders des Members zurück

token kann mit der Funktion authenticate(apiKey) ermittelt werden.

Optionen sind: Felder im Rückgabobject:

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;
	
	$result = $c->getOrders($token, 'new,payed');
	if ($result->error) {
		echo $result->message;
	} else {
		print_r($result);
	}	


	/*
	result:

	object(stdClass)#2 (4) {
	  ["code"]=>
	  int(0)
	  ["error"]=>
	  bool(false)
	  ["message"]=>
	  string(0) ""
	  ["data"]=>
	  array(56) {
	    [0]=>
	    array(3) {
	      ["id"]=>
	      string(3) "12534556"
	      ["status"]=>
	      string(3) "new"
	      ["date"]=>
	      string(19) "2016-12-07 20:21:07"
	    }
	    [1]=>
	    array(3) {
	      ["id"]=>
	      string(3) "42746488"
	      ["status"]=>
	      string(3) "new"
	      ["created_at"]=>
	      string(19) "2017-01-04 12:02:23"
	    }
	    .
	    .
	    .
	    .
	    .

	*/

ping

Result ping ( )

Eine Testfunktion der API, so dass die Verbindung sichergestellt werden kann. Diese Funktion wird im laufenden Betrieb nicht benötigt.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	$r = $c->ping();
	var_dump($r);

sendPaymentRequest

void sendPaymentRequest (
    string token,
    string orderId,
    string notice
)

Schickt eine Zahlungsaufforderung / Zahlungserinnerung an den Käufer.

setItem

Result setItem (
    string token,
    array item
)

Fügt ein neues Item (Produkt / Artikel) ein oder aktualisiert ein bestehendes Item (update). Ein Update erfolgt, wenn eine id gesetzt ist oder ein Item mit gegebener SKU vorhanden ist. Ansonsten wird das Item neu angelegt und erhält eine neue interne id, die zurückgegeben wird.

token kann mit der Funktion authenticate(apiKey) ermittelt werden.

Pflichtfelder sind:

Optionale Felder sind:

Optionales Feld location_ref

Das Feld location_ref beinhaltet ortsbezogene Daten z.B. bei Ansichtskarten gilt der Ort, welcher die Karte darstellt. Bei Angabe dieser Informationen wird die PLZ-Suche von oldthing unterstützt. Es gibt hier keine Pflichtfelder. Sinnvoll ist natürlich alle verfügbaren Daten einzutragen.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;
	
	$item = array(
		'title' => 'Kettenanhänger aus Pekannuss',
		'category_id' => '2584', // oldthing category id - see also getCategories
		'price' => '50.00',
		'tax' => '19',
		'shipping' => '5.00',
		'payment_info' => '',
		'shipping_info' => '',
		'sku' => 'ANR-0004711',
		'quantity' => '1',
		'description' => 'Tolles Schmuckstück, tolles Schmuckstück, tolles Schmuckstück, tolles Schmuckstück, tolles Schmuckstück',
		'condition' => 'Original in guter Qualität erhalten',
		'image_urls' => array('http://meine.domain.com/images/item_00001_large.jpg', 'http://meine.domain.com/images/item_00002_large.jpg'),
		'location_ref' => array('zip' => '53110', 'country' => 'DE', 'state' => 'NW', 'city' => 'Bonn', 'zip_old' => '5330', 'zip_old_eastwest' => 'W'),
		'user_fields' => array('karat' => 42)
	);
	
	// insert item
	$r = $c->setItem($token, $item);
	if ($r->error) {
		echo $r->message;
	} else {
		echo $r->data; // print the new id 

		// update item
		$item['id'] = $r->data; // not necesary - sku should be fine to identify the item
		$item['price'] = '51.00';
		$r = $c->setItem($token, $item);
		var_dump($r);
	}	

setOrderStatus

Result setOrderStatus (
    string token,
    string orderId,
    string status
)

Ändert den Status einer Bestellung und versendet die entsprechenden Emails an den Käufer und Verkäufer. ACHTUNG: Jeder Aufruf dieser Funktion versendet die entsprechenden Status Emails an den Kunden!

setSaleNotifierUri

Result setSaleNotifierUri (
    string token,
    string uri
)

Setzt eine HTTP-Adresse, welche beim Kauf eines Produkts (Items) des Shops aufgerufen wird. Die gegebene URL wird nach Bestellungseingang über HTTP mit der POST-Methode aufgerufen (REST-Schnittstelle) wobei Bestelldaten und Details zum Artikel mitgesendet werden. Die URL wird dauerhaft gespeichert, so dass diese Funktion i.d.R. nur einmal aufgerufen werden muss.

token kann mit der Funktion authenticate(apiKey) ermittelt werden.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;
	
	$c->setSaleNotifierUri($token, 'http://meine.domain.com/api/deleteItem.php');
	$r = $c->testSaleNotifierUri($token);
	var_dump($r);

	/*
	Beim Aufruf der angebenen URL wird $_POST folgende Daten enthalten:
	array (
	  'id' => '123456789',
	  'sku' => 'a1234',
	  'title' => 'AK Berlin Alexanderplatz',
	  'price' => 15.00,
	  'tax' => 0,
	  'shipping_price' => 0.00,
	  'order_id' => 106663,
      'comment' => 'Dies ist ein Kommentar des Käufers',
	  'order_date' => '2014-01-15',
	  'order_time' => '14:06:05',
	  'email' => 'max@mustermann.de',
	  'billing' => 
	  array (
	    'salutation' => 'Herr',
	    'lastname' => 'Mustermann',
	    'firstname' => 'Max',
	    'company' => 'InterMax',
	    'street' => 'Hauptstraße',
	    'zip' => '12345',
	    'city' => 'Entenhausen',
	    'additional' => 'Raum 123',
	    'country' => 'Deutschland',
	  ),
	  'shipping' => 
	  array (
	    'salutation' => 'Herr',
	    'lastname' => 'Mustermann',
	    'firstname' => 'Max',
	    'company' => 'InterMax',
	    'street' => 'Hauptstraße',
	    'zip' => '12345',
	    'city' => 'Entenhausen',
	    'additional' => 'Raum 123',
	    'country' => 'Deutschland',
	  )
	);
	*/
	

testSaleNotifierUri

Result testSaleNotifierUri ( string token )

Testfunktion: Ruft die vorher gesetzte URL (siehe <i>setSaleNotifierUri</i>) einmalig auf, so dass die Verarbeitung eines verkauften Items getestet werden kann. Die URL wird mittels HTTP-POST aufgerufen. Dabei werden Bestelldaten übergeben, die z.B. in einem PHP-Skript über das $_POST array entgegengenommen werden können.

token kann mit der Funktion authenticate(apiKey) ermittelt werden.

Programmbeispiel in PHP:

	$c = new SoapClient('http://oldthing.de/api/soap07.php?wsdl');
	
	$r = $c->authenticate('myApiKey');
	$token = $r->data;
	
	$c->setSaleNotifierUri($token, 'http://meine.domain.com/api/deleteItem.php');
	$r = $c->testSaleNotifierUri($token);
	var_dump($r);

	/*
	Beim Aufruf der angebenen URL wird $_POST folgende Daten enthalten:
	array (
	  'id' => '123456789',
	  'sku' => 'a1234',
	  'title' => 'AK Berlin Alexanderplatz',
	  'price' => 15.00,
	  'tax' => 0,
	  'shipping_price' => 0.00,
	  'order_id' => 106663,
      'comment' => 'Dies ist ein Kommentar des Käufers',
	  'order_date' => '2014-01-15',
	  'order_time' => '14:06:05',
	  'email' => 'max@mustermann.de',
	  'billing' => 
	  array (
	    'salutation' => 'Herr',
	    'lastname' => 'Mustermann',
	    'firstname' => 'Max',
	    'company' => 'InterMax',
	    'street' => 'Hauptstraße',
	    'zip' => '12345',
	    'city' => 'Entenhausen',
	    'additional' => 'Raum 123',
	    'country' => 'Deutschland',
	  ),
	  'shipping' => 
	  array (
	    'salutation' => 'Herr',
	    'lastname' => 'Mustermann',
	    'firstname' => 'Max',
	    'company' => 'InterMax',
	    'street' => 'Hauptstraße',
	    'zip' => '12345',
	    'city' => 'Entenhausen',
	    'additional' => 'Raum 123',
	    'country' => 'Deutschland',
	  )
	);
	*/

Powered by PhpWsdl - PDF download: Download this page as PDF