扣子Shopify API实现订单自动查询指南
准备工作:获取Shopify私有应用API密钥与权限
举一个真实场景:客户询问“订单#12345当前进度?”。为避免频繁登录Shopify后台查询,借助扣子(Coze)机器人通过Shopify私有应用API即可实时获取订单状态,包括支付状态与发货进度。
登录Shopify管理后台,依次进入【设置】→【应用和销售渠道】→【开发者服务】→【创建私有应用】。应用名称建议填写“Coze订单查询”。在Admin API权限板块,找到【Orders】,仅勾选【Read products, customers, orders and more】一项,切勿开启其他权限。此步骤若遗漏,后续API请求将返回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。此举避免域名硬编码,更换店铺时仅需修改变量值即可。
解析返回的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逻辑,空值将自动降级处理。实际使用时,直接将上述模板文本粘贴至提示框即可。
