插件:多语言 - 保存商品翻译(主体)
多语言 - 保存商品翻译(主体)
保存商品主体字段的多语言翻译。本接口仅保存商品主体(标题、描述、SEO 等 8 个字段),变体 Option 和 Item 翻译需通过各自的保存接口处理。完整链路: 插件:多语言-获取商品翻译 → 编辑 → 分别保存三个部分。
接口信息
- 接口地址:
{your-site-url}/api/skill/addons-language/save-product-translate - 基础 URL:
{your-site-url}需替换为你自己的独立站 URL 地址,如https://your-domain.com/apimanager666 - 请求方式:
POST 说明: 保存商品主体字段的多语言翻译。
编辑逻辑:
- 从 插件:多语言-获取商品翻译 拿到
product_data和product_translate - 结合店铺已配置的语言列表,比对每个语言:
- 如果该语言在
product_translate中不存在 → 新建翻译 - 如果该语言存在但某些 8 个字段中有空值 → 补齐
- 如果该语言在
- 将补齐后的翻译数据通过本接口保存
- 从 插件:多语言-获取商品翻译 拿到
认证
请求头中需要携带 skill-access-token:
| Header | 值 |
|---|---|
skill-access-token |
{your-skill-access-token} (请替换为你自己的 token) |
Content-Type |
application/json |
请求参数 (JSON Body)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
product_id |
string/int | 是 | 商品 ID |
product_translate |
Array[Object] | 是 | 翻译数据列表。可以只传入本次要保存的语言,其他语言可后续分批保存。每个语言内部需传齐全部 8 个翻译字段,但字段值可为空字符串 |
product_translate 子项字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
lang_code |
string | 是 | 语言简码,如 cn、en。从 插件:多语言-翻译语言列表 的 code 获取 |
title |
string | 是 | 翻译后的商品标题,无内容传空字符串 "" |
sub_title |
string | 是 | 翻译后的副标题,无内容传空字符串 "" |
body_html |
string | 是 | 翻译后的商品描述(支持 HTML),无内容传空字符串 "" |
meta_title |
string | 是 | 翻译后的 SEO 标题,无内容传空字符串 "" |
meta_keywords |
string | 是 | 翻译后的 SEO 关键词,无内容传空字符串 "" |
meta_description |
string | 是 | 翻译后的 SEO 描述,无内容传空字符串 "" |
feed_title |
string | 是 | 翻译后的 Feed 标题,无内容传空字符串 "" |
feed_description |
string | 是 | 翻译后的 Feed 描述,无内容传空字符串 "" |
请求示例
请求体 JSON
{
"product_id": "7046",
"product_translate": [
{
"lang_code": "cn",
"title": "钻石印章戒指,金戒指珠宝",
"sub_title": "",
"body_html": "<p>经典条纹T恤的现代演绎,采用宽松且微短款的设计。</p>",
"feed_title": "",
"feed_description": "",
"meta_title": "钻石印章戒指,黄金戒指珠宝",
"meta_keywords": "",
"meta_description": ""
},
{
"lang_code": "ja",
"title": "ダイヤモンドシグネットリング",
"sub_title": "",
"body_html": "<p>クラシックなストライプTシャツをモダンに解釈した。</p>",
"feed_title": "",
"feed_description": "",
"meta_title": "ダイヤモンドシグネットリング",
"meta_keywords": "",
"meta_description": ""
}
]
}
cURL
curl --location --request POST '{your-site-url}/api/skill/addons-language/save-product-translate' \
--header 'skill-access-token: {your-skill-access-token}' \
--header 'Content-Type: application/json' \
--data-raw '{"product_id":"7046","product_translate":[{"lang_code":"cn","title":"钻石印章戒指","sub_title":"","body_html":"<p>经典条纹T恤...</p>","feed_title":"","feed_description":"","meta_title":"钻石印章戒指","meta_keywords":"","meta_description":""},{"lang_code":"ja","title":"ダイヤモンドシグネットリング","sub_title":"","body_html":"<p>クラシックなストライプ...</p>","feed_title":"","feed_description":"","meta_title":"ダイヤモンドシグネットリング","meta_keywords":"","meta_description":""}]}'
返回结果
code 为 200 表示调用成功;code 不为 200 表示调用失败。
成功响应
{
"code": 200,
"data": [],
"message": "success"
}
返回字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
code |
Number | 状态码,200 表示成功 |
message |
String | 执行结果的文字描述 |
data |
Array | 成功时为空数组 [] |
注意事项
- 本接口仅保存商品主体翻译,Option 和 Item 翻译需分别调用 插件:多语言-保存商品变体Option翻译 和 插件:多语言-保存商品变体item翻译
- 数据来源:从 插件:多语言-获取商品翻译 的
product_data+product_translate比对后得出 product_translate可分批保存:一次只传部分语言- 每个语言内部需传齐全部 8 个字段,无内容的字段传空字符串
""