聚水潭退货退款查询接口字段手册权威教程(非奇门版)
MySQL聚水潭退货退款字段手册轻易云供应链集成
这个接口解决什么问题
聚水潭的「退货退款查询」接口用于把电商平台产生的售后单(含退货、仅退款、换货、补发等)从聚水潭拉回到本地数据仓库,常见于某零售企业的售后数据本地化、退换货分析、财务对账与库存回冲场景。落地到 MySQL 后,可与销售订单、库存流水关联分析,闭环整条供应链售后链路。
接口能力总览
- 接口路径:
/open/refund/single/query(非奇门直连版本,与奇门版 P2-010 字段有差异) - 认证方式:聚水潭开放平台 Access Token,应用级授权
- 请求结构:POST + 表单/JSON,
modified_begin/modified_end为修改时间区间,date_type控制时间字段类型(0=modified,2=io_date 出库时间),与线上单号不能同时为空,且区间不超过 7 天 - 分页/增量:基于修改时间增量;多条策略普遍按 1 小时周期(
15 */1 * * *)调度,按as_id去重写入 - 响应结构:单层售后单对象,主表字段平铺,
items为明细数组,需扁平化写入 - 写入方式:MySQL 端普遍采用
REPLACE INTO按主键去重,AfterTargetGenerate阶段做空值转 null、过滤 emoji 与超 BMP 字符
典型字段映射
主表(表头)核心字段
| 字段名 | 类型 | 含义 | 实战注意事项 |
|---|---|---|---|
| as_id | string | 售后单号,聚水潭内部唯一 | 主键,增量识别依赖它 |
| outer_as_id | string | 平台退货退款单号 | 与电商平台对账的关键 |
| so_id / o_id | string | 原始线上单号 / 订单内部单号 | 关联销售订单做库存回冲 |
| shop_id / shop_name | string | 店铺 ID 与名称 | 多店铺方案需保留店铺维度 |
| warehouse / wh_id / wms_co_id | string | 仓库名称、仓库编号、分仓编号 | 三者并非一一对应,注意区分 |
| type | string | 售后类型:普通退货/仅退款/换货/补发/拒收/投诉/其它 | 财务入账分支条件 |
| status | string | WaitConfirm/Confirmed/Cancelled | 决定了是否需要推动库存回冲 |
| modified / created / as_date / confirm_date | string | 修改/登记/申请/确认时间 | 增量拉取只认 modified |
| refund / payment / buyer_apply_refund / receive_refund / buyer_receive_refund / urefund | string | 各类退款与补偿金额 | 注意区分「卖家应补」「买家应补」「实退」 |
| freight / shop_freight | string | 卖家应补运费 / 线上退运费 | 跨境对账时常被遗漏 |
| co_id / owner_co_id / drp_co_id_from / drp_co_id_to / outer_drp_co_id | string | 公司与分销组织标识 | 多组织客户必看 |
明细行(items_*)核心字段
| 字段名 | 类型 | 含义 | 实战注意事项 |
|---|---|---|---|
| items_asi_id | string | 售后明细 ID | 明细行唯一标识 |
| items_as_id | string | 关联主表 as_id | 扁平化后保留关联 |
| items_sku_id / items_shop_sku_id / items_combine_sku_id | string | SKU 标识 | 与商品主数据关联 |
| items_r_qty / items_qty / items_defective_qty | string | 退货数量 / 售后数量 / 残次数量 | 残次数量影响次品库存账 |
| items_price / items_amount / items_shop_amount / items_total_per_unit | string | 单价、行金额、店铺金额、单位总价 | 对账差异排查点 |
| items_properties_value / items_name / items_pic | string | 规格属性、商品名、商品图片 | 文本易触发 emoji 过滤 |
| items_extend_datas | string | 扩展数据(JSON) | 视业务需求决定是否解包 |
在轻易云上如何配置
在轻易云数据集成平台里,配置这个接口通常分四步:
- 适配器选择:在「聚水潭·非奇门」适配器下选
/open/refund/single/query,平台已经预置了鉴权与时间区间封装。 - 字段映射器:主表字段按 1:1 映射,items 明细通过「明细扁平化」节点自动加
items_前缀落到目标表。 - 增量策略:用「按 modified 增量」组件,把上一次成功的
modified_end落到调度变量,时间窗自动滑动且不超过 7 天上限。 - 写入后处理:平台自带的
AfterTargetGenerate钩子会做空值归一、emoji 与超 BMP 字符过滤,写入目标 MySQL 时默认走REPLACE INTO,避免重复主键导致任务中断。
跨方案实战要点
- 时间窗 7 天上限是硬约束:拆分长周期回溯任务时,必须按 7 天分片,不能一次拉一个月。
date_type决定增量基准:默认 0(modified)覆盖大多数售后状态变更场景;若按 io_date 拉,需注意「Confirmed 之后 modified 不再变化」的边界。- 明细必须扁平化:items 不展开直接写库会导致结构错乱和查询性能塌方。
- 状态字段是财务触发器:
status从 WaitConfirm → Confirmed 是库存回冲的真正信号,Cancelled 要单独剔除。 - 金额字段分得很细:refund/payment/buyer_apply_refund/buyer_receive_refund/urefund 不能混用,对账脚本要明确各自语义。
- 多组织维度必带:owner_co_id、drp_co_id_from/to 在分销/多组织客户里几乎一定会用上,提前建索引。
踩坑复盘
- 时间区间超过 7 天直接报错:某客户一次性传 30 天范围,接口返回「时间间隔超限」。稳妥做法是在轻易云的调度器里加一个「7 天分片」组件。
- emoji 与特殊字符让 MySQL 写入失败:买家昵称、备注里夹带 emoji 会触发 utf8 报错,必须在 AfterTargetGenerate 阶段过滤。
- 明细 items 没展开导致查询返回空:直接读主表 items 字段是 JSON 字符串,业务侧以为没拉到数据。务必走扁平化。
- Cancelled 单据被错误回冲库存:忽略了 Cancelled 状态,把所有售后单都做了库存扣减,结果产生负库存。加一层
status='Confirmed'过滤即可。 as_id重复插入失败:偶发重复推送 +INSERT而不是REPLACE INTO,任务直接挂掉。改成REPLACE INTO并加唯一键即可。
何时选用
该接口适用于:电商零售需要本地化售后数据、与 ERP/WMS 对账、做退换货分析与库存回冲的场景。注意边界:若需要平台实时推送,建议走奇门/消息推送;本接口仅做按修改时间的轮询增量,且单次时间窗不能超 7 天。
本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/engineering/hb-p2-014-mysql-60a4