Fecify-商品-更新(全量更新)

接口信息

  • 接口地址: {your-site-url}/api/skill/product/update
  • 基础 URL: {your-site-url} 需替换为你自己的独立站 URL 地址,如 https://your-domain.com/apimanager666
  • 请求方式: POST
  • Content-Type: application/json
  • 说明: 全量更新商品信息。先通过 商品-详情 获取商品全部数据,修改后再提交。从详情获取到的数据都需要加入到更新请求中。

认证

请求头中需要携带 skill-access-token

Header
skill-access-token {your-skill-access-token} (请替换为你自己的 token)

请求参数

顶层字段

字段 类型 必填 说明
product Object 产品主体数据
productattr_info Array 商品附加属性信息。使用前需先判断插件是否存在,详见下文说明
images Array 产品图片列表
videos Array 产品视频列表
addition_group_id int 商品自定义属性组 ID
variantremark_id String 变体备注 ID
groupbuy_id String 组合购买 ID
collection_ids Array 产品对应专辑 ID 数组(多对多)
label_ids Array 角标 ID 数组
options Array 条件 产品规格定义。product.type=1(单规格)时选填,product.type=2(多规格)时必填
variants Array 产品变体。单规格产品数组只有一个子项
glasses Object 眼镜类商品属性
mergeimages Array 合并图片列表
tags Array 商品标签数组
payafteruse Number 先用后付:1 先用后付商品,2 普通商品

groupbuy_id 字段说明

groupbuy_id 是商品搭配组合购买的组合 ID,使用前需要:

  1. 商品搭配组合购买 ID,通过 商品组合购买-下拉条列表 进行获取
  2. 对于该值,需要先调用 商品组合购买-下拉条列表 接口,然后在该接口返回的参数 groups 中,选择一个子项的 id,作为 groupbuy_id 的值
  3. 商品搭配组合购买是插件功能,使用前需要先判断插件是否存在:通过 获取店铺基本信息 返回的字段 addons,查看 prodattr 是否在 addons 数组中存在,如果存在则说明店铺存在插件:商品搭配组合购买

addition_group_id 字段说明

addition_group_id 是自定义属性 ID,对应自定义属性插件。该字段是商品自定义属性 id 字段,需要先查看插件:商品自定义属性,店铺是否存在这个插件,并且,插件状态是否为开启。

该字段赋值条件:

  1. 店铺存在插件:商品自定义属性

  2. 店铺是否存在插件:商品自定义属性,是插件功能,因此,使用前需要先判断商品自定义属性插件:additionattr,是否存在插件:additionattr,可以通过 api:获取店铺基本信息 返回的字段:addons,查看:additionattr 是否在 addons 数组中存在,如果存在则说明店铺存在插件:商品自定义属性

  3. 通过 api:商品自定义属性-下拉条列表,得到商品自定义属性下拉条列表,进行选择。因此,下拉条内容不为空,则可以选择商品自定义属性 id 的值,作为商品全量更新 api:addition_group_id 的值

collection_ids 字段说明

collection_ids 是商品专辑 ID 数组,可通过 商品专辑-列表 获取商品专辑 ID。


google_product_category 字段说明

google_product_category 是商品对应在 google category 的 ID,通过 商品-google categorys 获取数据。


product 字段详表

