Documentazione API

Collega Data Enricher alla tua piattaforma, al tuo PIM o al tuo script di importazione. Una sola API REST, JSON in ingresso e in uscita.

Accesso e chiavi

Ogni negozio riceve la propria chiave: ma- seguito da 32 caratteri. Inviala nell’header X-Worker-Key (o Authorization: Bearer). Una chiave funziona solo per i domini dei negozi a essa associati; invia il dominio 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

Ogni chiave ha un limite mensile di richieste. Le risposte dalla cache non contano. Richiedi una chiave tramite la pagina dei contatti.

POST /lookup

Cerca un prodotto tramite il suo EAN e restituisce i dati e le foto verificate. EAN-8, UPC-A, EAN-13 e GTIN-14 vengono validati, inclusa la cifra di controllo; UPC-A viene convertito in EAN-13.

{"ean": "7333377653917", "name": "Husqvarna 550i XP", "refresh": false}
CampoSignificato
eanObbligatorio. Il codice a barre del prodotto.
nameFacoltativo. Il nome nel tuo negozio; aiuta con gli EAN poco chiari online. Al massimo 128 caratteri.
refreshFacoltativo. true esegue una nuova ricerca invece di usare la cache.
{"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"
}}

Vengono restituite al massimo otto foto, prima quelle «in uso», riservando sempre spazio per almeno tre foto del prodotto, se disponibili. Un errore si trova in result.error; in tal caso non viene salvato nulla, così puoi riprovare in seguito.

POST /text

Scrive i testi del prodotto in una lingua: titolo, descrizione breve e lunga, titolo meta e descrizione meta.

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

language è un codice ISO: nl, en, de, fr, es, it, pt, pl, da, sv, no, fi, cs, ro, zh, ja, ru o ko. Un altro codice comporta il ripiego sull’inglese, con un warning. format è html o text.

Oltre alla description pronta all’uso, ricevi la descrizione in parti: intro_html e sections (caratteristiche, motivi per sceglierlo, vantaggi, svantaggi, contenuto della confezione, domande frequenti, informazioni sul marchio), ciascuna con un titolo nella lingua del testo. Componi la tua descrizione con le sezioni e l’ordine desiderati. details contiene tutto anche come dati: specifiche, proprietà, parole chiave, colori, materiali e dimensioni.

POST /page-text

Testi per una pagina di categoria o marchio: una descrizione breve per la parte superiore, una descrizione lunga suddivisa in sezioni, un titolo meta e una descrizione meta, con link interni alle pagine del tuo negozio.

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

I link portano solo agli URL che invii, ogni URL al massimo una volta e al massimo sei link per testo. Per un marchio ("type": "brand"), invia categories al posto di subcategories e brands; l’API cerca quindi il marchio anche sul web.

POST /jobs

Fino a venti EAN alla volta, con cinque ricerche simultanee. Ricevi subito un job_id.

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

Segui l’avanzamento con GET /jobs/{job_id}: status è queued, running o done, e results mantiene l’ordine della tua richiesta.

GET /usage

Utilizzo e limiti nel periodo corrente: richieste, crediti e token IA.

Errori

StatoSignificato
400JSON non valido.
403Chiave errata oppure il dominio del negozio non è associato alla chiave.
413La richiesta è troppo grande.
422Nessun EAN valido in un lotto.
429Troppe richieste oppure è stato raggiunto il limite del pacchetto.

Gli errori di contenuto, come un prodotto non trovato, vengono restituiti con stato 200 e un error nel risultato.

Domande sull'API

Come ottengo una chiave API?

Richiedi una chiave tramite la pagina dei contatti. Ogni negozio riceve una chiave propria, che funziona solo per i domini del negozio associati.

Le richieste ripetute contano ai fini del mio limite?

No. Le risposte dalla cache non vengono conteggiate.

Quanti EAN posso inviare contemporaneamente?

Fino a venti in un unico batch tramite \/jobs. Cinque di essi vengono cercati contemporaneamente.

Cosa succede se un prodotto non viene trovato?

Ricevi lo stato 200 con un errore nel risultato. Non viene memorizzato nulla, così puoi riprovare più tardi.