dify平台可通过配置shopify私有应用并创建自定义工具,自动拉取退货订单数据,识别客户留言、物流状态和商品标签,提取高频退货原因(如“尺码偏小”“色差明显”“发错货”),生成带时间趋势与分类占比的可视化图表。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Dify平台自动拉取Shopify店铺的退货订单数据,识别每笔退货的客户留言、物流状态和商品标签,从中提取高频原因(如“尺码偏小”“色差明显”“发错货”),再生成带时间趋势和分类占比的可视化图表。
配置Shopify私有应用并获取API凭证
登录Shopify后台 → Settings → Apps and sales channels → Develop apps → Create a new app → 填写App name(例如“Dify-RMA-Analyzer”)→ 选择“Private app” → 点击Create app。
在Admin API access scopes区域,勾选以下三项:【read_products】、【read_orders】、【read_customers】。其他权限一律不勾选,否则Dify调用时会因权限不足返回403错误。
滚动到底部点击Save,系统生成API key、API secret和Storefront access token。把这三组字符串完整复制下来,后续Dify工作流中必须严格对应字段填入。
在Dify中创建自定义工具(Custom Tool)封装Shopify API调用
进入Dify控制台 → Workspace → Tools → Create tool → 选择“Custom tool” → 填写Tool name为“shopify_return_analyzer” → Description写“Fetch return-related orders from Shopify with reason classification”。
在Schema字段粘贴如下JSON(注意替换YOUR_STORE_NAME为你的Shopify子域名,例如abc123.myshopify.com):
{ "type": "object", "properties": { "date_from": { "type": "string", "description": "ISO format date, e.g. '2024-06-01'" }, "date_to": { "type": "string", "description": "ISO format date, e.g. '2024-06-30'" } }, "required": ["date_from", "date_to"] }
在HTTP Request配置中:Method选GET;URL填https://YOUR_STORE_NAME/admin/api/2024-01/orders.json?status=any&financial_status=refunded&created_at_min={date_from}&created_at_max={date_to};Headers添加两行:X-Shopify-Access-Token → {{api_secret}};User-Agent → Dify-Shopify-Analyzer。
关键点:不要在URL里硬编码access token,必须用{{api_secret}}变量占位——Dify运行时会从工具凭据中注入真实值,否则每次请求都失败。
构建分析工作流:从原始订单到结构化原因标签
第一步:在Dify应用中新建Workflow → 添加Start节点 → 连接HTTP Tool节点(即上一步创建的shopify_return_analyzer)→ 设置date_from和date_to为用户输入参数或固定时间范围。
第二步:添加Code Interpreter节点,Language选Python。粘贴以下代码:
import re
def extract_reason(text):
if not text: return "unknown"
text = text.lower()
if re.search(r"size|sizing|small|large|fit|fits", text): return "尺寸问题"
if re.search(r"color|colour|shade|looks different|not as pictured", text): return "色差问题"
if re.search(r"wrong item|sent wrong|different product|not ordered", text): return "发错货"
if re.search(r"broken|damaged|cracked|leaking", text): return "破损问题"
return "其他原因"
reasons = []
for order in response.get("orders", []):
note = order.get("note") or ""
tags = order.get("tags", "").split(", ")
# 优先匹配客户留言,无留言则看标签是否含"return_"前缀
if note:
reasons.append(extract_reason(note))
elif any(t.startswith("return_") for t in tags):
reasons.append(t.replace("return_", ""))
output = {"reasons": reasons}
第三步:添加Chart节点 → Type选Bar Chart → X轴设为reasons → Y轴设为count → Title填“近30天退货原因分布”。该节点将自动聚合Code Interpreter输出的reasons列表并绘图。
部署与触发方式设置
方法一:发布为API接口。在Workflow右上角点击Publish → Copy API URL → 用curl或Postman发送POST请求,Body中包含{"date_from":"2024-06-01","date_to":"2024-06-30"}。
方法二:嵌入聊天机器人。在Bot编辑页 → Add node → 选择“Run workflow” → 关联此Workflow → 设置触发关键词如“查退货分析” → 用户发送该词后自动执行全流程并返回图表。
注意:若Shopify店铺启用了双重验证(2FA),私有应用仍可正常调用API,无需额外操作——Shopify对私有应用不强制2FA校验。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!









