跳到主要内容

商品

管理商品、变体、图片、集合、库存等。包含 9 个快捷命令和 79 个 API 命令。

快捷命令​

按标题、发布状态、供应商或集合搜索商品。只返回一页,其余结果按 has_more/cursor 继续翻页。

shell
shoplazza products +search [flags]
参数类型说明
--keywordstring按商品标题过滤
--publishedstring按发布状态过滤:published、unpublished 或 any(也接受 true/false)
--vendorstring按供应商名称过滤(精确匹配)
--collection-idstring按集合 ID 过滤
--page-limitint页面大小(1–250)
--fieldsstring返回字段(逗号分隔;未知字段名会被忽略)
shell
shoplazza products +search --keyword "T-shirt"
shoplazza products +search --published published --vendor "Nike"
shoplazza products +search --collection-id 123
shoplazza products +search --page-limit 50 --fields "id,title,variants"

+count​

统计商品数量,可按发布状态过滤。

shell
shoplazza products +count [flags]
参数类型说明
--publishedstring按发布状态过滤:published、unpublished 或 any(也接受 true/false)
shell
shoplazza products +count
shoplazza products +count --published published

+create​

快速创建商品。

shell
shoplazza products +create [flags]
参数类型必填说明
--titlestring是商品标题
--pricestring是售价(如 29.99)
--imagestring是图片 URL
--compare-pricestring原价
--skustringSKU
--stockint库存量(启用库存跟踪)
--stock-policystring库存为 0 时策略:continue、deny 或 auto_unpublished(默认:deny)
--tagsstring标签(逗号分隔)
--publishedbool创建后立即发布(默认为草稿)
--collection-idsstring要加入的集合 ID
shell
shoplazza products +create --title "My Product" --price 29.99 --image "https://example.com/img.jpg"
shoplazza products +create --title "My Product" --price 29.99 --image "https://..." \
--compare-price 39.99 --sku SKU001 --stock 100 --tags "new,featured" --published

+publish​

上架商品。

shell
shoplazza products +publish --id <product-id>
参数类型必填说明
--idstring是商品 ID(在交互式终端中可不填,从列表中选择商品)

+unpublish​

下架商品。在交互式终端中,CLI 会先请你确认再执行。

shell
shoplazza products +unpublish --id <product-id>
参数类型必填说明
--idstring是商品 ID(在交互式终端中可不填,从列表中选择商品)

+stock​

设置或调整变体库存。用 --variant-id、--sku 或 --product-id 指定唯一一个变体,并传 --set 或 --adjust 之一。

shell
shoplazza products +stock [flags]
参数类型必填说明
--variant-idstring变体 ID(精确目标)
--skustring变体 SKU(匹配到多个变体时拒绝执行并列出候选)
--product-idstring商品 ID(解析单变体商品的变体;多变体商品会被拒绝)
--setint设置库存绝对值(≥ 0;与 --adjust 互斥)
--adjustint库存变化量(非 0;正数增加,负数减少;与 --set 互斥)
--location-idstring仓库 ID(默认使用默认仓库)

减少库存(--set 低于当前库存,或 --adjust 为负数)仅适用于只在一个仓库有库存的商品,且只能在默认仓库操作。

shell
# 设置绝对值
shoplazza products +stock --variant-id <id> --set 100

# 增加库存
shoplazza products +stock --variant-id <id> --adjust 50

# 按 SKU 指定
shoplazza products +stock --sku SKU001 --adjust -5

# 指定仓库
shoplazza products +stock --variant-id <id> --set 100 --location-id <id>

+set-price​

设置变体价格,可按变体 ID、SKU 或商品 ID 指定目标。

shell
shoplazza products +set-price [flags]
参数类型必填说明
--pricestring是新售价(如 24.99)
--compare-pricestring新原价
--variant-idstring变体 ID(精确目标)
--skustring变体 SKU(匹配到多个变体时拒绝执行并列出候选;改用 --variant-id 或 --all)
--allbool仅配合 --sku:更新所有匹配该 SKU 的变体
--product-idstring商品 ID(解析单变体商品的变体;多变体商品会被拒绝;不能与 --variant-id 或 --sku 同用)

--variant-id、--sku、--product-id 三者必须提供其一。

shell
shoplazza products +set-price --sku SKU001 --price 24.99
shoplazza products +set-price --sku SKU001 --price 24.99 --compare-price 39.99
shoplazza products +set-price --variant-id <id> --price 19.99

+set-variants​

