API-Dokumentation

Verbinden Sie Data Enricher mit Ihrer eigenen Plattform, Ihrem PIM oder Ihrem Importskript. Eine REST-API, JSON rein und JSON raus.

Zugang und Schlüssel

Jeder Shop erhält seinen eigenen Schlüssel: ma- gefolgt von 32 Zeichen. Senden Sie ihn im Header X-Worker-Key (oder Authorization: Bearer). Ein Schlüssel funktioniert nur für die ihm zugeordneten Shopdomains; senden Sie die Domain in X-Shop-Domain.

POST /lookup HTTP/1.1
Host: api.data-enricher.com
X-Worker-Key: ma-…
X-Shop-Domain: yourstore.com
Content-Type: application/json

Jeder Schlüssel hat ein monatliches Anfragelimit. Antworten aus dem Cache zählen nicht. Fordern Sie einen Schlüssel über die Kontaktseite an.

POST /lookup

Sucht ein Produkt anhand seiner EAN und gibt die Daten und geprüften Fotos zurück. EAN-8, UPC-A, EAN-13 und GTIN-14 werden einschließlich der Prüfziffer validiert; UPC-A wird zu EAN-13.

{"ean": "7333377653917", "name": "Husqvarna 550i XP", "refresh": false}
FeldBedeutung
eanErforderlich. Der Barcode des Produkts.
nameOptional. Der Name in Ihrem Shop; hilft bei EANs, die online nicht eindeutig sind. Höchstens 128 Zeichen.
refreshOptional. true sucht erneut, statt den Cache zu verwenden.
{"result": {
  "ean": "7333377653917", "identified": true, "name": "Husqvarna 550i XP",
  "description": "…", "specs": {"Battery voltage": "36 V"},
  "images": {"in_use": ["https://…"], "product": ["https://…"]},
  "sources": ["https://…"], "cached": false, "credits_used": 0, "search": "free"
}}

Es werden höchstens acht Fotos zurückgegeben, „im Einsatz“ zuerst, wobei immer Platz für mindestens drei Produktfotos bleibt, sofern vorhanden. Ein Fehler steht in result.error; dann wird nichts gespeichert, sodass Sie es später erneut versuchen können.

POST /text

Schreibt die Produkttexte in einer Sprache: Titel, kurze und lange Beschreibung, Meta-Titel und Meta-Beschreibung.

{"ean": "7333377653917", "name": "Husqvarna 550i XP", "language": "en", "format": "html"}

language ist ein ISO-Code: nl, en, de, fr, es, it, pt, pl, da, sv, no, fi, cs, ro, zh, ja, ru oder ko. Bei einem anderen Code wird mit einer warning auf Englisch zurückgegriffen. format ist html oder text.

Neben der fertigen description erhalten Sie die Beschreibung in Teilen: intro_html und sections (Eigenschaften, Kaufgründe, Vorteile, Nachteile, Lieferumfang, häufig gestellte Fragen, über die Marke), jeweils mit einer Überschrift in der Sprache des Textes. Stellen Sie Ihre eigene Beschreibung mit den gewünschten Abschnitten und der gewünschten Reihenfolge zusammen. details enthält alles auch als Daten: technische Daten, Eigenschaften, Suchbegriffe, Farben, Materialien und Größen.

POST /page-text

Texte für eine Kategorie- oder Markenseite: eine kurze Beschreibung für den Seitenanfang, eine lange Beschreibung in Abschnitten, ein Meta-Titel und eine Meta-Beschreibung mit internen Links zu Seiten Ihres eigenen Shops.

{"type": "category", "entity_id": 12, "name": "Chainsaws", "language": "en",
 "path": "Garden > Chainsaws", "subcategories": ["Cordless chainsaws"],
 "brands": ["Husqvarna"], "products": ["Husqvarna 550i XP"],
 "links": [{"type": "subcategory", "title": "Cordless chainsaws", "url": "https://yourstore.com/cordless-chainsaws"}],
 "shop_name": "Your Store"}

Links führen nur zu den URLs, die Sie übermitteln, jede URL höchstens einmal und höchstens sechs pro Text. Für eine Marke ("type": "brand") senden Sie categories statt subcategories und brands; die API sucht dann auch im Web nach der Marke.

POST /jobs

Bis zu zwanzig EANs auf einmal, fünf werden gleichzeitig gesucht. Sie erhalten sofort eine job_id zurück.

{"items": [{"ean": "7333377653917", "name": "Husqvarna 550i XP"}, {"ean": "8716637053167"}]}

Verfolgen Sie den Fortschritt mit GET /jobs/{job_id}: status ist queued, running oder done, und results behält die Reihenfolge Ihrer Anfrage bei.

GET /usage

Ihre Nutzung und Limits im aktuellen Zeitraum: Anfragen, Credits und KI-Tokens.

Fehler

StatusBedeutung
400Ungültiges JSON.
403Falscher Schlüssel oder die Shopdomain gehört nicht zum Schlüssel.
413Die Anfrage ist zu groß.
422Keine gültigen EANs in einem Stapel.
429Zu viele Anfragen oder das Limit Ihres Pakets ist erreicht.

Inhaltliche Fehler, etwa ein nicht auffindbares Produkt, werden mit Status 200 und einem error im Ergebnis zurückgegeben.

Fragen zur API

Wie erhalte ich einen API-Schlüssel?

Fordere einen Schlüssel über die Kontaktseite an. Jeder Shop erhält einen eigenen Schlüssel, der nur für die dazugehörigen Shop-Domains funktioniert.

Zählen wiederholte Anfragen zu meinem Limit?

Nein. Antworten aus dem Cache zählen nicht mit.

Wie viele EANs kann ich gleichzeitig senden?

Bis zu zwanzig in einem Batch über \/jobs. Fünf davon werden gleichzeitig nachgeschlagen.

Was ist, wenn ein Produkt nicht gefunden werden kann?

Dann erhältst du den Status 200 mit einem Fehler im Ergebnis. Es wird nichts gespeichert, sodass du es später erneut versuchen kannst.