快工助手跨境电商知识与商机助手

变体管理

Shopee 官方资料 · Shopee Open Platform 开发者指南 · 适合开发者

stable本次发布有变化全部展示

来自 Shopee 官方资料快照 ·

打开官方原文 ↗
  1. 当前资料结构化阅读页
  2. 固定快照已留存,可追溯
  3. 官方原文可核对
查看技术与溯源信息
平台 / profile
Shopee / profile.shopee.developer_guide
语言
zh-Hans
发布版本
cn-20260909-2
标签
zhuge/sourceplatform/shopeeaudience/developercategory/api_doctopic/apitopic/api-guidelines-and-flowstopic/developer

资料正文

§1 变体管理

Shopee支持定义最多两层规格的变体结构。变体总数不能超过50个。

例如商品有颜色规格,颜色为红色、蓝色,我们称这种变体层级结构为1-tier variation。

例如商品有颜色和尺寸规格,颜色为红色、蓝色,尺寸为L,XL,我们称这种变体层级结构为2-tier variation。

如果卖家在创建商品时就需要定义变体,请参考创建商品文章。

如果后续卖家创建商品后还需要管理变体,请参考本文。

管理变体的库存和价格,请参考价格库存管理文章。

#

§2 1.新增变体(不改变层级结构)

场景一:商品已经定义了颜色规格,颜色为红色、蓝色,现在需要添加黑色, 原来的变体保留。

变体情况

tier_indexoptionmodel_id
tier_index[0]red10000
tier_index[1] (待加)black(待加)-
tier_index[2]blue20000

调用接口:v2.product.update_tier_variation + v2.product.add_model

1.1 调用v2.product.update_tier_variation接口添加黑色选项

请求参数例子:

{

    "item_id": 800250275,

    "tier_variation": [

        {

            "name": "Color",

            "option_list": [

                {

                    "option": "red"

                },

                {

                    "option": "black"

                },

               {

                    "option": "blue"

                }

            ]

        }

    ],

    "model_list": [

        {

            "tier_index": [0],

            "model_id": 10000

        },

        {

            "tier_index": [2],

            "model_id": 20000

        }

    ]

}

1.2 调用v2.product.add_model 接口为黑色的变体添加价格、库存、sku信息

请求参数例子:

{

"item_id": 800250275,

"model_list": [

{

"tier_index": [1],

"original_price": 30,

"model_sku": "sku-black",

"seller_stock": [
{
"stock": 300
}
]}]}
#

§3 2.新增变体(改变层级结构)

场景二:商品已经定义了颜色规格,颜色为红色、蓝色,现在需要添加尺寸规格,尺寸包括L、XL。

原变体情况

tier_indexoptionmodel_id
tier_index[0]red10000
tier_index[1]blue20000

改变后变体情况

tier_indexoptionmodel_id
tier_index[0,0]red,L-
tier_index[0,1]red,XL-
tier_index[1,0]blue,L-
tier_index[1,1]blue,XL-

*因为层级已经发生变化,调用接口:v2.product.init_tier_variation后原来的model信息也会清空,即原来model_id:10000和model_id:20000将会失效。

调用接口:v2.product.init_tier_variation 重新定义层级

{

  "item_id": 100918691,

  "tier_variation": [

    {

      "option_list": [

        {

          "option": "red"

        },

        {

          "option": "blue"

        }

      ],

      "name": "color"

    },

    {

      "option_list": [

        {

          "option": "L"

        },

        {

          "option": "XL"

        }

      ],

      "name": "size"

    }

  ],

  "model": [

    {

      "original_price": 10,

      "model_sku": "sku-red-L",

      "normal_stock": 100,

      "tier_index": [0,0]

    },

    {

      "original_price":20,

      "model_sku": "sku-red-XL",

      "normal_stock":200,

      "tier_index": [0,1]

    },

    {

      "original_price":30,

      "model_sku": "sku-blue-L",

      "normal_stock":300,

      "tier_index": [1,0]

    },

   {

      "original_price":40,

      "model_sku": "sku-blue-XL",

      "normal_stock":400,

      "tier_index": [1,1]

    }

  ]

}
#

§4 3.删除变体(不改变层级结构)

场景三:商品已经定义了颜色规格,颜色为红色、蓝色、黑色,现在需要删除蓝色,原来的变体保留。

原变体情况

tier_indexoptionmodel_id
tier_index[0]red10000
tier_index[1] (To be deleted)blue (To be deleted)20000
tier_index[2]black30000

因为要删除蓝色,删除后tier_index只能为tier_index[0]、tier_index[1] ,所以我们需要将tier_index[1] 位置的变体信息用黑色变体的信息覆盖。

删除后变体情况

tier_indexoptionmodel_id
tier_index[0]red10000
tier_index[1]black30000

调用接口:v2.product.update_tier_variation 可以实现同时将option和model信息同时删除。

请求参数例子:

