Skip to content

售后接口文档(aftersalev2)

基本信息

  • 接口地址:/index.php/api
  • 请求方法:POST
  • 接口类型:接收方接口(第三方平台推送 → OMS 接收)
  • 路由参数:method = {app_id}.aftersalev2.{action}

接口方法列表

接口名方法功能描述
ome.aftersalev2.addPOST新增/更新售后单(退款/退货/换货)
ome.aftersalev2.logisticsUpdatePOST更新售后物流信息

系统级参数

参数名类型必填名称描述
flagstring接入标识固定值 erpapi
app_idstring应用IDecos.ome
certi_idstring证书ID系统证书编号
from_node_idstring来源节点推送方节点ID
node_idstring目标节点店铺节点ID(OMS节点)
node_typestring节点类型ecos.ome
timestampint时间戳10位时间戳
methodstring接口方法名形如 {app_id}.aftersalev2.add
signstring签名用于验证请求合法性

签名算法说明

  • 生成公式:sign = strtoupper(md5(strtoupper(md5(assemble($params))). $token))
  • 要点:
    • 参与签名的参数集合不包含 sign 本身;常以键名排序后按约定拼装
    • 首次 md5 后转大写,与 token 拼接后再 md5,最终再转大写
    • 保持编码一致、去除多余空白

接收参数(业务参数)

注:售后接收参数较为复杂,字段可为 JSON 字符串或对象/数组,组件会自动解码。以下参数根据实际接收数据整理。表格中通过缩进和层级标记区分字段层级:

  • 一级字段:直接字段名
  • 二级字段:parent.field 格式
  • 三级字段:parent.child.field 格式
  • 数组字段:parent[]parent[].field 格式

add

参数名类型必填说明
基础字段
tidstring/int订单号(与 order_bn 同义,平台订单号)
order_bnstring/int订单号(与 tid 同义)
refund_idstring/int售后单号(平台售后单ID,与 refund_bn 同义)
refund_bnstring/int售后单号(与 refund_id 同义)
statusstring售后状态(平台态,如 wait_buyer_return_goods、SUCCESS、CLOSED 等,系统内有版本/完成态等校验)
refund_phasestring售后阶段(如 onsale、aftersale 等)
refund_versionint售后版本号(用于版本变更校验,决定是否允许覆盖)
refund_typestring售后类型(return=退货退款,refund=仅退款等)
response_bill_typestring/method通过 validAddResponseBillType 方法校验售后类型(refund/refund_apply/refundonly/return_product/reship)
refund_feenumber退款金额(存在金额上限/已付校验,单位:元)
has_good_returnbool是否有退货(true/false)
reasonstring售后原因
descstring售后描述
createdstring创建时间(格式:YYYY-MM-DD HH:mm:ss)
modifiedstring平台修改时间(格式:YYYY-MM-DD HH:mm:ss,部分状态需校验变更)
current_phase_timeoutstring当前阶段超时时间(格式:YYYY-MM-DD HH:mm:ss)
订单相关字段
oidstring/int子订单ID
trade_statusstring交易状态(平台态,如 WAIT_CONFIRM_GOOD 等)
payment_idstring/int支付单号
cs_statusint客服状态
用户信息字段
seller_nickstring卖家昵称
buyer_nickstring买家昵称
物流相关字段
company_namestring物流公司名称
sidstring物流单号
退款商品明细(refund_item_list)
refund_item_list[]array/string退款商品明细(可为 JSON 字符串,组件会自动解码;内部存在数量与状态一致性校验)
  return_item[]array退货商品列表
    return_item[].oidstring/int子订单ID
    return_item[].item_idstring/int平台商品ID
    return_item[].outer_idstring外部货号(对应商品 bn)
    return_item[].pricenumber商品单价
    return_item[].numint退货数量
    return_item[].modifiedstring修改时间(格式:YYYY-MM-DD HH:mm:ss)
其他字段
return_productarray/string退货商品信息(可为 JSON 字符串)
reshiparray/string换货信息(可为 JSON 字符串)
other_reship_itemsarray/string其他换货商品信息(可为 JSON 字符串)
operation_constraintstring操作约束
spider_typestring爬虫类型(如 tm_refund_i)
attributestring属性信息(JSON 字符串,包含多个业务属性,如 bizCode、apply_reason_text、itemBuyAmount 等)

logisticsUpdate

参数名类型必填说明
return_bnstring售后申请单号
order_bnstring订单号
process_dataarray物流过程数据(节点/时间/单号等)

说明:params/aftersalev2.php 内部包含大量场景校验(版本变化、申请单状态、金额对比、退货单生成等),如违反条件将返回 {rsp:'fail', msg:'...'}。售后类型(response_bill_type)会根据 refund_typehas_good_returnrefund_item_list 等字段自动判断,支持 refund(退款)、refund_apply(退款申请)、refundonly(仅退款)、return_product(退货)、reship(换货)等类型。

响应参数

响应格式统一为 JSON,包含以下字段:

