用途
该技能用于根据可配置的规则集,为 Shopify 订单自动添加标签。规则可覆盖多个维度:地理(国内/国际)、订单金额(高价值/低价值)、商品类型、客户层级、风险等级,以及自定义条件。技能支持 dry-run 模式,可在实际应用前安全预览标签分配结果。
主要能力
- 基于规则为订单批量打标签,规则由 condition(条件)与 tag(标签)组成。
- 支持多种条件示例:total_price > 500、total_price < 20、shipping_country != US、shipping_country = US、line_items_count > 5、customer_orders > 3、customer_orders = 1、risk_level = HIGH、financial_status = PARTIALLY_REFUNDED、fulfillment_status = null、discount_codes contains WELCOME、product_type contains Subscription。
- 标签为追加式,技能不会移除订单上已有的标签。
- 支持跳过已带有目标标签的订单(skip_tagged,默认 true)。
- 支持 dry-run 预览(默认 true),仅报告匹配而不实际写入。
- 输出格式可选 human(默认)或 json,并生成 CSV 报告。
使用方式
前置条件:需要已认证的 Shopify CLI 会话,命令为 shopify store auth --store <domain> --scopes read_orders,write_orders;API 需要 read_orders、write_orders 权限范围。
参数:
- store(string,必填):店铺域名。
- rules(object[],必填):打标签规则数组。
- days_back(integer,可选,默认 7):回溯订单的时间窗口。
- skip_tagged(boolean,可选,默认 true):跳过已含目标标签的订单。
- dry_run(boolean,可选,默认 true):仅预览,不实际打标签。
- format(string,可选,默认 human):输出格式 human 或 json。
工作流程:先通过 orders 查询获取近期订单及规则评估所需数据(id、name、tags、totalPriceSet、shippingAddress、customer.numberOfOrders、displayFinancialStatus、displayFulfillmentStatus、riskLevel、lineItems.product.productType、discountCodes 等),逐单评估所有规则并收集匹配标签;若 dry_run 为 true 则仅报告匹配,若为 false 则对需要新标签的订单执行 orderUpdate 变更,按每批 10 条处理以遵守速率限制。
GraphQL 操作:orders 查询与 orderUpdate 变更均针对 api_version 2025-01 校验。
输出:生成 CSV 文件 order_tags_<YYYY-MM-DD>.csv,列为 order_id、order_name、existing_tags、new_tags、matched_rules。
适用场景
- 按订单特征自动分类,便于在 Shopify 后台筛选复杂订单分组。
- 与 order-risk-report 配合自动标记风险等级。
- 结合下游自动化工具执行打标签后的动作,例如将 high-value 标签订单分配到 VIP 履约队列。
限制与注意事项
- 这是变更类(Mutation)技能,务必先以 dry_run: true 预览标签分配,再实际应用。
- 错误处理:THROTTLED(API 速率超限)等待 2 秒并最多重试 3 次;Invalid rule(条件无法解析)跳过该规则并在输出中警告;ACCESS_DENIED(缺少 write_orders 权限)切换为只读模式,仅报告匹配。
- 标签为追加式,不会移除已有标签。
- 关于收费、价格、平台支持范围等更多信息,资料中暂未提供。