Dostęp i klucze
Każdy sklep otrzymuje własny klucz: ma- i 32 znaki. Wyślij go w nagłówku X-Worker-Key (lub Authorization: Bearer). Klucz działa tylko dla przypisanych do niego domen sklepów; wyślij domenę w 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
Każdy klucz ma miesięczny limit żądań. Odpowiedzi z pamięci podręcznej nie wliczają się do limitu. Poproś o klucz przez stronę kontaktową.
POST /lookup
Wyszukuje produkt według kodu EAN i zwraca dane oraz sprawdzone zdjęcia. Kody EAN-8, UPC-A, EAN-13 i GTIN-14 są weryfikowane wraz z cyfrą kontrolną; UPC-A jest przekształcany w EAN-13.
{"ean": "7333377653917", "name": "Husqvarna 550i XP", "refresh": false}
| Pole | Znaczenie |
|---|---|
ean | Wymagane. Kod kreskowy produktu. |
name | Opcjonalne. Nazwa w Twoim sklepie; pomaga w przypadku kodów EAN, które są niejednoznaczne w internecie. Maksymalnie 128 znaków. |
refresh | Opcjonalne. true wyszukuje ponownie zamiast korzystać z pamięci podręcznej. |
{"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"
}}
Zwracanych jest maksymalnie osiem zdjęć, najpierw „w użyciu”, zawsze z miejscem na co najmniej trzy zdjęcia samego produktu, jeśli istnieją. Błąd znajduje się w result.error; nic nie jest wtedy zapisywane, więc można spróbować ponownie później.
POST /text
Pisze teksty produktu w danym języku: tytuł, krótki i długi opis, meta tytuł i meta opis.
{"ean": "7333377653917", "name": "Husqvarna 550i XP", "language": "en", "format": "html"}
language to kod ISO: nl, en, de, fr, es, it, pt, pl, da, sv, no, fi, cs, ro, zh, ja, ru lub ko. Inny kod powoduje użycie języka angielskiego i zwrócenie warning. format to html lub text.
Oprócz gotowego description otrzymujesz opis w częściach: intro_html i sections (cechy, powody wyboru, zalety, wady, zawartość opakowania, najczęstsze pytania, informacje o marce), każda z nagłówkiem w języku tekstu. Zbuduj własny opis z wybranych sekcji w wybranej kolejności. details zawiera wszystko również w postaci danych: specyfikacje, właściwości, słowa kluczowe, kolory, materiały i rozmiary.
POST /page-text
Teksty dla strony kategorii lub marki: krótki opis na górę, długi opis podzielony na sekcje, meta tytuł i meta opis, z linkami wewnętrznymi do stron Twojego sklepu.
{"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"}
Linki prowadzą wyłącznie do przesłanych adresów URL, każdy adres najwyżej raz i maksymalnie sześć na tekst. Dla marki ("type": "brand") wyślij categories zamiast subcategories i brands; API wyszuka wtedy markę również w internecie.
POST /jobs
Do dwudziestu kodów EAN naraz, pięć wyszukiwanych jednocześnie. Od razu otrzymujesz job_id.
{"items": [{"ean": "7333377653917", "name": "Husqvarna 550i XP"}, {"ean": "8716637053167"}]}
Śledź postęp przez GET /jobs/{job_id}: status to queued, running lub done, a results zachowuje kolejność Twojego żądania.
GET /usage
Wykorzystanie i limity w bieżącym okresie: żądania, kredyty i tokeny AI.
Błędy
| Status | Znaczenie |
|---|---|
| 400 | Nieprawidłowy JSON. |
| 403 | Nieprawidłowy klucz lub domena sklepu nie jest przypisana do klucza. |
| 413 | Żądanie jest zbyt duże. |
| 422 | Brak prawidłowych kodów EAN w partii. |
| 429 | Zbyt wiele żądań lub osiągnięto limit pakietu. |
Błędy treści, takie jak produkt, którego nie można znaleźć, są zwracane ze statusem 200 i polem error w wyniku.