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}
| Feld | Bedeutung |
|---|---|
ean | Erforderlich. Der Barcode des Produkts. |
name | Optional. Der Name in Ihrem Shop; hilft bei EANs, die online nicht eindeutig sind. Höchstens 128 Zeichen. |
refresh | Optional. 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
| Status | Bedeutung |
|---|---|
| 400 | Ungültiges JSON. |
| 403 | Falscher Schlüssel oder die Shopdomain gehört nicht zum Schlüssel. |
| 413 | Die Anfrage ist zu groß. |
| 422 | Keine gültigen EANs in einem Stapel. |
| 429 | Zu 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.