Webservice API: Unterschied zwischen den Versionen

Aus TopData WIKI
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
<h2> Webservice Api Basics</h2>
+
<h2>Webservice API Grundlagen</h2>
<h3> Use</h3>
+
<h3>Nutzung</h3>
<p> By accessing our web service, you automatically declare that you understand and accept our  [[web service use conditions]].<br><br>
+
<p>Mit dem Zugang zum Webservice haben Sie automatisch unsere [[Webservice Nutzungsbedingungen]] verstanden und akzeptiert.<br><br>
Access is logged and evaluated. To save access/bandwidth and
+
Zugriffe werden geloggt und ausgewertet. Um Zugriffe/Bandbreite sowie Serverkapazitäten zu sparen, wird empfohlen, die Anfragen an den Webservice (soweit es geht), durch Datencaching zu minimieren. Wir behalten uns das Recht vor, Zugänge einzuschränken oder gegebenenfalls auch zu sperren, sollte der Zugriff zum Webservice über ein plausibles Mass hinausgehen.<br>
server capacity, we recommend minimising queries to the web service via data caching
+
Zugangsdaten dürfen nicht an Dritte weitergegeben oder öffentlich dargestellt werden.<br>
(if possible). We reserve the right to limit access or even to block it if access to the web service
+
Für Ihre Zugangsdaten sind bestimmte, vorher vereinbarte, Daten freigegeben.
exceeds a plausible level.<br/>
+
</p>
Access data may not be provided to third parties or displayed publicly. Certain previously
+
<h3>Datenformat</h3>
agreed data is approved for use as your access details.</p>
+
<h3> Data format: </h3>
+
 
<p>
 
