API 文档

将 Data Enricher 接入您自己的平台、PIM 或导入脚本。一个 REST API,输入和输出均为 JSON。

访问与密钥

每个商店都有自己的密钥:ma- 后接 32 个字符。请通过 X-Worker-Key 请求头(或 Authorization: Bearer)发送。密钥仅适用于与其关联的商店域名;请通过 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

每个密钥都有月度请求额度。缓存返回结果不计入额度。请通过联系页面申请密钥。

POST /lookup

根据 EAN 查询产品,返回事实信息和经过核验的照片。EAN-8、UPC-A、EAN-13 和 GTIN-14 均会验证,包括校验码;UPC-A 会转换为 EAN-13。

{"ean": "7333377653917", "name": "Husqvarna 550i XP", "refresh": false}
字段含义
ean必填。产品的条形码。
name选填。商店中的产品名称,有助于识别网上信息不明确的 EAN。最多 128 个字符。
refresh选填。true 会重新搜索,而不使用缓存。
{"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"
}}

最多返回八张照片,优先返回“使用场景”照片;如有产品照片,始终为至少三张预留位置。错误会出现在 result.error 中;此时不会存储任何内容,您可以稍后重试。

POST /text

以某种语言撰写产品文案:标题、简短和详细描述、元标题和元描述。

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

language 为 ISO 代码:nl、en、de、fr、es、it、pt、pl、da、sv、no、fi、cs、ro、zh、ja、ru 或 ko。其他代码会回退到英语,并返回 warning。format 为 html 或 text。

除完整的 description 外,您还会获得分段描述:intro_html 和 sections(功能、选择理由、优点、缺点、包装内容、常见问题、品牌介绍),每部分都有相应语言的标题。您可以选择所需部分和顺序,构建自己的描述。details 还以数据形式提供全部内容:规格、属性、关键词、颜色、材料和尺寸。

POST /page-text

为分类或品牌页面生成文案:顶部的简短描述、分段的详细描述、元标题和元描述,并包含指向您自己商店页面的内部链接。

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

链接仅指向您提交的网址,每个网址最多出现一次,每篇文案最多六个链接。对于品牌("type": "brand"),请发送 categories,而非 subcategories 和 brands;API 还会在线搜索该品牌。

POST /jobs

每次最多二十个 EAN,同时查询五个。您会立即收到 job_id。

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

通过 GET /jobs/{job_id} 跟踪进度:status 为 queued、running 或 done,results 保留请求中的顺序。

GET /usage

当前周期的用量和额度:请求次数、积分和 AI 令牌。

错误

状态码含义
400JSON 无效。
403密钥错误,或商店域名不属于该密钥。
413请求过大。
422批次中没有有效的 EAN。
429请求过多,或已达到套餐额度。

内容错误(例如未找到产品)会以状态码 200 返回,并在结果中包含 error。

关于 API 的问题

如何获取 API 密钥?

通过联系页面申请密钥。每个店铺都会获得专属密钥,该密钥仅适用于与其关联的店铺域名。

重复请求会计入我的配额限制吗?

不会。来自缓存的答案不计入配额。

一次可以发送多少个 EAN?

通过 /jobs 单次最多可发送二十个。其中五个会同时进行查找。

如果找不到商品怎么办?

你将收到状态码 200 以及结果中的错误信息。系统不会保存任何内容,以便你稍后重试。