Documentation API

Connectez Data Enricher à votre propre plateforme, PIM ou script d’importation. Une API REST, du JSON en entrée et en sortie.

Accès et clés

Chaque boutique reçoit sa propre clé : ma- suivi de 32 caractères. Envoyez-la dans l’en-tête X-Worker-Key (ou Authorization: Bearer). Une clé fonctionne uniquement pour les domaines de boutique qui lui sont associés ; envoyez le domaine dans 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

Chaque clé a une limite mensuelle de requêtes. Les réponses du cache ne comptent pas. Demandez une clé via la page de contact.

POST /lookup

Recherche un produit par son EAN et renvoie les données et les photos vérifiées. Les EAN-8, UPC-A, EAN-13 et GTIN-14 sont validés, chiffre de contrôle compris ; UPC-A est converti en EAN-13.

{"ean": "7333377653917", "name": "Husqvarna 550i XP", "refresh": false}
ChampSignification
eanObligatoire. Le code-barres du produit.
nameFacultatif. Le nom dans votre boutique ; aide pour les EAN ambigus en ligne. Au plus 128 caractères.
refreshFacultatif. true lance une nouvelle recherche au lieu d’utiliser le 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"
}}

Au plus huit photos sont renvoyées, celles « en situation » d’abord, en réservant toujours de la place pour au moins trois photos du produit lorsqu’elles existent. Une erreur figure dans result.error ; rien n’est alors stocké, vous pouvez donc réessayer plus tard.

POST /text

Rédige les textes du produit dans une langue : titre, descriptions courte et longue, titre meta et description meta.

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

language est un code ISO : nl, en, de, fr, es, it, pt, pl, da, sv, no, fi, cs, ro, zh, ja, ru ou ko. Un autre code entraîne un repli vers l’anglais, avec un warning. format vaut html ou text.

En plus de la description prête à l’emploi, vous recevez la description en parties : intro_html et sections (caractéristiques, raisons de le choisir, avantages, inconvénients, contenu de la boîte, questions fréquentes, présentation de la marque), chacune avec un titre dans la langue du texte. Composez votre propre description avec les sections et l’ordre souhaités. details contient aussi toutes les informations sous forme de données : spécifications, propriétés, mots-clés, couleurs, matériaux et tailles.

POST /page-text

Textes pour une page de catégorie ou de marque : une description courte pour le haut, une description longue en sections, un titre meta et une description meta, avec des liens internes vers les pages de votre boutique.

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

Les liens pointent uniquement vers les URL que vous envoyez, chaque URL au plus une fois et six liens maximum par texte. Pour une marque ("type": "brand"), envoyez categories à la place de subcategories et brands ; l’API recherche alors aussi la marque sur le web.

POST /jobs

Jusqu’à vingt EAN à la fois, cinq recherches simultanées. Vous recevez immédiatement un job_id.

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

Suivez la progression avec GET /jobs/{job_id} : status vaut queued, running ou done, et results conserve l’ordre de votre requête.

GET /usage

Votre utilisation et vos limites pour la période actuelle : requêtes, crédits et jetons IA.

Erreurs

StatutSignification
400JSON non valide.
403Clé incorrecte, ou le domaine de la boutique n’est pas associé à la clé.
413La requête est trop volumineuse.
422Aucun EAN valide dans un lot.
429Trop de requêtes, ou la limite de votre forfait est atteinte.

Les erreurs de contenu, comme un produit introuvable, sont renvoyées avec le statut 200 et un error dans le résultat.

Questions sur l'API

Comment obtenir une clé API ?

Demandez une clé via la page de contact. Chaque boutique reçoit sa propre clé, qui ne fonctionne que pour les domaines de boutique associés.

Les requêtes répétées comptent-elles dans ma limite ?

Non. Les réponses provenant du cache ne sont pas comptabilisées.

Combien d'EAN puis-je envoyer en même temps ?

Jusqu'à vingt en un seul lot via "/jobs". Cinq d'entre eux sont recherchés simultanément.

Que se passe-t-il si un produit est introuvable ?

Vous obtenez le statut 200 avec une erreur dans le résultat. Rien n'est enregistré, vous pouvez donc réessayer plus tard.