一次请求编辑已有商品的规格矩阵(规格维度 × 规格值):CLI 读取商品、应用全部修改,再写回完整的变体列表。已有变体保留原 ID,SKU、库存和图片也随之保留。

shell
shoplazza products +set-variants --id <product-id> [flags]
参数类型必填说明
--idstring是商品 ID
--addstring"Dim:v1,v2":添加规格值(为其他维度的每个现有组合各新建一个变体);维度名不存在时新增该维度。可重复
--removestring"Dim:v1,v2":删除这些规格值(需精确拼写)及使用它们的变体。可重复
--setstring"Dim:v1,v2":将该维度的规格值设为恰好这些,顺序即店铺展示顺序。可重复
--dropstring"Dim":删除一个维度;"Dim=value":只保留带该值的变体,再删除该维度。可重复
--renamestring"Dim:old=new,..." 重命名规格值;"OldDim=NewDim" 重命名维度。可重复
--existingstring"Dim:value":新增维度带多个值时,已有变体取的值。可重复
--new-pricestring无可复制来源的新变体价格:一个数字,或按值指定 "Dim:v=price,..."
--new-imagestring无可复制来源的新变体图片(商品已有图片的 ID 或 URL),或按值指定 "Dim:v=image,...";要求变体图片的商品必填
--new-stockint每个新变体的库存
--set-pricestring所有变体的价格:一个数字,或 "Dim:v=price,..." 为带这些值的变体定价
--set-stockint所有变体的库存(绝对值,默认仓库)
--sku-templatestring应用到所有变体的 SKU 模板,用 {Option Name} 占位(修改后的名称),如 TS-{Color}-{Size}

无论书写顺序如何,修改都按固定顺序应用(remove、drop、set、add、rename),所有名称都指商品当前的名称。以下情况会在写入前直接拒绝:名称或规格值不存在、同一维度出现在 --add/--remove/--set/--drop 中的多个里、drop 会合并变体、结果超过 3 个维度或 300 个变体、新变体没有价格(或在要求图片的商品上没有图片)。输出是摘要(kept、cloned、created、deleted、明细和 changes),而不是完整商品。旧的 --action/--option/--price/--image/--stock 参数已废弃,且不能与上述参数混用。

shell
# 预览新增 Size 维度,已有变体归为 M
shoplazza products +set-variants --id <id> --add "Size:S,M,L" --existing "Size:M" --dry-run

# 删除一个规格值并重命名另一个
shoplazza products +set-variants --id <id> --remove "Color:Blue" --rename "Color:Red=Wine Red"

# 按规格值分别定价
shoplazza products +set-variants --id <id> --set-price "Size:S=20,M=30,L=40"

+tag​

添加或移除商品标签而不覆盖其他标签,或整体替换。

shell
shoplazza products +tag --id <product-id> [flags]
参数类型必填说明
--idstring是商品 ID(在交互式终端中可不填,从列表中选择商品)
--addstring要添加的标签(逗号分隔);保留已有标签
--removestring要移除的标签(逗号分隔);不存在的标签会被忽略
--setstring用此列表替换全部标签(与 --add/--remove 互斥)

--add、--remove、--set 至少提供其一。

shell
shoplazza products +tag --id <id> --add "summer,sale"
shoplazza products +tag --id <id> --add new --remove old
shoplazza products +tag --id <id> --set clearance

API 命令​

所有动态 API 命令共享以下参数:

参数短参说明
--params路径/查询参数(JSON 格式)
--data请求体(JSON 格式,可内联、@file 或 - 读取 stdin);仅在需要请求体的命令上提供
--jq-qjq 表达式过滤输出
--dry-run预览请求,不实际执行

products​

shell
shoplazza products list
shoplazza products get --params '{"product_id":"123"}'
shoplazza products create --data @product.json
shoplazza products update --params '{"product_id":"123"}' --data '{"product":{"title":"Updated"}}'
shoplazza products delete --params '{"product_id":"123"}'
shoplazza products batch-delete --params '{"product_ids":["123","456"]}'
shoplazza products count

products variants​

shell
shoplazza products variants list --params '{"product_id":"123"}'
shoplazza products variants get --params '{"variant_id":"456"}'
shoplazza products variants create --params '{"product_id":"123"}' --data @variant.json
shoplazza products variants update --params '{"variant_id":"456"}' --data @variant.json
shoplazza products variants delete --params '{"product_id":"123","variant_id":"456"}'
shoplazza products variants count --params '{"product_id":"123"}'
shoplazza products variants list-by-sku --params '{"sku":"SKU001"}'
shoplazza products variants update-by-sku --params '{"sku":"SKU001"}' --data @variant.json