<p>
The web service is returned in the JSON format. We have decided against XML because JSON is currently equally as popular and reduces overhead compared with XML.
+
Die Rückgabe des Webservices erfolgt im [http://de.wikipedia.org/wiki/JavaScript_Object_Notation JSON] Format.
[http://de.wikipedia.org/wiki/JavaScript_Object_Notation#Unterschied_zu_XML More Information]
+
Wir haben uns gegen XML entschieden, da JSON inzwischen genauso weit verbreitet ist und gegenüber XML den Overhead reduziert. [http://de.wikipedia.org/wiki/JavaScript_Object_Notation#Unterschied_zu_XML Mehr Informationen]
 
</p>
 
</p>
<h3> Character encoding </h3>
+
<h3>Zeichencodierung</h3>
 
<p>
 
<p>
data from the web services is released [http://de.wikipedia.org/wiki/UTF-8 UFT8]
+
Die Ausgabe der Daten des Webservices erfolgt in [http://de.wikipedia.org/wiki/UTF-8 UFT8]
 
</p>
 
</p>
<h3>Access</h3>
+
<h3>Zugang</h3>
 
<p>
 
<p>
The web service data is accessed via a fixed HTTP URL </p>
+
Der Abruf der Webservice-Daten erfolgt über eine feste HTTP URL.
 +
</p>
 
<source lang="text">http://ws.cloud.topdata.de</source>
 
<source lang="text">http://ws.cloud.topdata.de</source>
<p> Access data is required to access the web service, which is comprised as follows:
+
<p>Für den Zugang zum Webservice werden Zugangsdaten benötigt, die sich wie folgt zusammensetzen:
 
* User ID (''%uid%'')
 
* User ID (''%uid%'')
 
* Passwort (''%password%'')
 
* Passwort (''%password%'')
 
* Sicherheitscode (''%security_key%'')
 
* Sicherheitscode (''%security_key%'')
The access data must be transferred as an HTTP request each time the web service is accessed.  
+
Die Zugangsdaten müssen bei jedem Aufruf des Webservices als HTTP Request mit übergeben werden.
 
</p>
 
</p>
 
<source lang="text">?uid=%uid%&security_key=%security_key%&password=%password%</source>
 
<source lang="text">?uid=%uid%&security_key=%security_key%&password=%password%</source>
<p> The following HTTP request variables are required to receive a response from the web service.
+
<p>Weiter sind folgende HTTP Request Variablen Pflicht, um eine Antwort vom Webservice zu erhalten
 
* [[Webservice_API#API-Version|API-Version]] (''%version%'')
 
* [[Webservice_API#API-Version|API-Version]] (''%version%'')
 
* [[Webservice_API#Sprache|Sprache]] (''%language%'')
 
* [[Webservice_API#Sprache|Sprache]] (''%language%'')
Zeile 34: Zeile 33:
 
<source lang="text">?uid=%uid%&security_key=%security_key%&password=%password%&version=%version%&language=%language%</source>
 
<source lang="text">?uid=%uid%&security_key=%security_key%&password=%password%&version=%version%&language=%language%</source>
 
<h3>API-Version</h3>
 
<h3>API-Version</h3>
If the web service is changed, then a new API version will be provided so that your own application does not always also need to be updated. ATTENTION: We can only provide support for the latest API version.
+
Sollten Änderungen am Webservice stattfinden, wird eine neue API-Version vergeben, damit Ihre eigene Applikation nicht immer mit geupdatet werden muss. ACHTUNG, Support unsererseits kann nur für die jeweils aktuelle API-Version geleistet werden.
* actual APIVersion: '''100'''
+
* Aktuelle APIVersion: '''100'''
 
<source lang="text">?version=100</source>
 
<source lang="text">?version=100</source>
<h3>Language</h3>
+
<h3>Sprache</h3>
The language must be provided as per [http://de.wikipedia.org/wiki/ISO_639#ISO_639-1 ISO 639-1]  
+
Die Sprache muss nach [http://de.wikipedia.org/wiki/ISO_639#ISO_639-1 ISO 639-1] übergeben werden.
 
<source lang="text">?language=en</source>
 
<source lang="text">?language=en</source>
 
<h3>Error Codes</h3>
 
<h3>Error Codes</h3>
Overview of all errors:
+
Alle Fehler im Überblick
 
{| class="wikitable"
 
{| class="wikitable"
!Error Code!!Description
+
!Fehler Code!!Fehler Beschreibung
 
|-
 
|-
|''100''||unknown error
+
|''100''||Unbekannter Fehler
 
|-
 
|-
|''101''||404 – page not found
+
|''101''||404 - Seite nicht gefunden
 
|-
 
|-
|''102''||User ID not available or not valid
+
|''102''||User ID nicht vorhanden oder nicht valide
 
|-
 
|-
|''103''||safety code not available or not valid
+
|''103''||Sicherheitscode nicht vorhanden oder nicht valide
 
|-
 
|-
|''104''||password not available or not valid
+
|''104''||Passwort nicht vorhanden oder nicht valide
 
|-
 
|-
|''105''||API-Version not available or not valid
+
|''105''||API-Version nicht vorhanden oder nicht valide
 
|-
 
|-
|''106''||authentication failed
+
|''106''||Authentifizierung fehlgeschlagen
 
|-
 
|-
|''107''||language not available or not valid
+
|''107''||Sprache nicht vorhanden oder nicht valide
 
|-
 
|-
|''108''||template not found (please inform service)
+
|''108''||Template nicht gefunden (Bitte Service informieren)
 
|-
 
|-
|''109''||template error (please inform service)
+
|''109''||Template Fehler (Bitte Service informieren)
 
|-
 
|-
|''200''||product not found
+
|''200''||Produkt nicht gefunden
 
|}
 
|}
<h2>Webservice API functions</h2>
+
 
<h3>My products</h3>
+
<h2>Webservice API Funktionen</h2>
<p>Sie You will receive all products activated for your access details in the form of a product list.</p>
+
<h3>Meine Produkte</h3>
 +
<p>Sie erhalten alle für Ihren Zugang aktivierten Produkte als [[Webservice_API#Produktliste|Produktliste]].</p>
 
<source lang="text">http://ws.cloud.topdata.de/my_products</source>
 
<source lang="text">http://ws.cloud.topdata.de/my_products</source>
<p>'''Example'''</p>
+
<p>'''Beispiel'''</p>
By accessing:
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/my_products?
 
<source lang="text">http://ws.cloud.topdata.de/my_products?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 79: Zeile 79:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
the product list is returned.
+
erhalten Sie die Produktliste als Rückgabe.
<h3> Product groups </h3>
+
<h3>Warengruppen</h3>
<p> Accesses the complete product groups as a list::</p>
+
<p>ruft die kompletten Warengruppen als Liste auf:</p>
 
<source lang="text">http://ws.cloud.topdata.de/waregroups</source>
 
<source lang="text">http://ws.cloud.topdata.de/waregroups</source>
<p>''' Example: '''</p>
+
<p>'''Beispiel'''</p>
When accessing
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/waregroups?
 
<source lang="text">http://ws.cloud.topdata.de/waregroups?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 91: Zeile 91:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
you receive the following JSON output:
+
erhalten Sie folgende JSON Ausgabe:
 
<source lang="javascript">
 
<source lang="javascript">
 
{
 
{
Zeile 109: Zeile 109:
 
}
 
}
 
</source>
 
</source>
<h4>Products</h4>
+
<h4>Produkte</h4>
<p> Accesses all products contained in a specific product group. These are output as a [[Webservice_API#Produktliste|Productlist]].
+
<p>Ruft alle enthalten Produkte zu einer bestimmten Warengruppe ab. Diese werden als [[Webservice_API#Produktliste|Produktliste]] zurückgegeben.
The product groups ID is required for this. This is can be obtained for example, by accessing the [[Webservice_API#Warengruppen|produktgroups]] or it is stored with one of the products </p>
+
Dafür ist die Warengruppen ID notwendig. Diese erhalten Sie z.B. aus dem Aufruf der [[Webservice_API#Warengruppen|Warengruppen]] oder sie ist bei einem der Produkte hinterlegt</p>
 
* Warengruppen ID (%waregroup_id%)
 
* Warengruppen ID (%waregroup_id%)
 
<source lang="text">http://ws.cloud.topdata.de/waregroup/%warengroup_id%</source>
 
<source lang="text">http://ws.cloud.topdata.de/waregroup/%warengroup_id%</source>
<p>'''Example''</p>
+
<p>'''Beispiel'''</p>
When accessing
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/waregroup/%warengroup_id%?
 
<source lang="text">http://ws.cloud.topdata.de/waregroup/%warengroup_id%?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 122: Zeile 122:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
the product list is returned
+
erhalten Sie die Produktliste als Rückgabe
<h3>Productlist</h3>
+
 
<p>Die The product list includes all information about the products and is returned when certain web services are accessed.</p>
+
<h3>Produktliste</h3>
* [[Webservice_API#Warengruppen|waregroup_products]]
+
<p>Die Produktliste enthält alle Informationen zu den Produkten und wird bei bestimmten Webservice-Aufrufen zurückgegeben.</p>
 +
* [[Webservice_API#Warengruppen|Warengruppen Produkte]]
 
* [[Webservice_API#bundle_content|''bundle_content'']]  
 
* [[Webservice_API#bundle_content|''bundle_content'']]  
 
* [[Webservice_API#product_alternates|''product_alternates'']]  
 
* [[Webservice_API#product_alternates|''product_alternates'']]  
Zeile 131: Zeile 132:
 
* [[Webservice_API#product_accessories|''product_accessories'']]  
 
* [[Webservice_API#product_accessories|''product_accessories'']]  
 
* [[Webservice_API#product_application_in|''product_application_in'']]
 
* [[Webservice_API#product_application_in|''product_application_in'']]
* [[Webservice_API#Anbieter Produkte|provider_products]]
+
* [[Webservice_API#Anbieter Produkte|Anbieter Produkte]]
<p>'''Example'''</p>
+
<p>'''Beispiel'''</p>
 
<source lang="javascript">
 
<source lang="javascript">
 
{
 
{
Zeile 147: Zeile 148:
 
}
 
}
 
</source>
 
</source>
<p> In order to keep traffic and loading times low, the product list is always divided into multiple pages. The individual pages may be accessed via an additional HTTP request variable:</p>
+
<p>Um den Traffic und die Ladezeit gering zu halten, wird die Produktliste immer in mehrere Seiten unterteilt. Die einzelnen Seiten können über eine weitere HTTP Request Variable angesteuert werden:</p>
 
<source lang="text">?page=3</source>
 
<source lang="text">?page=3</source>
<p> The product list includes information about the number of pages, the number of products, the number of products per page, and the currently selected sub-page.
+
<p>Die Produktliste beinhaltet Informationen über die Anzahl der Seiten, die Anzahl der Produkte, die Anzahl der Produkte pro Seite sowie die aktuell ausgewählte Unterseite.<br>
The products in the product list are displayed analogously to how individual products are accessed.
+
Die Produkte in der Produktliste werden analog zum Aufruf eines einzelnen Produktes dargestellt.
 
</p>
 
</p>
<h3>Product</h3>
+
<h3>Produkt</h3>
<p> Accesses an individual product from the web service. The product ID is required for this.</p>
+
<p>Abruf eines einzelnen Produktes vom Webservice. Dafür ist die Produkt ID notwendig.</p>
 
* Produkt ID (%products_id%)
 
* Produkt ID (%products_id%)
 
<source lang="text">http://ws.cloud.topdata.de/product</source>
 
<source lang="text">http://ws.cloud.topdata.de/product</source>
<p>'''Example''' für den Artikel 92298A von HP</p>
+
<p>'''Beispiel''' für den Artikel 92298A von HP</p>
By accessing:
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/product/145080?
 
<source lang="text">http://ws.cloud.topdata.de/product/145080?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 164: Zeile 165:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
you receive the following JSON output:
+
erhalten Sie folgende JSON Ausgabe:
 
<source lang="javascript">
 
<source lang="javascript">
 
{
 
{
Zeile 281: Zeile 282:
 
}
 
}
 
</source>
 
</source>
<p>By the [[Webservice_API#Produktliste|Productlist]] the products will be transfered in the same way<br><br></p>
+
<p>Bei der [[Webservice_API#Produktliste|Produktliste]] werden die Produkte ebenso übergeben.<br><br></p>
  
 
{| class="wikitable"
 
{| class="wikitable"
|+ Legend of unclear variables
+
|+ Legende uneindeutiger Variablen
!Variable!!Description
+
!Variable!!Beschreibung
 
|-
 
|-
|''reference_oems''||If the product is an alternative, then the OEMs for the corresponding products appear here
+
|''reference_oems''||Falls das Produkt eine Alternative ist, kommen hier die OEMs zu den entsprechenden Produkten
 
|-
 
|-
|''bundle_content_oems''|| If the product is a bundle, then the OEMs for the individual products appear here
+
|''bundle_content_oems''||Falls das Produkt ein Bundle ist, kommen hier die OEMs der Einzelprodukte
 
+
 
|-
 
|-
|[[Webservice_API#bundle_content|''bundle_content'']]||Falls If the product is a bundle, then the product IDs for the individual products appear here
+
|[[Webservice_API#bundle_content|''bundle_content'']]||Falls das Produkt ein Bundle ist, kommen hier die Produkt IDs der Einzelprodukte
 
+
 
|-
 
|-
|[[Webservice_API#product_alternates|''product_alternates'']]|| Alternative product IDs for the product
+
|[[Webservice_API#product_alternates|''product_alternates'']]||Alternative Produkt IDs zum Produkt
 
+
 
|-
 
|-
|[[Webservice_API#product_is_alternate_of|''product_is_alternate_of'']]|| The product is an alternative of the product IDs indicated
+
|[[Webservice_API#product_is_alternate_of|''product_is_alternate_of'']]||Produkt ist eine Alternative der genannten Produkt IDs
 
|-
 
|-
|[[Webservice_API#product_accessories|''product_accessories'']]||Zubehör Accessory product IDs for the product
+
|[[Webservice_API#product_accessories|''product_accessories'']]||Zubehör Produkt IDs zum Produkt
 
|-
 
|-
|[[Webservice_API#product_same_accessories|''product_same_accessories'']]|| All product IDs with the same accessories for the product
+
|[[Webservice_API#product_same_accessories|''product_same_accessories'']]||Alle Produkt IDs mit dem selben Zubehör zum Produkt
 
|-
 
|-
|[[Webservice_API#product_application_in|''product_application_in'']]|| Product is an accessory of the named product IDs
+
|[[Webservice_API#product_application_in|''product_application_in'']]||Produkt ist Zubehör von den genannten Produkt IDs
 
|-
 
|-
|[[Webservice_API#product_same_application_in|''product_same_application_in'']]|| All product IDs with the same parent product which are an accessory for the product
+
|[[Webservice_API#product_same_application_in|''product_same_application_in'']]||Alle Produkt IDs mit dem selben Elternprodukt wozu es ein Zubehör ist vom Produkt
 
|-
 
|-
|''distributors''|| available providers and their article numbers
+
|''distributors''||verfügbare Anbieter und deren Artikelnummern
 
|}<br>
 
|}<br>
 
{| class="wikitable"
 
{| class="wikitable"
|+ Access limitations:
+
|+ Zugangseinschränkungen
 
+
!Variable!!Beschreibung
!Variable!!Description
+
 
|-
 
|-
|''images''|| You will only receive images if these are activated for your access details
+
|''images''||Bilder erhalten Sie nur dann, wenn diese für Ihren Zugang aktiviert wurden
 
|-
 
|-
|''distributors''|| You will only receive suppliers that are activated for your access details
+
|''distributors''||Sie erhalten jeweils nur die Lieferanten, die für Ihren Zugang aktiviert wurden
 
|}
 
|}
 +
 
<h4>''bundle_content''</h4>
 
<h4>''bundle_content''</h4>
<p> Accesses the products contained for a certain bundle product. These are output as a  [[Webservice_API#Produktliste|Productlist]] .
+
<p>Ruft zu einem bestimmten Bundle-Produkt die enthalten Produkte ab. Diese werden als [[Webservice_API#Produktliste|Produktliste]] zurückgegeben.
The product ID of the bundle is required for this.</p>
+
Dafür ist die Produkt ID des Bundles notwendig.</p>
 
* Produkt ID (%product_id%)
 
* Produkt ID (%product_id%)
 
<source lang="text">http://ws.cloud.topdata.de/bundle_content/%product_id%</source>
 
<source lang="text">http://ws.cloud.topdata.de/bundle_content/%product_id%</source>
<p>'''Example'''</p>
+
<p>'''Beispiel'''</p>
By accessing:
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/bundle_content/%product_id%?
 
<source lang="text">http://ws.cloud.topdata.de/bundle_content/%product_id%?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 332: Zeile 330:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
the product list is returned.
+
erhalten Sie die Produktliste als Rückgabe.
 +
 
 
<h4>''product_alternates''</h4>
 
<h4>''product_alternates''</h4>
<p> Accesses the alternative product for a certain product. These are output as a  [[Webservice_API#Produktliste|Productlist]] . The product ID of the bundle is required for this.</p>
+
<p>Ruft zu einem bestimmten Produkt die Alternativprodukte ab. Diese werden als [[Webservice_API#Produktliste|Produktliste]] zurückgegeben.
 +
Dafür ist die Produkt ID notwendig.</p>
 
* Produkt ID (%product_id%)
 
* Produkt ID (%product_id%)
 
<source lang="text">http://ws.cloud.topdata.de/product_alternates/%product_id%</source>
 
<source lang="text">http://ws.cloud.topdata.de/product_alternates/%product_id%</source>
<p>'''Example'''</p>
+
<p>'''Beispiel'''</p>
By accessing:
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/product_alternates/%product_id%?
 
<source lang="text">http://ws.cloud.topdata.de/product_alternates/%product_id%?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 345: Zeile 345:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
the product list is returned.
+
erhalten Sie die Produktliste als Rückgabe.
 +
 
 
<h4>''product_is_alternate_of''</h4>
 
<h4>''product_is_alternate_of''</h4>
<p> For a certain alternative product, accesses those products for which it is an alternative.These are output as a  [[Webservice_API#Produktliste|Productlist]] .
+
<p>Ruft zu einem bestimmten Alternativprodukt diejenigen Produkte ab, zu denen es alternativ ist. Diese werden als [[Webservice_API#Produktliste|Produktliste]] zurückgegeben.
The product ID of the bundle is required for this.</p>
+
Dafür ist die Produkt ID notwendig.</p>
 
* Produkt ID (%product_id%)
 
* Produkt ID (%product_id%)
 
<source lang="text">http://ws.cloud.topdata.de/product_is_alternate_of/%product_id%</source>
 
<source lang="text">http://ws.cloud.topdata.de/product_is_alternate_of/%product_id%</source>
<p>'''Example''</p>
+
<p>'''Beispiel'''</p>
Bay accessing:
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/product_is_alternate_of/%product_id%?
 
<source lang="text">http://ws.cloud.topdata.de/product_is_alternate_of/%product_id%?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 359: Zeile 360:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
the product list is returned.
+
erhalten sie die Produktliste als Rückgabe.
 +
 
 
<h4>''product_accessories''</h4>
 
<h4>''product_accessories''</h4>
<p> Accesses those products which are an accessory. These are output as a  [[Webservice_API#Produktliste|Productlist]] . The product ID of the bundle is required for this.</p>
+
<p>Ruft zu einem bestimmten Produkt die Zubehörprodukte ab. Diese werden als [[Webservice_API#Produktliste|Produktliste]] zurückgegeben.
 +
Dafür ist die Produkt ID notwendig.</p>
 
* Produkt ID (%product_id%)
 
* Produkt ID (%product_id%)
 
<source lang="text">http://ws.cloud.topdata.de/product_accessories/%product_id%</source>
 
<source lang="text">http://ws.cloud.topdata.de/product_accessories/%product_id%</source>
<p>'''Example'''</p>
+
<p>'''Beispiel'''</p>
By accessing
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/product_accessories/%product_id%?
 
<source lang="text">http://ws.cloud.topdata.de/product_accessories/%product_id%?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 372: Zeile 375:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
the product list is returned.
+
erhalten Sie die Produktliste als Rückgabe.
 +
 
 
<h4>''product_same_accessories''</h4>
 
<h4>''product_same_accessories''</h4>
<p> Accesses those products for a certain product, which are having the same accessories. These are output as a  [[Webservice_API#Produktliste|Productlist]] . The product ID of the bundle is required for this </p>
+
<p>Ruft zu einem bestimmten Produkt die Produkte ab mit den dem selben Zubehör. Diese werden als [[Webservice_API#Produktliste|Produktliste]] zurückgegeben.
 +
Dafür ist die Produkt ID notwendig.</p>
 
* Produkt ID (%product_id%)
 
* Produkt ID (%product_id%)
 
<source lang="text">http://ws.cloud.topdata.de/product_same_accessories/%product_id%</source>
 
<source lang="text">http://ws.cloud.topdata.de/product_same_accessories/%product_id%</source>
<p>'''Example'''</p>
+
<p>'''Beispiel'''</p>
By accessing
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/product_same_accessories/%product_id%?
 
<source lang="text">http://ws.cloud.topdata.de/product_same_accessories/%product_id%?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 385: Zeile 390:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
the product list is returned.
+
erhalten Sie die Produktliste als Rückgabe.
 +
 
 
<h4>''product_application_in''</h4>
 
<h4>''product_application_in''</h4>
<p> Accesses those products for which it is an accessory. These are output as a  [[Webservice_API#Produktliste|Productlist]] . The product ID of the bundle is required for this.
+
<p>Ruft zu einem bestimmten Produkt die Produkte ab wozu es ein Zubehör ist. Diese werden als [[Webservice_API#Produktliste|Produktliste]] zurückgegeben.
</p>
+
Dafür ist die Produkt ID notwendig.</p>
 
* Produkt ID (%product_id%)
 
* Produkt ID (%product_id%)
 
<source lang="text">http://ws.cloud.topdata.de/product_application_in/%product_id%</source>
 
<source lang="text">http://ws.cloud.topdata.de/product_application_in/%product_id%</source>
<p>'''Example'''</p>
+
<p>'''Beispiel'''</p>
By accessing:
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/product_application_in/%product_id%?
 
<source lang="text">http://ws.cloud.topdata.de/product_application_in/%product_id%?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 399: Zeile 405:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
the product list is returned.
+
erhalten Sie die Produktliste als Rückgabe.
 +
 
 
<h4>''product_same_application_in''</h4>
 
<h4>''product_same_application_in''</h4>
<p> Accesses those products which are also an accessory. These are output as a  [[Webservice_API#Produktliste|Productlist]] . The product ID of the bundle is required for this.</p>
+
<p>Ruft zu einem bestimmten Produkt die Produkte ab die genauso ein Zubehör sind. Diese werden als [[Webservice_API#Produktliste|Produktliste]] zurückgegeben.
 +
Dafür ist die Produkt ID notwendig.</p>
 
* Produkt ID (%product_id%)
 
* Produkt ID (%product_id%)
 
<source lang="text">http://ws.cloud.topdata.de/product_same_application_in/%product_id%</source>
 
<source lang="text">http://ws.cloud.topdata.de/product_same_application_in/%product_id%</source>
<p>'''Example'''</p>
+
<p>'''Beispiel'''</p>
By accessing
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/product_same_application_in/%product_id%?
 
<source lang="text">http://ws.cloud.topdata.de/product_same_application_in/%product_id%?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 412: Zeile 420:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
he product list is returned.
+
erhalten Sie die Produktliste als Rückgabe.
<h3>Provider products</h3>
+
 
<p> Accesses the products for a certain provider. These are output as a  [[Webservice_API#Produktliste|Productlist]] . The product ID of the bundle is required for this.</p>
+
<h3>Anbieter Produkte</h3>
 +
<p>Ruft zu einem bestimmten Anbieter die Produkte ab. Diese werden als [[Webservice_API#Produktliste|Produktliste]] zurückgegeben.
 +
Dafür ist die Anbieter ID notwendig. Diese ist z.B. bei einem der Produkte einsehbar.</p>
 
* Anbieter ID (%distributor_id%)
 
* Anbieter ID (%distributor_id%)
 
<source lang="text">http://ws.cloud.topdata.de/distributor/%distributor_id%</source>
 
<source lang="text">http://ws.cloud.topdata.de/distributor/%distributor_id%</source>
<p>'''Example'''</p>
+
<p>'''Beispiel'''</p>
By accessing
+
Bei Aufruf von:
 
<source lang="text">http://ws.cloud.topdata.de/distributor/%distributor_id%?
 
<source lang="text">http://ws.cloud.topdata.de/distributor/%distributor_id%?
 
   uid=%uid%&
 
   uid=%uid%&
Zeile 425: Zeile 435:
 
   version=%version%&
 
   version=%version%&
 
   language=%language%</source>
 
   language=%language%</source>
the product list is returned
+
erhalten Sie die Produktliste als Rückgabe.
<h2>Code Examples</h2>
+
<h2>Code Beispiele</h2>
 
<h3>PHP</h3>
 
<h3>PHP</h3>
For instance the calling of a product:
+
Z.B. für das Abrufen von einem Produkt.
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php

Version vom 4. Mai 2015, 14:22 Uhr

Webservice API Grundlagen

Nutzung

Mit dem Zugang zum Webservice haben Sie automatisch unsere Webservice Nutzungsbedingungen verstanden und akzeptiert.

Zugriffe werden geloggt und ausgewertet. Um Zugriffe/Bandbreite sowie Serverkapazitäten zu sparen, wird empfohlen, die Anfragen an den Webservice (soweit es geht), durch Datencaching zu minimieren. Wir behalten uns das Recht vor, Zugänge einzuschränken oder gegebenenfalls auch zu sperren, sollte der Zugriff zum Webservice über ein plausibles Mass hinausgehen.
Zugangsdaten dürfen nicht an Dritte weitergegeben oder öffentlich dargestellt werden.
Für Ihre Zugangsdaten sind bestimmte, vorher vereinbarte, Daten freigegeben.

Datenformat

Die Rückgabe des Webservices erfolgt im JSON Format. Wir haben uns gegen XML entschieden, da JSON inzwischen genauso weit verbreitet ist und gegenüber XML den Overhead reduziert. Mehr Informationen

Zeichencodierung

Die Ausgabe der Daten des Webservices erfolgt in UFT8

Zugang

Der Abruf der Webservice-Daten erfolgt über eine feste HTTP URL.

http://ws.cloud.topdata.de

Für den Zugang zum Webservice werden Zugangsdaten benötigt, die sich wie folgt zusammensetzen:

  • User ID (%uid%)
  • Passwort (%password%)
  • Sicherheitscode (%security_key%)
Die Zugangsdaten müssen bei jedem Aufruf des Webservices als HTTP Request mit übergeben werden.

?uid=%uid%&security_key=%security_key%&password=%password%

Weiter sind folgende HTTP Request Variablen Pflicht, um eine Antwort vom Webservice zu erhalten

?uid=%uid%&security_key=%security_key%&password=%password%&version=%version%&language=%language%

API-Version

Sollten Änderungen am Webservice stattfinden, wird eine neue API-Version vergeben, damit Ihre eigene Applikation nicht immer mit geupdatet werden muss. ACHTUNG, Support unsererseits kann nur für die jeweils aktuelle API-Version geleistet werden.

  • Aktuelle APIVersion: 100
?version=100

Sprache

Die Sprache muss nach ISO 639-1 übergeben werden.

?language=en

Error Codes

Alle Fehler im Überblick

Fehler Code Fehler Beschreibung
100 Unbekannter Fehler
101 404 - Seite nicht gefunden
102 User ID nicht vorhanden oder nicht valide
103 Sicherheitscode nicht vorhanden oder nicht valide
104 Passwort nicht vorhanden oder nicht valide
105 API-Version nicht vorhanden oder nicht valide
106 Authentifizierung fehlgeschlagen
107 Sprache nicht vorhanden oder nicht valide
108 Template nicht gefunden (Bitte Service informieren)
109 Template Fehler (Bitte Service informieren)
200 Produkt nicht gefunden

Webservice API Funktionen

Meine Produkte

Sie erhalten alle für Ihren Zugang aktivierten Produkte als Produktliste.

http://ws.cloud.topdata.de/my_products

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/my_products?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie die Produktliste als Rückgabe.

Warengruppen

ruft die kompletten Warengruppen als Liste auf:

http://ws.cloud.topdata.de/waregroups

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/waregroups?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie folgende JSON Ausgabe:

{
    "waregroups": [
        {
            "waregroup_id": 1,
            "parent_waregroup_id": 173,
            "waregroup": "Printmedien"
        },
        {
            "waregroup_id": 3,
            "parent_waregroup_id": 162,
            "waregroup": "Etiketten"
        },
        ...
    ]
}

Produkte

Ruft alle enthalten Produkte zu einer bestimmten Warengruppe ab. Diese werden als Produktliste zurückgegeben. Dafür ist die Warengruppen ID notwendig. Diese erhalten Sie z.B. aus dem Aufruf der Warengruppen oder sie ist bei einem der Produkte hinterlegt

  • Warengruppen ID (%waregroup_id%)
http://ws.cloud.topdata.de/waregroup/%warengroup_id%

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/waregroup/%warengroup_id%?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie die Produktliste als Rückgabe

Produktliste

Die Produktliste enthält alle Informationen zu den Produkten und wird bei bestimmten Webservice-Aufrufen zurückgegeben.

Beispiel

{
 
    "page": {
        "count_products": 694,
        "products_per_page": 50,
        "page": 1,
        "available_pages": 14
    },
    "products": [
        ...
    ]
}

Um den Traffic und die Ladezeit gering zu halten, wird die Produktliste immer in mehrere Seiten unterteilt. Die einzelnen Seiten können über eine weitere HTTP Request Variable angesteuert werden:

?page=3

Die Produktliste beinhaltet Informationen über die Anzahl der Seiten, die Anzahl der Produkte, die Anzahl der Produkte pro Seite sowie die aktuell ausgewählte Unterseite.
Die Produkte in der Produktliste werden analog zum Aufruf eines einzelnen Produktes dargestellt.

Produkt

Abruf eines einzelnen Produktes vom Webservice. Dafür ist die Produkt ID notwendig.

  • Produkt ID (%products_id%)
http://ws.cloud.topdata.de/product

Beispiel für den Artikel 92298A von HP

Bei Aufruf von:

http://ws.cloud.topdata.de/product/145080?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie folgende JSON Ausgabe:

{
    "product": {
        "products_id": 145080,
        "creation_date": null,
        "edit_date": null,
        "short_description": "Original Hewlett Packard Toner-Kartusche schwarz (92298A, 98A)",
        "manufacturer": "Hewlett Packard (HP)",
        "name": "",
        "oems": [
            "92298A",
            "98A"
        ],
        "eans": [
            "088698005668"
        ],
        "reference_oems": [
            "1538A003",
            "M2473G/A",
            "LN0XX-AA"
        ],
        "bundle_content_oems": [ ],
        "waregroups": [
            {
                "waregroup_id": 57,
                "waregroup": "Toner-Kartuschen",
                "main_waregroup": true,
                "waregroup_tree": [
                    {
                        "waregroup_id": 157,
                        "waregroup": "Bürobedarf"
                    },
                    {
                        "waregroup_id": 173,
                        "waregroup": "Druckerzubehör"
                    },
                    {
                        "waregroup_id": 199,
                        "waregroup": "Laserdrucker"
                    },
                    {
                        "waregroup_id": 56,
                        "waregroup": "Toner"
                    },
                    {
                        "waregroup_id": 57,
                        "waregroup": "Toner-Kartuschen"
                    }
                ]
            }
        ],
        "specifications": [
            {
                "specification_id": 6,
                "specification": "Seitendeckung",
                "attribute_id": 4521,
                "attribute": "bei 5% Seitendeckung",
                "attribute_synonym": "",
                "count": 1
            },
            ...
        ],
        "images": [
            {
                "type_id": 5,
                "type_id_string": "005",
                "type_key": "image_type_pack_and_product",
                "thumb": {
                    "url": "http://image.cloud.topdata.de/t/145080.jpg",
                    "url_own_filename": "http://image.cloud.topdata.de/t/145080/"
                },
                "normal": {
                    "url": "http://image.cloud.topdata.de/n/145080.jpg",
                    "url_own_filename": "http://image.cloud.topdata.de/n/145080/"
                }
            },
            {
                "type_id": 10,
                "type_id_string": "010",
                "type_key": "image_type_pack",
                "thumb": {
                    "url": "http://image.cloud.topdata.de/t/145080.jpg",
                    "url_own_filename": "http://image.cloud.topdata.de/t/145080/"
                },
                "normal": {
                    "url": "http://image.cloud.topdata.de/n/145080.jpg",
                    "url_own_filename": "http://image.cloud.topdata.de/n/145080/"
                }
            },
            ...
        ],
        "bundle_content": [ ],
        "product_alternates": {
            "ws_list_url": "/product_alternates/145080",
            "products": [
                [
                    145070,
                    ...
                ]
            ]
        },
        "product_is_alternate_of": {
            "ws_list_url": "/product_is_alternate_of/145080",
            "products": [
                [
                    145070,
                    ...
                ]
            ]
        },
        "product_accessories": [ ],
        "product_application_in": [ ],
        "distributors": [ ]
    }
}

Bei der Produktliste werden die Produkte ebenso übergeben.

Legende uneindeutiger Variablen
Variable Beschreibung
reference_oems Falls das Produkt eine Alternative ist, kommen hier die OEMs zu den entsprechenden Produkten
bundle_content_oems Falls das Produkt ein Bundle ist, kommen hier die OEMs der Einzelprodukte
bundle_content Falls das Produkt ein Bundle ist, kommen hier die Produkt IDs der Einzelprodukte
product_alternates Alternative Produkt IDs zum Produkt
product_is_alternate_of Produkt ist eine Alternative der genannten Produkt IDs
product_accessories Zubehör Produkt IDs zum Produkt
product_same_accessories Alle Produkt IDs mit dem selben Zubehör zum Produkt
product_application_in Produkt ist Zubehör von den genannten Produkt IDs
product_same_application_in Alle Produkt IDs mit dem selben Elternprodukt wozu es ein Zubehör ist vom Produkt
distributors verfügbare Anbieter und deren Artikelnummern

Zugangseinschränkungen
Variable Beschreibung
images Bilder erhalten Sie nur dann, wenn diese für Ihren Zugang aktiviert wurden
distributors Sie erhalten jeweils nur die Lieferanten, die für Ihren Zugang aktiviert wurden

bundle_content

Ruft zu einem bestimmten Bundle-Produkt die enthalten Produkte ab. Diese werden als Produktliste zurückgegeben. Dafür ist die Produkt ID des Bundles notwendig.

  • Produkt ID (%product_id%)
http://ws.cloud.topdata.de/bundle_content/%product_id%

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/bundle_content/%product_id%?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie die Produktliste als Rückgabe.

product_alternates

Ruft zu einem bestimmten Produkt die Alternativprodukte ab. Diese werden als Produktliste zurückgegeben. Dafür ist die Produkt ID notwendig.

  • Produkt ID (%product_id%)
http://ws.cloud.topdata.de/product_alternates/%product_id%

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/product_alternates/%product_id%?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie die Produktliste als Rückgabe.

product_is_alternate_of

Ruft zu einem bestimmten Alternativprodukt diejenigen Produkte ab, zu denen es alternativ ist. Diese werden als Produktliste zurückgegeben. Dafür ist die Produkt ID notwendig.

  • Produkt ID (%product_id%)
http://ws.cloud.topdata.de/product_is_alternate_of/%product_id%

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/product_is_alternate_of/%product_id%?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten sie die Produktliste als Rückgabe.

product_accessories

Ruft zu einem bestimmten Produkt die Zubehörprodukte ab. Diese werden als Produktliste zurückgegeben. Dafür ist die Produkt ID notwendig.

  • Produkt ID (%product_id%)
http://ws.cloud.topdata.de/product_accessories/%product_id%

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/product_accessories/%product_id%?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie die Produktliste als Rückgabe.

product_same_accessories

Ruft zu einem bestimmten Produkt die Produkte ab mit den dem selben Zubehör. Diese werden als Produktliste zurückgegeben. Dafür ist die Produkt ID notwendig.

  • Produkt ID (%product_id%)
http://ws.cloud.topdata.de/product_same_accessories/%product_id%

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/product_same_accessories/%product_id%?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie die Produktliste als Rückgabe.

product_application_in

Ruft zu einem bestimmten Produkt die Produkte ab wozu es ein Zubehör ist. Diese werden als Produktliste zurückgegeben. Dafür ist die Produkt ID notwendig.

  • Produkt ID (%product_id%)
http://ws.cloud.topdata.de/product_application_in/%product_id%

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/product_application_in/%product_id%?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie die Produktliste als Rückgabe.

product_same_application_in

Ruft zu einem bestimmten Produkt die Produkte ab die genauso ein Zubehör sind. Diese werden als Produktliste zurückgegeben. Dafür ist die Produkt ID notwendig.

  • Produkt ID (%product_id%)
http://ws.cloud.topdata.de/product_same_application_in/%product_id%

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/product_same_application_in/%product_id%?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie die Produktliste als Rückgabe.

Anbieter Produkte

Ruft zu einem bestimmten Anbieter die Produkte ab. Diese werden als Produktliste zurückgegeben. Dafür ist die Anbieter ID notwendig. Diese ist z.B. bei einem der Produkte einsehbar.

  • Anbieter ID (%distributor_id%)
http://ws.cloud.topdata.de/distributor/%distributor_id%

Beispiel

Bei Aufruf von:

http://ws.cloud.topdata.de/distributor/%distributor_id%?
  uid=%uid%&
  security_key=%security_key%&
  password=%password%&
  version=%version%&
  language=%language%

erhalten Sie die Produktliste als Rückgabe.

Code Beispiele

PHP

Z.B. für das Abrufen von einem Produkt.

<?php
 
	//receive data
	$data = file_get_contents('http://ws.cloud.topdata.de/product/145080?uid=...&security_key=...&password=..&version=100&language=de');
 
	//decode json data
	$json = json_decode($data);
 
	//display json object
	var_dump($json);
 
?>