模块说明
aftersale 提供售后服务体系:会员侧针对订单发起售后申请(选择订单商品、填写原因、上传凭证),查看售后记录;工作端按状态检索售后单、查看详情并处理(核定金额、处理记录、关联商品)。
鉴权级别:会员侧全部必须登录;工作端必须员工身份(aftersale 模块权限且模块已启用)。
接口一览
会员侧
| 方法 | URL | 鉴权 | 说明 |
|---|---|---|---|
| GET | /api/aftersale |
公开 | 模块入口(占位,返回空数据) |
| GET | /api/user/aftersale |
必须 | 我的售后列表 |
| GET | /api/user/aftersale/apply |
必须 | 售后申请表单数据 |
| POST | /api/user/aftersale/apply_post |
必须 | 提交售后申请 |
工作端(work_required)
| 方法 | URL | 鉴权 | 说明 |
|---|---|---|---|
| GET | /api/aftersale/work |
员工 | 售后单列表(状态筛选) |
| GET | /api/aftersale/work/{id} |
员工 | 售后单详情 |
| POST | /api/aftersale/work/handle |
员工 | 处理售后单 |
会员侧接口
我的售后列表 GET /api/user/aftersale
参数 page;返回 title、aftersale_list、pager。
售后申请表单 GET /api/user/aftersale/apply
| 参数 | 必填 | 说明 |
|---|---|---|
order_sn |
是 | 订单号(纯数字) |
{
"code": "OK",
"message": "",
"data": {
"title": "申请售后",
"order": { "...": "订单数据" },
"item_list": [ { "...": "可申请售后的订单商品" } ],
"img_list": [ "...草稿凭证图集..." ],
"draft_token": "d1f2e3..."
},
"errors": {},
"request_id": "9f2a5c8e1b3d7f40"
}
| 场景 | 响应 |
|---|---|
| 订单不可申请售后 | 422 BUSINESS_RULE_VIOLATION(aftersale_apply_wrong) |
进入申请表单会清理旧草稿并生成新
draft_token,凭证图片以草稿身份上传。
提交售后申请 POST /api/user/aftersale/apply_post
| 参数 | 必填 | 说明 |
|---|---|---|
order_sn |
是 | 订单号(表单字段) |
reason |
是 | 售后原因(不可含非法字符) |
type |
是 | 售后类型 |
item_list |
是 | 申请的订单商品项 ID(数组,或逗号分隔字符串) |
draft_token |
否 | 凭证草稿令牌(提交时认领草稿图) |
| 场景 | 响应 |
|---|---|
| 原因为空 | 422 INVALID_PARAMS(原因为空文案) |
| 原因含非法字符 | 422 INVALID_PARAMS(非法字符文案) |
| 商品项无效 | 422 INVALID_PARAMS(aftersale_invalid_items) |
| 其它提交失败 | 422 BUSINESS_RULE_VIOLATION(aftersale_apply_wrong) |
| 成功 | 200,message=申请已提交 |
工作端接口
-
列表
GET /api/aftersale/work:参数status(默认all,非法回退)、page;返回aftersale_list、status_list、pager; -
详情
GET /api/aftersale/work/{id}:返回aftersale;不存在404 NOT_FOUND; -
处理
POST /api/aftersale/work/handle: | 参数 | 必填 | 说明 | | --- | --- | --- | |id| 是 | 售后单 ID | |aftersale_money| 是 | 售后金额(价格格式,缺失/非法 →422 INVALID_PARAMS) | |handle_record| 否 | 处理记录 | |item_list| 否 | 关联商品项 ID 数组 |失败 →
422 BUSINESS_RULE_VIOLATION(message为具体原因)。
注意事项
- 售后凭证图片走草稿令牌:先
apply拿draft_token→ 上传凭证 →apply_post携带令牌提交; item_list同时兼容数组与逗号分隔字符串(小程序表单兼容行为);- 申请人、订单归属与可申请状态由服务端校验,客户端不应自行推断;
- 工作端处理需要 aftersale 模块处于启用状态,否则
403。