字段 类型 必填 说明
id Number 商品 ID,从 商品-详情 获取
spu String 产品 SPU
title String 产品标题
sub_title String 产品副标题
body_html String 产品描述(HTML)
handle String 商品 URL handle,不填写则用 title 自动生成
status Number 产品状态:1 上架,2 下架,默认上架
type Number 产品规格类型:1 单规格,2 多规格
vendor String 产品厂家/品牌名称
virtual_sales_count Number 产品虚拟销量
is_tax Number 是否收税:1 收税,2 不收税
variant_need_image Number 规格是否需要图片:1 需要,2 不需要,默认 1
variant_show_image Number 前台规格显示方式:1 显示文字,2 显示图片,3 使用插件默认
variant_need_note Number 变体是否需要备注:1 需要,2 不需要
inventory_police Number 是否跟踪库存:1 跟踪,2 不跟踪,默认 1
inventory_police_type Number 库存策略:1 库存为0允许购买,2 库存为0禁止购买,3 库存为0自动下架,默认 1
meta_is_edit Number SEO 是否独立编辑:1 非独立,2 独立
meta_title String SEO 标题(meta title)
meta_keywords String SEO 关键字(meta keywords)
meta_description String SEO 描述(meta description)
feed_title String Feed 自定义 title
feed_description String / Null Feed 自定义 description
translate_type Number 翻译类型:1 强制翻译,2 只翻译多语言为空部分,3 不翻译
source_type Number / String 来源类型:1 代表 1688
template_type String 模版装修的 template key
google_product_category Number Google 商品分类 ID
google_product_type_id String Google 产品类型
description_json Object JSON 描述内容(模板装修数据)
description_json_status Number 是否使用 JSON 描述:1 开启,2 关闭
params_json Array 参数 JSON 内容
params_json_status Number 是否使用 JSON 参数:1 开启,2 关闭
short_description_json Array[Object] 选填 商品列表描述,简短描述(JSON 格式数组,支持多语言)。每项含 text(默认文本)和 lang_params(多语言翻译对象)
collection_ids Array 产品对应专辑 ID 数组
label_ids Array 角标 ID 数组
variant_show_image 说明

variant_show_image 该字段对应的是插件:商品规格图片,本来该字段是通过:商品规格图片-保存配置 的字段:default_show 进行,如果某个商品,不想通过统一配置,想要单独配置,那么就可以设置这个字段。

| variant_show_image | Number | 否 | 前台规格显示方式:1 显示文字,2 显示图片,3 使用插件默认 |

默认的值为:3,一般都是使用 3,也就是,使用插件默认配置,该值代表的意思是,以 api:商品规格图片-保存配置 的字段:default_show,这个字段为准。

对于值 1 和 2,代表自定义值,譬如某个商品的规格全部使用文字,那么就可以在这里自定义某个商品的规格的显示方式。

short_description_json 结构说明

每项格式:

{
    "text": "默认文本",
    "lang_params": {
        "text": {
            "cn": "中文翻译"
        }
    }
}

short_description_json 插件判断说明

short_description_json(商品列表描述)是插件:商品列表描述对应的字段。该字段进行编辑后,通过 api:商品列表描述-获取配置,来查看 status 是否开启,如果开启,则前台商城,商品详情页,将会显示商品的列表属性。

商品列表属性,是为了将商品的简要描述,在商品详情页更好地展示。简单来说,商品列表属性就是在前台商城的商品详情页,展示的一列商品属性文字——一行一段文字,多行显示

使用前需要同时满足以下 2 个条件:

  1. 店铺存在插件:商品列表描述。这是插件功能,使用前需要先判断商品列表描述插件:prodlistattr 是否存在。可以通过 api:获取店铺基本信息 返回的字段:addons,查看:prodlistattr 是否在 addons 数组中存在,如果存在则说明店铺存在插件:商品列表描述
  2. 插件状态开启。通过 api:商品列表描述-获取配置 获取状态值 status 为 1 开启,则代表插件状态开启
template_type 说明

template_type 是模版装修的 template key。取值方式:

  1. 通过 得到模版layout布局列表,传递 get 参数 page_type=product,即可获得 Template Types 列表
  2. 从返回数据中的 template_types 中选择一个值,作为 template_type 的值
  3. 一般来说,该值留空即可,除非用户进行指定
  4. 如果用户提交了值,那么该值必须在该 API 返回的数据 template_types 中存在;如果不存在,则留空即可

productattr_info 字段详表

productattr_info 是商品附加属性(插件 prodattr)提供的数据。使用前需要:

  1. 通过 获取店铺基本信息 获取 addons 字段,检查 prodattr 是否在 addons 数组中存在
  2. 如果存在,则通过 商品附加属性-所有属性以及子项列表 获取所有属性及其子项
  3. 根据业务需要选择属性和子项,构建 productattr_info 数组
字段 类型 必填 说明
attr_id Number 属性 ID
item_ids Array 属性值 ID 数组
id String 记录 ID,更新已有属性时传入,新增为空字符串

images 字段详表

