Coze机器人可通过Shopify私有应用API实时查询订单状态:需创建私有应用并授权Orders读取权限,配置HTTP节点调用Orders API,解析financial_status和fulfillment_status字段,处理空值后生成自然语言回复。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让扣子(Coze)机器人实时获取Shopify店铺中某笔订单的最新状态,比如从“已付款”变成“已发货”,避免人工反复登录后台查单。
准备工作:获取Shopify私有应用API权限
进入Shopify后台 → 设置 → 应用和销售渠道 → 开发者服务 → 创建私有应用。
填写应用名称(如“Coze订单查询”),在Admin API权限中勾选【Orders】→【Read products, customers, orders and more】,其他权限一律不勾选。这一步必须完成,否则后续所有请求都会返回403错误。
保存后,页面会显示API Key、Password和Store Front URL——【Password是永久密钥,泄露即等于店铺数据完全暴露,切勿写入Bot代码或发到群聊】。
在扣子中配置HTTP请求节点
新建Bot → 编辑工作流 → 添加「HTTP 请求」节点。
方法一:直接调用Orders API单查
URL填:https://{{store_name}}.myshopify.com/admin/api/2023-10/orders/{{order_id}}.json,其中{{store_name}}替换为你店铺域名前缀(如yourstore),{{order_id}}留作变量输入;请求方式选GET;Headers里添加X-Shopify-Access-Token,值填上前面复制的Password。
方法二:用动态变量拼接更安全
在「变量」面板新增字符串变量shop_domain(值为yourstore.myshopify.com),再新增order_id(由用户输入传入)。HTTP节点URL改为:https://{{shop_domain}}/admin/api/2023-10/orders/{{order_id}}.json。这样避免把域名硬编码进URL字段,后续换店只需改变量值。
解析返回JSON并提取关键状态字段
第一步:确认响应体结构
Shopify返回的是嵌套JSON,订单主状态在order.financial_status和order.fulfillment_status两个字段里,不是order.status——这个字段根本不存在,新手常在这里卡住。
第二步:在HTTP节点后接「JSON解析」节点
路径填$.order.financial_status,输出变量设为pay_status;再加一个解析路径$.order.fulfillment_status,输出变量设为ship_status。
第三步:处理空值情况
如果订单还没发货,fulfillment_status可能为null,此时解析节点会报错中断流程。必须勾选「允许空值」选项,否则整个Bot执行失败。
构造自然语言回复消息
添加「文本生成」节点,提示词写:
“订单#{{order_id}}当前状态:支付{{pay_status}},发货{{ship_status | default: '未发货'}}。”
注意| default: '未发货'是Liquid语法,扣子原生支持——不用额外写if判断,空值自动 fallback。
这一步操作起来很简单,直接把上面那行文字粘贴进提示框就行。


















