用途
该技能用于计算一个时间段内所有已完成退货从退货请求创建到退款发放之间的耗时。它会给出平均处理时间,识别超过可配置 SLA 阈值的订单,并列出等待时间最长的未结退货。整个技能为只读,不会执行任何数据变更操作。
主要能力
- 查询指定回溯窗口内的退货记录(returns 查询),获取退货创建时间、状态、退款创建时间、关联订单名称、退款金额及退货行项目信息。
- 对每个已完成退货计算 processing_days = refund.createdAt - return.createdAt。
- 识别 SLA 违约:processing_days > sla_days。
- 查询存在未结退货的订单(orders 查询),筛选 return_status:open,找出超过 SLA 仍未完成的退货。
- 输出人类可读摘要或 JSON,并生成 CSV 文件 return_sla_<YYYY-MM-DD>.csv,列包括 return_id、order_name、return_requested_at、refunded_at、processing_days、sla_breach、return_status。
使用方式
前置条件:需要已认证的 Shopify CLI 会话,命令为 shopify store auth --store <domain> --scopes read_orders,read_returns;API 权限范围为 read_orders、read_returns。
参数:
- store(字符串,必填):店铺域名,例如 mystore.myshopify.com。
- days_back(整数,可选,默认 30):退货请求的回溯窗口。
- sla_days(整数,可选,默认 5):从请求到退款可接受的最大天数。
- format(字符串,可选,默认 human):输出格式,human 或 json。
工作流程:
- returns 查询:使用 query: "created_at:>='<NOW - days_back days>'",first: 250,带分页游标;获取退货的 createdAt、status、refunds { createdAt }、order { name } 等。
- 对每个已完成退货计算处理天数,识别 SLA 违约。
- orders 查询:筛选 return_status:open 的订单,找出超过 SLA 的未结退货,获取请求日期。
- 运行过程中会输出会话追踪信息(开始横幅、每步执行信息、完成摘要)。
完成时输出人类可读摘要,包含:分析的退货数量、平均处理时间、SLA 内数量与比例、SLA 违约数量与比例、未结退货数量,以及等待最久的未结退货列表;或输出 JSON,包含 skill、store、period_days、sla_days、returns_analyzed、avg_processing_days、within_sla_count、sla_breach_count、open_pending_count、output_file 等字段。
适用场景
- 将 sla_days 设置为与已公布退货政策一致(例如“退款在 5 个工作日内处理”)。
- 利用未结退货列表主动联系等待超过 sla_days 的客户,减少“我的退款在哪”类工单。
- 每周运行作为退货运营健康检查,可与 return-reason-analysis 配合,关联慢处理与特定退货原因类型。
限制
- 该技能为只读,不执行任何变更。
- 需要 Shopify CLI 认证及 read_orders、read_returns 权限。
- processing_days 以自然日计算;如果团队仅在工作日处理退货,需要相应调整 SLA 阈值。
- 遇到 API 限流(THROTTLED)时,等待 2 秒并最多重试 3 次。
- 已完成退货但无退款(仅换货)时,从时间计算中排除并标记为 exchange。
- 窗口内无退货时,以摘要 0 returns 退出。
- 其他收费、价格、平台支持范围等信息暂未提供。