アクセスとキー
各ストアに専用のキーが発行されます。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"
}}
最大8枚の写真が返され、「使用中」が先に並びます。商品単体の写真がある場合は、常に少なくとも3枚分の枠を確保します。エラーは 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"}
リンク先は送信した URL のみで、各 URL は最大1回、テキストごとに最大6件です。ブランド("type": "brand")の場合は、subcategories と brands の代わりに categories を送信してください。この場合、API はウェブ上でもブランドを検索します。
POST /jobs
一度に最大20件の EAN を受け付け、5件ずつ同時に検索します。job_id がすぐに返されます。
{"items": [{"ean": "7333377653917", "name": "Husqvarna 550i XP"}, {"ean": "8716637053167"}]}
GET /jobs/{job_id} で進捗を確認できます。status は queued、running、done のいずれかで、results はリクエストの順序を維持します。
GET /usage
現在の期間における利用量と上限です。リクエスト数、クレジット、AI トークンを含みます。
エラー
| ステータス | 意味 |
|---|---|
| 400 | 無効な JSON です。 |
| 403 | キーが誤っているか、ストアドメインがキーに紐づいていません。 |
| 413 | リクエストが大きすぎます。 |
| 422 | 一括処理に有効な EAN がありません。 |
| 429 | リクエストが多すぎるか、プランの上限に達しています。 |
商品が見つからないなどの内容上のエラーは、ステータス 200 で返され、結果に error が含まれます。