request_aftersale — 售后与退款
仅退款或退货退款;退货自动预约免费上门取件(每用户每月 3 次),商家仓验货后自动原路退款。
何时用
用户表达退货/退款意图并经确认后。未经确认不要发起。
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| order_no | string | 是 | 订单号 |
| type | string | 是 | refund_only(仅退款,限小额或质量问题)/ return_refund(退货退款) |
| reason / reason_class | string | 否 | quality / not_as_described / no_reason / shipping_issue |
| pickup | boolean | 否 | 默认 true(预约上门取件) |
| user_ref | string | 否 | 用于自然人配额识别 |
响应要点
pickup_waybill_no:寄回运单号(快递员上门)return_freight_payer:us=平台承担(配额内)/user=用户自付(月配额超 3 次)
流程
退货退款:approved → returning(取件)→ received(商家仓验货,唯一人工环节)→ refunded(自动原路退款)→ closed。 仅退款:审核通过即原路退款。
示例
curl
curl -X POST "https://api.yuantoutao.com/v1/orders/YM20261003100003/aftersales" \
-H "Authorization: Bearer ak_你的key" -H "Content-Type: application/json" \
-d '{"type":"return_refund","reason":"不想要了","reason_class":"no_reason","pickup":true}'
node
const af = await (await fetch(`https://api.yuantoutao.com/v1/orders/${orderNo}/aftersales`, {
method: 'POST',
headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ type: 'return_refund', reason_class: 'no_reason', pickup: true })
})).json();
python
af = requests.post(f'https://api.yuantoutao.com/v1/orders/{order_no}/aftersales',
headers={'Authorization': f'Bearer {KEY}'},
json={'type': 'return_refund', 'reason_class': 'no_reason', 'pickup': True}).json()
常见错误
INVALID_PARAM(大额无理由仅退款被拒→引导走退货退款;订单状态不可退)。