We use cookies in order to give you the optimal experience of our website. Some of them are required for the operation of this site (e.g. in order to use the shopping cart). Others allow us to enhance our online offers and to display them efficiently. You can use the settings to determine which cookies you will permit. Further details can be found in our privacy policy.
Settings
  • Required
    These cookies are required for the functionality of this site, e.g. by making it possible to add products to the shopping cart. Furthermore, this type of cookie guarantees that you can log into your account and that you can stay logged in, in order to maintain access to your order details. Required cookies are exclusively used on this Website. No data is transferred to third parties.
  • Comfort
    These cookies allow the custom tailoring of certain features in order to enhance the user experience and simplify the use of our site.For instance, they make it easier to search for and find suitable products. Cookies used to enhance the user experience are exclusively used on this site and no data is passed on to third parties.
  • External Media
    We provide you additional media, e.g. videos or maps. This media is provided by third parties, who are using cookies.Cookies for external media is used by third parties or publishers. We do not have any control about this cookie usage.
  • Statistics
    In order to further improve our Website, we collect anonymous data for statistics and analysis. These cookies enable us to keep track of traffic which helps us improve the site systematically. For these purposes, only anonymous data is passed on to third parties.
  • Marketing
    Marketing cookies help us to inform you about interesting offers on other websites. Marketing cookies are used by third parties or publishers in order to present personalized adds.

Produktdaten - Kundenzugriff via API

Questions:

  • Wie kann ich Produktdaten als Kunde via API abfragen?
  • Wie können Produktdaten in meinen Onlineshop geladen werden?
  • Wie kann ich automatisch Produktbilder herunterladen?

Description:

TYRIOS bietet die Möglichkeit, Kunden den Zugriff via API auf sämtliche Produktdaten zu bieten. Dabei werden nicht nur die Basisdaten dem Kunden bereitgestellt, sondern sämtliche Produktinformationen wie Beschreibungen, Bilder, PDF-Downloads und mehr. Ziel ist es, dass der Kunde nicht nur über Daten für eine kleine Warenwirtschaft importieren kann, sondern dass auch ein Komplett-Import für den eigenen Onlineshop möglich ist.

 

Dieser Knowledge-Base Eintrag beschreibt nun die Struktur der Produktdaten im Detail:

 

URL-Struktur:

Sofern dir vom Shop-Betreiber der Zugang zur Kunden-Produkt-API freigeschaltet wurde, kannst du die Produkte über folgende URL abrufen:

 

https://[shop-url]/services/ProductManagement/UserProductData

 

Wie der Name der Schnittstelle vermuten lässt, ist die Schnittstelle personalisiert. Du bekommst also direkt die für dich geltenden Preise angezeigt.

 

Paginierung

Die Produktschnittstelle ist paginiert, um die Produktmenge einzugrenzen. Es gibt zwei Parameter für die Paginierung:

 

offset: definiert das erste zu liefernde Produkt

length: definiert die Anzahl der zu liefernden Produkte

 

Sprache

Standardmäßig liefert TYRIOS die Produkte in der Sprache, die deinem Benutzerkonto hinterlegt ist. Sollte der Shop weitere Sprachen unterstützen, so kannst du die Daten in dieser Sprache alternativ abfragen:

 

lang: definiert die Sprache, in der die Produktdaten geliefert werden soll (z.B. "de" für deutsch, "en" für englisch). Sofern die Sprache nicht hinterlegt ist, wird das Produkt in deutsch geliefert.

 

Modus

Du kannst die Produktdaten so abfragen, dass alle Produkte auf einmal abgerufen werden können oder alternativ nach Kategorie abgefragt werden. Der zweite Modus erlaubt dir die Integration der Produktdaten in Echtzeit, ohne dass du die Daten in deiner eigenen Warenwirtschaft importieren musst. Das macht die Anzeige der Produkte auf deiner Website noch viel einfacher. Denn es werden stets nur die aktuellen Daten angezeigt.

 

mode: definiert den Modus. Mögliche Werte: "category": erlaubt das Filtern auf Kategorie-Ebene, "product": erlaubt das Filtern auf Produkt-Ebene (Standard)

 

Filter

Die Schnittstelle erlaubt es dir, die Daten abhängig vom Modus zu filtern. Dazu musst du lediglich eine JSON-Struktur zur Filterung mit der Struktur "Feldname => Filterwert" übergeben. 

 

filter: definiert den Filter als JSON-Struktur. Z.B. "filter={'ean': '123456789'}"

Authentifizierung

Je nach Einstellung des Shop-Betreibers kannst du die Produktdaten nur als authentifizierter Benutzer abfragen. Deine persönlichen Preise sind auf jeden Fall nur als authentifizierter Benutzer sichtbar. 

Zur Authentifizierung benötigst du neben deinem Benutzernamen ein API-Secret, welches dir vom Shopbetreiber mitgeteilt werden muss. Beides zusammen muss in Form einer Basic-Authentication an TYRIOS übergeben werden.

Datenstruktur

Aufgrund der Komplexität der Daten wird das Ergebnis als JSON-Datenstruktur bereitgestellt. Die Syntax sieht wie folgt aus:

 

{products: [
{
 id: 123,
 materialNumber:"",
 title:"product title"
 link: "https://example.com/shop/product_title/2833/144/1"
 shortDescription: "...",
 description: "html code",
 additionalDescriptions: { /* here additional descriptions as key,value, potentially nested object structure */},
 images: ["https://..." /* path to full size images */],
 media: ["https://..." /* path to media downloads (only if public!) */]
 listPrice: 1.00,
 standardPrice: 0.37, /* standard price in net value */
 price: 0.33, /* user specific price, including potential current offers */
 tax: 19,
 ean: "",
 isbn: "",
 upc: "",
 brand: "",
 manufacturer: "",
 mpn: "",
 google_product_category: "...",
 availability: "", /stockState translated according to Google Feed
 stockCount: 22, /* only if activated for user */
 deliveryCosts: [{name: "DHL", costs: "1.30"}], /* all possible delivery options with corresponding costs */
 unit: "",
 energyEfficiencyClass: "",
 multiPack: 1,
 isBundle: true/false,
 isAdult: true / false,
 gender: "",
 ageGroup:"",
 pattern: "",
 material: "",
 color: ["",""]
 size: "",
 sizeType: "",
 sizeSystem: "",
 width: ,
 height: ,
 depth: ,
 weight: ,
 unitPricingMeasure: ,
 unitPricingBaseMeasure: ,
 unit4unitPricing: ,
 reorderable: ,
 overbookable: , /* only if stock export enabled*/,
 customsTariffNumber:,
 countryOfOrigin: ,
 stockable: true/false /*only if stock export enabled */,
 groupProduct: {
    groupID: 123,
    groupName: "groupName",
    dimensions: {
     size: "XL",
     color: "red"
   }
 }, /* only of group product is assigned */
 configurationParameters: [
   {
    name: "Size",
    type: "selection",
    variants: [
        {
          name: "Text",
          additionalPrice: 1.3
          additionalDeliveryCosts: 0
          isDefault: true
        }
     ]
   }, /** variants in parameters **/
   {
    name: "Your name",
    type: "input"
   } /* free text input */
 
 ] /* only if configuration parameters are assigned */
}
],
count: 1853
}

Solution:

Tips und Tricks:

Subscribe to our newsletter

Stay informed at all times. We will gladly inform you about product news and offers.