字段 类型 必填 说明
src String 产品图片路径
alt String 图片 alt 文本
position Number 图片排序位置,从 1 开始依次递增。position=1 的将作为主图
id Number 图片 ID,更新已有图片时传入,新增可不传
product_id Number 产品 ID
width Number 图片宽度(像素)
height Number 图片高度(像素)
ratio String 宽高比
key Float 前端唯一标识 key

videos 字段详表

字段 类型 必填 说明
src String 视频 URL 路径
alt String 视频 alt 文本
position Number 视频排序位置
id Number 视频 ID,更新已有视频时传入,新增可不传
product_id Number 产品 ID


videos 插件判断说明

videos 是商品视频字段,需要先查看插件:商品视频,店铺是否存在这个插件,并且,插件状态是否为开启。

该字段赋值条件:这 2 个条件必须同时成立

  1. 店铺存在插件:商品视频
  2. 插件状态开启

  3. 店铺是否存在插件:商品视频,是插件功能,因此,使用前需要先判断商品视频插件:prodvideo,是否存在插件:prodvideo。可以通过 api:获取店铺基本信息 返回的字段:addons,查看:prodvideo 是否在 addons 数组中存在,如果存在则说明店铺存在插件:商品视频

  4. 通过 api:商品视频-获取配置,得到状态 status 为 1 开启,则代表插件状态开启

options 字段详表

字段 类型 必填 说明
name String 规格名称,如 ColorSize
position Number 规格排序,只能用 123 中的一个,且每个 option 的 position 不可重复
items Array 规格子项数组,如 ["White", "Black"]
id Number Option ID,更新已有规格时传入,新增可不传
product_id Number 产品 ID
shop_id Number 店铺 ID

variants 字段详表

字段 类型 必填 说明
price Float 售卖价格
qty Number 变体库存,默认 0
weight String 变体重量
weight_unit String 重量单位:g(克)、kg(千克)、lb(磅)、oz(盎司)
option1 String 规格值 1,其值必须存在于 optionsposition=1 所在行的 items 数组中
option2 String 规格值 2,其值必须存在于 optionsposition=2 所在行的 items 数组中
option3 String 规格值 3,其值必须存在于 optionsposition=3 所在行的 items 数组中
cost_price Float 成本价格
compare_at_price Float 划线价格
wholesale_price Array 批发价格。每项含 qty(批发个数)和 price(批发单价)
sku String 条件 产品 SKU,根据店铺配置决定必填唯一/选填唯一/选填非唯一
barcode String 条形码
image String 变体图片路径。此图片必须存在于 images 数组中,否则无法保存
gram Number 重量(克)
note String 变体备注
buy_min_count Number 最小起购数量。这是商品最低购买的个数,需要插件:cartlimit(商品加购限制)存在且状态开启才生效,详见下方「buy_min_count 插件判断说明」
customervip Array VIP 会员价格。每项含 customervip_id(VIP等级ID)和 price(VIP价格)
id Number 变体 ID,更新已有变体时传入,新增可不传
product_id Number 产品 ID
shop_id Number 店铺 ID
image_id Number 变体图片 ID,关联 images 表中的记录
images Array 变体图片列表

variants 子项 image(变体图片)必填说明

variants 子项的 image 字段(变体图片路径)是否必填,由 productvariant_need_image 字段决定:

  1. product.variant_need_image 值为 1,则 variants 子项的字段:image(变体图片路径),必填,而且:注意:此图片必须存在于 images 数组中,否则无法保存
  2. product.variant_need_image 值不为 1,则 variants 子项的字段:image,不需要填写


variants 子项 images(商品规格多图)说明

商品规格多图,对应的是 variants 的子项的 images 字段。variants 字段是商品的规格字段,它的子项的 images 字段,保存的就是规格多图。

这个字段是商品规格多图,需要先判断插件:商品规格多图,店铺是否存在这个插件,并且,插件状态是否为开启。

该字段赋值条件:这 2 个条件必须同时成立

  1. 店铺存在插件:商品规格多图
  2. 插件状态开启

  3. 店铺是否存在插件:商品规格多图,是插件功能,因此,使用前需要先判断商品规格多图插件:variantmutilimage,是否存在插件:variantmutilimage。可以通过 api:获取店铺基本信息 返回的字段:addons,查看:variantmutilimage 是否在 addons 数组中存在,如果存在则说明店铺存在插件:商品规格多图

  4. 通过 api:商品规格多图-获取配置,得到状态 status 为 1 开启,则代表插件状态开启