{

    "item_id": 800250275,

    "tier_variation": [

        {

            "name": "color",

            "option_list": [

                {

                    "option": "red"

                },  

               {

                    "option": "black"

                }

            ]

        }

    ],

    "model_list": [

        {

            "tier_index": [0],

            "model_id": 10000

        },

        {

            "tier_index": [1],

            "model_id": 30000

        }

    ]

}

场景四:商品已经定义了颜色和尺寸规格,颜色为红色、蓝色,尺寸为L、XL。现在需要删除蓝色的变体,原来的变体保留。

原变体情况

tier_indexoptionmodel_id
tier_index[0,0]red,L10000
tier_index[0,1]red,XL20000
tier_index[1,0] (To be deleted)blue,L (To be deleted)30000
tier_index[1,1] (To be deleted)blue,XL (To be deleted)40000

调用接口:v2.product.update_tier_variation 可以实现同时将option和model信息同时删除。

请求参数例子:

{

    "item_id": 800250275,

    "tier_variation": [

        {

            "name": "color",

            "option_list": [

                {

                    "option": "red"

                }

            ]

        },

     {

            "name": "size",

            "option_list": [

              {

                    "option": "L"

                },

                {

                    "option": "XL"

                }

            ]

        }

    ],

    "model_list": [

        {

            "tier_index": [0,0],

            "model_id": 10000

        },

        {

            "tier_index": [0,1],

            "model_id": 20000

        }

    ]

}

删除后变体情况

tier_indexoptionmodel_id
tier_index[0,0]red,L10000
tier_index[0,1]red,XL20000
tier_index[1,0]--
tier_index[1,1]--
#

§5 4.删除变体(改变层级结构)

场景五:商品已经定义了颜色和尺寸规格,颜色为红色、蓝色,尺寸为L、XL。现在需要删除所有颜色的规格。

原变体情况

tier_indexoptionmodel_id
tier_index[0,0]red,L10000
tier_index[0,1]red,XL20000
tier_index[1,0]blue,L30000
tier_index[1,1]blue,XL40000

删除后变体情况

tier_indexoptionmodel_id
tier_index[0]L-
tier_index[1]XL-

调用接口:v2.product.init_tier_variation

请求参数例子:

{

  "item_id": 100918691,

  "tier_variation": [

    {

      "option_list": [

        {

          "option": "L"

        },

        {

          "option": "XL"

        }

      ],

      "name": "size"

  ],

  "model": [

    {

      "original_price": 10,

      "model_sku": "sku-L",

      "normal_stock": 100,

      "tier_index": [0]

    },

    {

      "original_price":20,

      "model_sku": "sku-XL",

      "normal_stock":200,

      "tier_index": [1]

    }  ]

}
#

§6 5.改变变体顺序

场景六:商品已经定义了颜色规格,颜色为红色、蓝色。现在需要将颜色顺序改为蓝色,红色,原来的变体信息保留。

原变体情况

tier_indexoptionmodel_id
tier_index[0]red10000
tier_index[1]blue20000

调整后变体情况

tier_indexoptionmodel_id
tier_index[0]blue20000
tier_index[1]red10000

调用接口:v2.product.update_tier_variation

请求参数例子:

{

    "item_id": 800250275,

    "tier_variation": [

        {

            "name": "color",

            "option_list": [

                {

                    "option": "blue"

                },  

               {

                    "option": "red"

                }

            ]

        }

    ],

    "model_list": [

        {

            "tier_index": [0],

            "model_id": 20000

        },

        {

            "tier_index": [1],

            "model_id": 10000

        }

    ]

}
#

§7 6.改变变体的选项名称

场景七:商品已经定义了颜色规格,颜色为红色、蓝色。现在需要将颜色名称改为红色-A、蓝色,原来的变体信息保留。

原变体情况

tier_indexoptionmodel_id
tier_index[0]red10000
tier_index[1]blue20000

调整后变体情况

tier_indexoptionmodel_id
tier_index[0]red-A10000
tier_index[1]blue20000

调用接口:v2.product.update_tier_variation

请求参数例子:

{

    "item_id": 800250275,

    "tier_variation": [

        {

            "name": "color",

            "option_list": [

                {

                    "option": "red-A"

                },  

               {

                    "option": "blue"

                }

            ]

        }

    ],

    "model_list": [

        {

            "tier_index": [0],

            "model_id": 10000

        },

        {

            "tier_index": [1],

            "model_id": 20000

        }

    ]

}
#

§8 总结

1.涉及到修改变体层级结构,调用v2.product.init_tier_variation接口,包括0-tier variation改成1-tier variation / 0-tier variation改成2-tier variation /1-tier variation改成2-tier variation / 2-tier variation 改成1-tier variation。

2.涉及新增/删除/更新选项option,调用v2.product.update_tier_variation接口,如果需要保留原有model信息需要入参数model_list。

3.涉及新增model信息,调用v2.product.add_model接口,如果涉及删除model信息,调用v2.product.delete_model接口。

4.升级了CNSC和KRSC的卖家,只能通过全球商品新增/删除变体,所以请使用global product 接口进行管理,否则将会报错。以下是对应功能相等的global_product接口。

#