字段名类型必填说明
rspstring响应状态:succ(成功)或 fail(失败)
msgstring响应消息(成功时包含操作描述,失败时包含错误信息)
dataobject响应数据(成功时可能包含售后单号等信息,失败时可能包含错误详情)

数据示例

请求示例(新增售后)

json
{
  "flag": "erpapi",
  "app_id": "ecos.ome",
  "certi_id": "20215858518",
  "from_node_id": "20218888",
  "node_id": "1311861837",
  "node_type": "ecos.ome",
  "timestamp": 1744670839,
  "method": "ome.aftersalev2.add",
  "sign": "662E1CD4E92D010C94BDE066F4D31221",
  "refund_id": 208581493382159834,
  "refund_phase": "onsale",
  "refund_version": 1744670839252,
  "tid": 2526959714656153498,
  "has_good_return": true,
  "status": "wait_buyer_return_goods",
  "oid": 2526959714656153498,
  "cs_status": 1,
  "reason": "不想要了",
  "current_phase_timeout": "2025-10-22 06:47:20",
  "trade_status": "WAIT_CONFIRM_GOOD",
  "refund_fee": 118,
  "desc": "",
  "payment_id": 2025041122001117891436072989,
  "refund_type": "return",
  "refund_item_list": {
    "return_item": [
      {
        "price": 138,
        "oid": 2526959714656153498,
        "modified": "2025-10-15 06:47:20",
        "num": 2,
        "item_id": 526892359022,
        "outer_id": "887350098396"
      }
    ]
  },
  "created": "2025-10-15 06:47:19",
  "seller_nick": "天猫工具旗舰店",
  "buyer_nick": "c**",
  "modified": "2025-10-15 06:47:20",
  "operation_constraint": "",
  "spider_type": "tm_refund_i",
  "company_name": "",
  "sid": "",
  "attribute": ";carriageRiskTrackingorder:1_1;bizCode:tmall.general.refund;disputeRequest:3;leavesCat:50006226;7d:1;apply_reason_text:不想要了;itemBuyAmount:3;pGNTEE:disputeJudge;interceptItemListResult:[{\"subBizOrderId\":2526959714656153498,\"logisticInterceptEnum\":\"INTERCEPT_NOT_APPLY\"}];consignTime:2025-10-13 10:07:41;seller_batch:true;clj_zero_second_refund:1;cPartRefund:0;DBT:AutoAgreeReturn;_F_tlmType:B_tmall;sku:5540499848253|颜色分类:12V锂电充电器5307;rp_seller_autoagree_pass_async:ali.china.tmall;sgr:1;bgmtc:2025-10-11 10:41:54;jibuBizCode:tmall.jibu;hasSKR:1;shop_name:天猫工具旗舰店;ttid:206200@tmall_android_15.45.1;nrp:1;agreeRefundApplyTime:2025-10-15 06:47:19;rp3:1;seller_agreed_refund_fee:11800;sars:skip;isVirtual:0;EXmrf:11800;enfunddetail:1;f_proofSource:1:2:0:0:;lastOrder:0;tod:604800000;newRefund:rp2;t_m_c:1;opRole:daemon;newUltron:3;agreeReturnAuto:1;products:timeoutrefund^;apply_init_refund_fee:11800;apply_text_id:329010;userCredit:6;sdkCode:ali.china.tmall;b2c:1;interceptStatus:0;rpmr2:1;restartForXiaoer:1;rootCat:50020485;tos:1;ol_tf:11800;part_refund:0;chfr:1;payMode:alipay;appName:refundface2;workflowName:return_and_refund;rightsSuspend:1;seller_audit:0;isAdvContChecked:1;apply_biz_type:22;itemPrice:13800;"
}

注:实际请求中,refund_item_list 等数组字段可能以 JSON 字符串形式传递,组件会自动解码为数组格式。上例中 refund_item_list 已格式化为对象结构以便阅读。

响应示例

响应成功

新增售后成功ome.aftersalev2.add):

json
{
    "rsp": "succ",
    "msg": "售后单创建成功"
}

响应失败

新增售后失败(数据为空)

json
{
    "rsp": "fail",
    "msg": "没有数据,不接收售后单"
}

业务说明

  • 本接口为接收方,第三方平台推送售后单(退款/退货/换货)至 OMS;幂等建议:method + node_id + refund_bn
  • 售后类型会根据传入参数自动判断:refund_type=returnhas_good_return=true 时为退货退款,refund_type=refund 时为仅退款等。
  • 系统会进行版本校验(refund_version)、金额校验(refund_fee 上限/已付校验)、状态校验等,如不符合条件将返回失败。
  • refund_item_list 字段支持 JSON 字符串格式,组件会自动解码为数组进行后续处理。

错误码定义(示例)

  • E_PARAM:参数缺失
  • E_STATE:业务状态不允许
  • E_AMOUNT:金额校验不通过
  • E_VERSION:版本未变化/时间戳未更新