variants 子项 images 示例(即规格多图):

"images": [
    {
        "id": "",
        "product_id": 7143,
        "variant_id": 50400,
        "position": 1,
        "src": "https://sc04.alicdn.com/kf/Hd4e2987843a8423ebe6dfced71a6128df.jpg",
        "width": "",
        "height": "",
        "ratio": "0.00"
    },
    {
        "id": "",
        "product_id": 7143,
        "variant_id": 50400,
        "position": 2,
        "src": "https://sc04.alicdn.com/kf/H8e2257c0fcf34dec8240ba8e647e710bP.jpg",
        "width": "",
        "height": "",
        "ratio": "0.00"
    }
]

images 说明:

  • images 的子项的 src 字段,是图片的路径,对于值,可以是 http 开头的完整 url,也可以是只有 path 的图片路径(通过图片基础 url 拼接得到完整图片 url)
  • images 的子项的 src 字段,是图片的路径,必须在 post 的参数:images 中存在,post 参数 images 指的是最外层的商品所有图片的字段 images

images 子项说明:

字段 类型 说明
id string 子项 id
product_id string/int 商品 id
variant_id string/int 规格变体 id
position int 图片位置,用于前台商城,商品详情页,图片的排序
src string 图片的路径,可以是 http 开头的完整 url,也可以是只有 path 的图片路径(通过图片基础 url 拼接得到完整图片 url),该子项必须在最外层的 post 参数 images 中存在
ratio string 图片宽高比

wholesale_price 插件判断说明

wholesale_price(商品批发价格)是商品批发价格插件提供的数据。注意:商品设置了批发价格数据后,店铺必须存在插件:商品批发价格,并且插件状态已开启,前台商品详情页才会显示商品的批发价格,顾客购买多个才会享受批发价格。

使用前需要同时满足以下 2 个条件:

  1. 店铺存在插件:商品批发价格。这是插件功能,使用前需要先判断商品批发价格插件:wholesale_price 是否存在。可以通过 api:获取店铺基本信息 返回的字段:addons,查看:wholesale_price 是否在 addons 数组中存在,如果存在则说明店铺存在插件:商品批发价格
  2. 插件状态开启。通过 api:商品批发价格-获取配置 获取状态值,判断插件是否开启

buy_min_count 插件判断说明

variants 子项的 buy_min_count(最小起购数量),是商品最低购买的个数。需要插件:cartlimit(商品加购限制)存在,并且插件状态为开启状态,前台商城,商品购买个数限制才会生效。

使用前需要同时满足以下 2 个条件:

  1. 店铺存在插件:商品加购限制。这是插件功能,使用前需要先判断商品加购限制插件:cartlimit 是否存在。可以通过 api:获取店铺基本信息 返回的字段:addons,查看:cartlimit 是否在 addons 数组中存在,如果存在则说明店铺存在插件:商品加购限制
  2. 插件状态开启。通过 api:商品加购限制-获取配置 返回的 status,状态为开启状态,前台商城,商品购买个数限制才会生效

如果店铺不存在插件:cartlimit,或者状态不开启,则前台商城,商品购买个数限制不会生效。

tags 字段详表

字段 类型 必填 说明
id String Tag ID(新增时传空字符串 "",已有 tag 传实际 ID)
title String Tag 标题

值格式为:

[
    {
        "title": "beginner",
        "id": 199
    },
    {
        "title": "baby closthes",
        "id": 53
    },
    {
        "title": "4343",
        "id": ""
    }
]

对于 tags 的值:

  • 可以从 tag 列表中进行选择:商品Tag-列表,这种方式可以填写 idtitle
  • 也可以直接填写 tags 的值,只填写 titleid 为空。保存商品的时候,会通过 tag title 去查询 tag:如果找到则直接返回 tag id,找不到则会创建 tag,然后返回 tag id

glasses 字段详表