products images​

shell
shoplazza products images list --params '{"product_id":"123"}'
shoplazza products images get --params '{"product_id":"123","image_id":"789"}'
shoplazza products images create --params '{"product_id":"123"}' --data '{"image":{"src":"https://..."}}'
shoplazza products images update --params '{"product_id":"123","image_id":"789"}' --data @image.json
shoplazza products images delete --params '{"product_id":"123","image_id":"789"}'
shoplazza products images count --params '{"product_id":"123"}'

products collections​

shell
shoplazza products collections list
shoplazza products collections get --params '{"id":"123"}'
shoplazza products collections create --data @collection.json
shoplazza products collections update --params '{"id":"123"}' --data @collection.json
shoplazza products collections delete --params '{"id":"123"}'
shoplazza products collections count
shoplazza products collections update-smart-rule --params '{"id":"123"}' --data @rules.json
shoplazza products collections async-create --data @collection.json
shoplazza products collections async-update-smart-rule --params '{"id":"123"}' --data @rules.json
shoplazza products collections get-async-task --params '{"id":"<task-id>"}'

products collects​

shell
shoplazza products collects list
shoplazza products collects get --params '{"id":"123"}'
shoplazza products collects create --data '{"collect":{"product_id":"123","collection_id":"456"}}'
shoplazza products collects delete --params '{"id":"123"}'
shoplazza products collects batch-create --data @collects.json
shoplazza products collects count

products inventory​

shell
shoplazza products inventory get --params '{"product_id":"123"}'
shoplazza products inventory list-items --params '{"inventory_item_ids":["123"]}'
shoplazza products inventory get-item --params '{"inventory_item_id":"123"}'
shoplazza products inventory update-item --params '{"inventory_item_id":"123"}' --data @item.json
shoplazza products inventory list-by-variant --params '{"variant_ids":["456"]}'
shoplazza products inventory set-stock --data '{"inventory_item_id":"123","location_id":"456","stock":100}'
shoplazza products inventory list-levels
shoplazza products inventory create-level --data @level.json
shoplazza products inventory update-level --data @level.json
shoplazza products inventory delete-level --data '{"inventory_item_id":"123","location_id":"456"}'

products locations​

shell
shoplazza products locations list
shoplazza products locations get --params '{"location_id":"123"}'
shoplazza products locations count
shoplazza products locations get-default
shoplazza products locations set-default --params '{"location_id":"123"}'
shoplazza products locations deactivate --params '{"location_id":"123","target_location_id":"456"}'
shoplazza products locations edit-priority --params '{"location_ids":[123,456]}'
shoplazza products locations inventory-levels --params '{"location_id":"123"}'

products gift-cards​

shell
shoplazza products gift-cards list
shoplazza products gift-cards get --params '{"id":"123"}'
shoplazza products gift-cards create --data @gift-card.json
shoplazza products gift-cards update --params '{"id":"123"}' --data @gift-card.json
shoplazza products gift-cards disable --params '{"id":"123"}'
shoplazza products gift-cards batch-create --data @gift-cards.json

products categories​

shell
shoplazza products categories list

products comments​

shell
shoplazza products comments list --params '{"product_id":"123"}'
shoplazza products comments create --data @comment.json
shoplazza products comments batch-create --data @comments.json

products procurement​

shell
shoplazza products procurement list
shoplazza products procurement get --params '{"procurement_id":"123"}'
shoplazza products procurement create --data @procurement.json
shoplazza products procurement update --params '{"procurement_id":"123"}' --data @procurement.json
shoplazza products procurement receive --params '{"procurement_id":"123"}' --data @received.json
shoplazza products procurement cancel --params '{"procurement_id":"123"}'
shoplazza products procurement list-items --params '{"procurement_id":"123"}'
shoplazza products procurement batch-create-items --params '{"procurement_id":"123"}' --data @items.json
shoplazza products procurement batch-update-items --params '{"procurement_id":"123"}' --data @items.json
shoplazza products procurement batch-delete-items --params '{"procurement_id":"123"}' --data '{"procurement_item_ids":["456"]}'

products suppliers​

shell
shoplazza products suppliers list
shoplazza products suppliers get --params '{"id":"123"}'
shoplazza products suppliers create --data @supplier.json
shoplazza products suppliers update --params '{"id":"123"}' --data @supplier.json

Schema 自省​

shell
shoplazza schema products
shoplazza schema products.list