API-dokumentation

Anslut Data Enricher till din egen plattform, PIM eller ditt importskript. Ett REST API, JSON in och JSON ut.

Åtkomst och nycklar

Varje butik får sin egen nyckel: ma- följt av 32 tecken. Skicka den i headern X-Worker-Key (eller Authorization: Bearer). En nyckel fungerar bara för de butiksdomäner som hör till den; skicka domänen i 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

Varje nyckel har en månadsgräns för anrop. Svar från cachen räknas inte. Begär en nyckel via kontaktsidan.

POST /lookup

Slår upp en produkt via dess EAN och returnerar fakta och kontrollerade foton. EAN-8, UPC-A, EAN-13 och GTIN-14 valideras inklusive kontrollsiffran; UPC-A blir EAN-13.

{"ean": "7333377653917", "name": "Husqvarna 550i XP", "refresh": false}
FältBetydelse
eanObligatoriskt. Produktens streckkod.
nameValfritt. Namnet i din butik; hjälper med EAN-koder som är otydliga på nätet. Högst 128 tecken.
refreshValfritt. true söker igen i stället för att använda cachen.
{"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"
}}

Högst åtta foton returneras, bilder av produkten i användning först, med plats för minst tre produktfoton när de finns. Ett fel finns i result.error; då lagras ingenting, så du kan försöka igen senare.

POST /text

Skriver produkttexterna på ett språk: titel, kort och lång beskrivning, metatitel och metabeskrivning.

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

language är en ISO-kod: nl, en, de, fr, es, it, pt, pl, da, sv, no, fi, cs, ro, zh, ja, ru eller ko. En annan kod ger engelska som reservspråk, med en warning. format är html eller text.

Utöver den färdiga description får du beskrivningen i delar: intro_html och sections (egenskaper, varför välja den, fördelar, nackdelar, förpackningens innehåll, vanliga frågor, om varumärket), var och en med en rubrik på textens språk. Bygg din egen beskrivning med de avsnitt och den ordning du vill ha. details innehåller också allt som data: specifikationer, egenskaper, nyckelord, färger, material och storlekar.

POST /page-text

Texter för en kategori- eller varumärkessida: en kort beskrivning för toppen, en lång beskrivning i avsnitt, en metatitel och en metabeskrivning, med interna länkar till sidor i din egen butik.

{"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"}

Länkar går bara till de URL:er du skickar, varje URL högst en gång och högst sex per text. För ett varumärke ("type": "brand") skickar du categories i stället för subcategories och brands; API:et söker då också efter varumärket på webben.

POST /jobs

Upp till tjugo EAN-koder på en gång, fem slås upp samtidigt. Du får ett job_id tillbaka direkt.

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

Följ förloppet med GET /jobs/{job_id}: status är queued, running eller done, och results behåller ordningen från ditt anrop.

GET /usage

Din användning och dina gränser under den aktuella perioden: anrop, krediter och AI-token.

Fel

StatusBetydelse
400Ogiltig JSON.
403Fel nyckel, eller butiksdomänen hör inte till nyckeln.
413Anropet är för stort.
422Inga giltiga EAN-koder i en grupp.
429För många anrop, eller gränsen för ditt paket har nåtts.

Innehållsfel, som en produkt som inte kan hittas, returneras med status 200 och ett error i resultatet.

Frågor om API:et

Hur skaffar jag en API-nyckel?

Begär en nyckel via kontaktsidan. Varje butik får en egen nyckel som endast fungerar för de butiksdomäner som hör till den.

Räknas upprepade förfrågningar mot min gräns?

Nej. Svar från cachen räknas inte.

Hur många EAN kan jag skicka samtidigt?

Upp till tjugo i en batch via /jobs. Fem av dem slås upp samtidigt.

Vad händer om en produkt inte hittas?

Då får du status 200 med ett felmeddelande i resultatet. Inget sparas, så du kan försöka igen senare.