字段 类型 必填 说明
button_type Number 按钮类型
distance_min String 最小距离
distance_max String 最大距离
sex Object 适用性别。含 value(默认值)和 language(多语言对象,如 {"cn":"性别"}
lens_type Object 镜片类型。含 value(默认值)和 language(多语言对象,如 {"cn":"风格"}
material Object 材质。含 value(默认值)和 language(多语言对象,如 {"cn":"材质"}

mergeimages 字段详表

字段 类型 必填 说明
src String 图片路径
position Number 图片位置排序
alt String 图片 alt 文字
id Number 记录 ID,更新已有图片时传入,新增可不传
product_id Number 产品 ID
width Number 图片宽度(像素)
height Number 图片高度(像素)
ratio String 宽高比

请求示例

cURL

curl --location --request POST '{your-site-url}/api/skill/product/update' \
--header 'skill-access-token: {your-skill-access-token}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "product": {
        "source_type": "",
        "spu": "7218746753195",
        "title": "先用后付,测试:Morden Lighting Nordic Fabric Shade Black White Floor Lamp",
        "sub_title": "",
        "body_html": "<!-- HTML 模板装修内容 -->",
        "status": 1,
        "is_tax": 1,
        "virtual_sales_count": 54,
        "type": 2,
        "vendor": "Lighting Made",
        "variant_need_note": "1",
        "variant_need_image": 1,
        "variant_show_image": 3,
        "inventory_police": 1,
        "inventory_police_type": 1,
        "meta_is_edit": 2,
        "meta_title": "Morden Lighting Nordic Fabric Shade Black White Floor Lamp",
        "meta_keywords": "Morden Lighting Nordic",
        "meta_description": "Introducing the Morden Lighting Nordic Fabric Shade Black White Floor Lamp! This sleek and stylish floor lamp is perfect for any modern home. The sleek black and white design is perfect for any room in your house, and the fabric shade provides a warm and inviting glow. The height of 160cm makes it perfect for any corner in your room, and the stand width of 30cm ensures that it will fit perfectly in any space.",
        "feed_description": null,
        "feed_title": "",
        "handle": "morden-lighting-big-nordic-fabric-shade-black-or-white-floor-lamp-em7v0pso",
        "translate_type": 3,
        "google_product_category": 111,
        "google_product_type_id": "light",
        "description_json": {},
        "description_json_status": 1,
        "params_json": [],
        "params_json_status": 2,
        "short_description_json": [
            {
                "text": "Morden Lighting Nordic Fabric Shade Black White Floor Lamp",
                "lang_params": {
                    "text": {
                        "cn": "摩登照明北欧布艺灯罩黑白落地灯"
                    }
                }
            },
            {
                "text": "Nordic Fabric Shade Black White Floor Lamp",
                "lang_params": {
                    "text": {
                        "cn": "北欧风格黑白布艺灯罩落地灯"
                    }
                }
            },
            {
                "text": "This sleek and stylish floor lamp is perfect for any modern home",
                "lang_params": {
                    "text": {
                        "cn": "这款时尚且造型优美的落地灯非常适合任何现代风格的家居"
                    }
                }
            }
        ],
        "label_ids": [],
        "collection_ids": [],
        "template_type": "",
        "id": 4646
    },
    "productattr_info": [
        {"id": "", "attr_id": 31, "item_ids": [63, 56]},
        {"id": "", "attr_id": 29, "item_ids": [52, 53]},
        {"id": "", "attr_id": 35, "item_ids": [60]},
        {"id": "", "attr_id": 33, "item_ids": [61]},
        {"id": "", "attr_id": 32, "item_ids": [57]},
        {"id": "", "attr_id": 28, "item_ids": [62]}
    ],
    "images": [
        {
            "id": 30335,
            "product_id": 4646,
            "position": 1,
            "src": "/product/15/image/2026/02/08/90526227fa14ac859b88ada1058092d8.jpg",
            "alt": "",
            "width": 800,
            "height": 800,
            "ratio": "1.00"
        },
        {
            "id": 30336,
            "product_id": 4646,
            "position": 2,
            "src": "/product/15/image/2026/02/08/a8a35a02b70921ca44932dac0ba334aa.jpg",
            "alt": "",
            "width": 750,
            "height": 845,
            "ratio": "0.89"
        },
        {
            "id": 30337,
            "product_id": 4646,
            "position": 3,
            "src": "/product/15/image/2026/02/08/66a079e058435607e41c97ae7fd45c40.jpg",
            "alt": "",
            "width": 750,
            "height": 453,
            "ratio": "1.66"
        },
        {
            "id": 30338,
            "product_id": 4646,
            "position": 4,
            "src": "/product/15/image/2026/02/08/ca8fd9c91436c98254e8d2525fe01ba4.jpg",
            "alt": "",
            "width": 750,
            "height": 564,
            "ratio": "1.33"
        }
    ],
    "videos": [
        {
            "id": 868,
            "product_id": 4646,
            "position": 1,
            "src": "https://cloud.video.taobao.com/play/u/2206786293671/p/1/e/6/t/1/453995116363.mp4",
            "alt": ""
        }
    ],
    "addition_group_id": 73,
    "variantremark_id": "",
    "groupbuy_id": "",
    "collection_ids": [349, 345],
    "label_ids": [],
    "options": [
        {
            "id": 5153,
            "shop_id": 15,
            "product_id": 4646,
            "name": "Color",
            "position": 1,
            "items": ["White", "Black"]
        },
        {
            "id": 5189,
            "shop_id": 15,
            "product_id": 4646,
            "name": "Size",
            "position": 2,
            "items": ["L", "M"]
        }
    ],
    "variants": [
        {
            "id": 44774,
            "shop_id": 15,
            "product_id": 4646,
            "title": "White / L",
            "price": "68.99",
            "compare_at_price": "89.99",
            "cost_price": "38.99",
            "wholesale_price": [
                {"qty": 2, "price": "58.99"},
                {"qty": 5, "price": "53.99"}
            ],
            "sku": "7218746753195-White-L-1010799",
            "gram": 0,
            "barcode": "",
            "image_id": 30335,
            "qty": 999,
            "option1": "White",
            "option2": "L",
            "option3": "",
            "weight": "2",
            "weight_unit": "kg",
            "note": "",
            "image": "/product/15/image/2026/02/08/90526227fa14ac859b88ada1058092d8.jpg",
            "customervip": [
                {"customervip_id": 11, "price": 54},
                {"customervip_id": 10, "price": 55},
                {"customervip_id": 8, "price": 56},
                {"customervip_id": 7, "price": 57}
            ],
                        "images": [
                {
                    "id": "",
                    "product_id": 4646,
                    "variant_id": 44774,
                    "position": 1,
                    "src": "/product/15/image/2026/02/08/90526227fa14ac859b88ada1058092d8.jpg",
                    "width": 800,
                    "height": 800,
                    "ratio": "1.00"
                },
                {
                    "id": "",
                    "product_id": 4646,
                    "variant_id": 44774,
                    "position": 2,
                    "src": "/product/15/image/2026/02/08/a8a35a02b70921ca44932dac0ba334aa.jpg",
                    "width": 750,
                    "height": 845,
                    "ratio": "0.89"
                }
            ]
            "buy_min_count": 1
        },
        {
            "id": 44775,
            "shop_id": 15,
            "product_id": 4646,
            "title": "White / M",
            "price": "68.99",
            "compare_at_price": "89.99",
            "cost_price": "38.99",
            "wholesale_price": [
                {"qty": 2, "price": "58.99"},
                {"qty": 5, "price": "53.99"}
            ],
            "sku": "7218746753195-White-M-1010800",
            "gram": 0,
            "barcode": "",
            "image_id": 30335,
            "qty": 999,
            "option1": "White",
            "option2": "M",
            "option3": "",
            "weight": "2",
            "weight_unit": "kg",
            "note": "",
            "image": "/product/15/image/2026/02/08/90526227fa14ac859b88ada1058092d8.jpg",
            "customervip": [
                {"customervip_id": 11, "price": 54},
                {"customervip_id": 10, "price": 55},
                {"customervip_id": 8, "price": 56},
                {"customervip_id": 7, "price": 57}
            ],
                        "images": [
                {
                    "id": "",
                    "product_id": 4646,
                    "variant_id": 44775,
                    "position": 1,
                    "src": "/product/15/image/2026/02/08/90526227fa14ac859b88ada1058092d8.jpg",
                    "width": 800,
                    "height": 800,
                    "ratio": "1.00"
                },
                {
                    "id": "",
                    "product_id": 4646,
                    "variant_id": 44774,
                    "position": 2,
                    "src": "/product/15/image/2026/02/08/a8a35a02b70921ca44932dac0ba334aa.jpg",
                    "width": 750,
                    "height": 845,
                    "ratio": "0.89"
                }
            ]
            "buy_min_count": 1
        },
        {
            "id": 44776,
            "shop_id": 15,
            "product_id": 4646,
            "title": "Black / L",
            "price": "68.99",
            "compare_at_price": "89.99",
            "cost_price": "38.99",
            "wholesale_price": [
                {"qty": 2, "price": "58.99"},
                {"qty": 5, "price": "53.99"}
            ],
            "sku": "7218746753195-Black-L-1010801",
            "gram": 0,
            "barcode": "",
            "image_id": 30336,
            "qty": 999,
            "option1": "Black",
            "option2": "L",
            "option3": "",
            "weight": "2",
            "weight_unit": "kg",
            "note": "",
            "image": "/product/15/image/2026/02/08/a8a35a02b70921ca44932dac0ba334aa.jpg",
            "customervip": [
                {"customervip_id": 11, "price": 54},
                {"customervip_id": 10, "price": 55},
                {"customervip_id": 8, "price": 56},
                {"customervip_id": 7, "price": 57}
            ],
                        "images": [
                {
                    "id": "",
                    "product_id": 4646,
                    "variant_id": 44776,
                    "position": 1,
                    "src": "/product/15/image/2026/02/08/a8a35a02b70921ca44932dac0ba334aa.jpg",
                    "width": 750,
                    "height": 845,
                    "ratio": "0.89"
                },
                {
                    "id": "",
                    "product_id": 4646,
                    "variant_id": 44776,
                    "position": 2,
                    "src": "/product/15/image/2026/02/08/66a079e058435607e41c97ae7fd45c40.jpg",
                    "width": 750,
                    "height": 453,
                    "ratio": "1.66"
                }
            ]
            "buy_min_count": 1
        },
        {
            "id": 44777,
            "shop_id": 15,
            "product_id": 4646,
            "title": "Black / M",
            "price": "68.99",
            "compare_at_price": "89.99",
            "cost_price": "38.99",
            "wholesale_price": [
                {"qty": 2, "price": "58.99"},
                {"qty": 5, "price": "53.99"}
            ],
            "sku": "7218746753195-Black-M-1010802",
            "gram": 0,
            "barcode": "",
            "image_id": 30336,
            "qty": 999,
            "option1": "Black",
            "option2": "M",
            "option3": "",
            "weight": "2",
            "weight_unit": "kg",
            "note": "",
            "image": "/product/15/image/2026/02/08/a8a35a02b70921ca44932dac0ba334aa.jpg",
            "customervip": [
                {"customervip_id": 11, "price": 54},
                {"customervip_id": 10, "price": 55},
                {"customervip_id": 8, "price": 56},
                {"customervip_id": 7, "price": 57}
            ],
                        "images": [
                {
                    "id": "",
                    "product_id": 4646,
                    "variant_id": 44777,
                    "position": 1,
                    "src": "/product/15/image/2026/02/08/a8a35a02b70921ca44932dac0ba334aa.jpg",
                    "width": 750,
                    "height": 845,
                    "ratio": "0.89"
                },
                {
                    "id": "",
                    "product_id": 4646,
                    "variant_id": 44776,
                    "position": 2,
                    "src": "/product/15/image/2026/02/08/66a079e058435607e41c97ae7fd45c40.jpg",
                    "width": 750,
                    "height": 453,
                    "ratio": "1.66"
                }
            ]
            "buy_min_count": 1
        }
    ],
    "glasses": {
        "button_type": 1,
        "distance_min": "1.00",
        "distance_max": "22.00",
        "sex": {
            "value": "sex",
            "language": {"cn": "性别"}
        },
        "lens_type": {
            "value": "style",
            "language": {"cn": "风格"}
        },
        "material": {
            "value": "type",
            "language": {"cn": "材质"}
        }
    },
    "mergeimages": [],
    "tags": [
        {"id": 25, "title": "white"},
        {"id": 79, "title": "black"}
    ],
    "payafteruse": 1
}'

返回结果

code200 表示调用成功;code 不为 200 表示调用失败。

成功响应

{
    "code": 200,
    "data": {
        "product_id": 4646
    },
    "message": "success"
}

返回字段说明

字段 类型 说明
code Number 状态码,200 表示成功
message String 执行结果的文字描述
data.product_id Number 更新后的产品 ID

错误响应

{
    "code": 100701001,
    "message": "error message"
}

错误码说明

错误码 说明
100701003 商品 ID 为空
100701001 商品保存报错

注意事项

  1. 全量更新:更新前必须先通过 商品-详情 获取商品全部数据,在此基础上修改后再提交。从详情获取到的数据都需要包含在更新请求中。
  2. product.id 必须传入,否则可能被当作新增处理。
  3. product.type=1(单规格)时 options 选填,product.type=2(多规格)时 options 必填。
  4. images[].position 必须从 1 开始连续递增,position=1 的图片为主图。
  5. options[].position 只能为 123,且每个 option 的 position 不可重复。
  6. variants 中的 option1/2/3 值必须与对应 position 的 options[].items 中的值匹配。
  7. 变体的 image 字段所指向的图片必须已存在于 images 数组中,否则无法保存。
  8. 更新已有数据时传入 id(图片 ID、变体 ID、Option ID 等),新增数据时可不传或传空字符串。
  9. weight_unit 支持 g(克)、kg(千克)、lb(磅)、oz(盎司)四种单位。
  10. wholesale_price 为变体的批发价格数组,每个元素包含 qty(起批数量)和 price(批发单价)。
  11. description_json 为模板装修数据(Object),description_json_status=1 时才生效。
  12. short_description_json 每项包含 text(默认文本)和 lang_params.text.{语言}(多语言翻译)。
  13. videos 插件判断videos 是商品视频字段,赋值条件:① 通过 获取店铺基本信息 检查 addons 中是否包含 prodvideo(店铺存在插件:商品视频);② 通过 商品视频-获取配置 得到状态 status1 开启(插件状态开启)。2 个条件必须同时成立。
  14. variants 子项 images 插件判断variants 子项的 images 字段(商品规格多图),赋值条件:① 通过 获取店铺基本信息 检查 addons 中是否包含 variantmutilimage(店铺存在插件:商品规格多图);② 通过 商品规格多图-获取配置 得到状态 status1 开启(插件状态开启)。2 个条件必须同时成立。
  15. variants 子项 images 中的 src 必须是 http 开头的完整 url,或者只有 path 的图片路径(通过图片基础 url 拼接得到完整图片 url),且该 src 必须存在于最外层的 post 参数 images 中。
  16. wholesale_price 插件判断wholesale_price(商品批发价格)是插件功能,赋值条件:① 通过 获取店铺基本信息 检查 addons 中是否包含 wholesale_price(店铺存在插件:商品批发价格);② 通过 商品批发价格-获取配置 获取状态值(插件状态开启)。2 个条件必须同时成立,前台商品详情页才会显示批发价格,购买多个才会享受批发价格。
  17. short_description_json 插件判断short_description_json(商品列表描述)是插件功能,赋值条件:① 通过 获取店铺基本信息 检查 addons 中是否包含 prodlistattr(店铺存在插件:商品列表描述);② 通过 商品列表描述-获取配置 得到状态 status1 开启(插件状态开启)。2 个条件必须同时成立,前台商品详情页才会显示商品的列表属性。
  18. buy_min_count 插件判断variants 子项的 buy_min_count(最小起购数量)是商品最低购买的个数,赋值条件:① 通过 获取店铺基本信息 检查 addons 中是否包含 cartlimit(店铺存在插件:商品加购限制);② 通过 商品加购限制-获取配置 返回的 status 为开启状态(插件状态开启)。2 个条件必须同时成立,前台商城商品购买个数限制才会生效;如果店铺不存在插件:cartlimit,或者状态不开启,则前台商城商品购买个数限制不会生效。
Copyright © fecify.com 2025 all right reserved,powered by Gitbook该文件修订时间: 2026-08-06 15:52:31

results matching ""

    No results matching ""