API-dokumentation

Tilslut Data Enricher til din egen platform, PIM eller dit importscript. Ét REST API, JSON ind og JSON ud.

Adgang og nøgler

Hver butik får sin egen nøgle: ma- efterfulgt af 32 tegn. Send den i headeren X-Worker-Key (eller Authorization: Bearer). En nøgle virker kun for de butiksdomæner, der tilhører den; send domænet 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

Hver nøgle har en månedlig grænse for anmodninger. Svar fra cachen tæller ikke. Anmod om en nøgle via kontaktsiden.

POST /lookup

Slår et produkt op via dets EAN og returnerer produktdata og kontrollerede fotos. EAN-8, UPC-A, EAN-13 og GTIN-14 valideres inklusive kontrolcifferet; UPC-A bliver til EAN-13.

{"ean": "7333377653917", "name": "Husqvarna 550i XP", "refresh": false}
FeltBetydning
eanPåkrævet. Produktets stregkode.
nameValgfrit. Navnet i din butik; hjælper med EAN-koder, der er uklare online. Højst 128 tegn.
refreshValgfrit. true søger igen i stedet for at bruge 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"
}}

Der returneres højst otte fotos, først dem med produktet i brug, og der er altid plads til mindst tre produktfotos, når de findes. En fejl står i result.error; i så fald gemmes intet, så du kan prøve igen senere.

POST /text

Skriver produktteksterne på et sprog: titel, kort og lang beskrivelse, metatitel og metabeskrivelse.

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

language er en ISO-kode: nl, en, de, fr, es, it, pt, pl, da, sv, no, fi, cs, ro, zh, ja, ru eller ko. En anden kode giver engelsk som fallback med en warning. format er html eller text.

Ud over den færdige description får du beskrivelsen i dele: intro_html og sections (egenskaber, hvorfor vælge det, fordele, ulemper, kassens indhold, ofte stillede spørgsmål, om mærket), hver med en overskrift på tekstens sprog. Sammensæt din egen beskrivelse med de afsnit og den rækkefølge, du ønsker. details indeholder også alt som data: specifikationer, egenskaber, søgeord, farver, materialer og størrelser.

POST /page-text

Tekster til en kategori- eller mærkeside: en kort beskrivelse til toppen, en lang beskrivelse i afsnit, en metatitel og en metabeskrivelse med interne links til sider 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"}

Links går kun til de URL'er, du sender, hver URL højst én gang og højst seks pr. tekst. For et mærke ("type": "brand") skal du sende categories i stedet for subcategories og brands; API'et søger da også efter mærket på nettet.

POST /jobs

Op til tyve EAN-koder på én gang, hvor fem slås op samtidigt. Du får straks et job_id retur.

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

Følg fremdriften med GET /jobs/{job_id}: status er queued, running eller done, og results bevarer rækkefølgen fra din anmodning.

GET /usage

Dit forbrug og dine grænser i den aktuelle periode: anmodninger, kreditter og AI-tokens.

Fejl

StatusBetydning
400Ugyldig JSON.
403Forkert nøgle, eller butiksdomænet tilhører ikke nøglen.
413Anmodningen er for stor.
422Ingen gyldige EAN-koder i en gruppe.
429For mange anmodninger, eller grænsen for din pakke er nået.

Indholdsfejl, såsom et produkt, der ikke kan findes, returneres med status 200 og en error i resultatet.

Spørgsmål om API'et

Hvordan får jeg en API-nøgle?

Anmod om en nøgle via kontaktsiden. Hver butik får sin egen nøgle, som kun virker til de tilhørende butiksdomæner.

Tæller gentagne anmodninger med i min grænse?

Nej. Svar fra cachen tæller ikke med.

Hvor mange EAN'er kan jeg sende på én gang?

Op til tyve i én batch via jobs. Fem af dem slås op samtidigt.

Hvad hvis et produkt ikke kan findes?

Så får du status 200 med en fejl i resultatet. Intet gemmes, så du kan prøve igen senere.