万师傅开放平台文档中心
  1. 服务节点回传
万师傅开放平台文档中心
  • 一、平台介绍
    • 平台介绍
  • 二、接入流程指引
    • 对接场景介绍
    • 物流类平台接入
    • ERP类平台接入
    • 电商类平台接入
    • 万师傅业务流程
    • 接口报错快速排查指南
  • 三、开发前必读
    • 万师傅名词说明
    • 版本更新说明
    • 1、申请授权秘钥
    • 2、API 接口参数规范
    • 3、API 签名
    • 4、目前支持的服务类目和类型
    • 5、接口 code 码
  • 四、开发接口列表
    • 最小化对接
      • 下单
        • 下单接口文档
        • 下单接口
      • 服务节点回传
        • 服务节点通知
    • 更多能力接口
      • 订单催服务
      • 商品库查询接口
      • 订单支付接口
      • 订单费用调整相关接口
        • 总包订单费用调整原因查询接口
        • 子订单审核接口
        • 增加子费用
          • 订单新增费用接口
          • 增加子费用示例
      • 完工验收相关接口
        • 订单完工验收接口
      • 退款相关接口
        • 订单退费接口
        • 退款仲裁
          • 仲裁类别查询接口
          • 仲裁撤销接口
          • 仲裁提交证据接口
          • 仲裁申请接口
      • 关单相关接口
        • 关单审核接口
        • 订单关闭接口
        • 第三方工单申请接口
      • 投诉相关接口
        • 获取支持赔付的银行卡列表接口
        • 发起投诉接口
        • 撤销投诉接口
        • 获取投诉类别接口
        • 提交举证接口
        • 补充举证
        • 赔付收款渠道
        • 获取投诉详情
      • 物流相关接口
        • 物流到货信息更新接口
      • 订单信息查询相关接口
        • 费用明细查询接口
        • 查询师傅完工图接口
        • 订单子费用明细查询接口
        • 订单费用明细查询
      • 更多服务节点回传
        • 定时单服务节点通知
        • 总包调整费用节点通知(非最小化对接内容)
        • 仲裁节点通知
        • 费用调整原因列表数据更新节点通知
        • 保外维修单节点通知
        • 催单回复通知
        • 总包发起关单申请通知
        • 旧件寄回通知
        • 二次上门节点通知
        • 总包审核关单申请回传
        • 售后单处理通知
        • 一口价订单服务节点通知
      • 售后单相关接口
        • 创建售后单接口
        • 拉取售后单接口
    • 测试环境查下订单服务节点
      • 查询订单服务节点
    • 测试环境推单给指定师傅接口
      • 测试环境-推送订单给指定师傅
    • 用户信息相关接口
      • 更改子用户角色接口
  1. 服务节点回传

服务节点通知

回传接口接收参数定义#

接口名称订单节点回传
接口类型HTTP POST
接口格式application/json;charset=UTF-8
接口地址由第三方提供回调接口,万师傅在订单流转到相应节点时通知第三方,若第三方不关注该节点,忽略不处理即可
是否加密需要

接口参数#

字段名称字段类型字段说明是否必有字段
orderStatusString订单节点状态是
thirdOrderIdString第三方订单号. (下单接口 orderId 字段)是
dataObject节点业务参数. 是个json对象, 不同节点状态,data 对象数据也会有所不同
详细参数参考各个节点状态业务数据字段是
参数示例(师傅报价节点回传)
{
    // 当前订单节点(预约师傅:reserve_customer)
    "orderStatus": "reserve_customer",
    // 第三方订单号
    "thirdOrderId": "SF1028483755541",
    // 当前节点业务数据(见后续说明)
    "data": {
        "appointTime": "2020-08-05 08:00:00"
    }
}

响应参数规范#

字段名称字段类型字段说明是否必有字段
retCodeString请求结果状态码. 200: 请求成功是
retMsgString请求响应消息否
retDataString请求响应结果否

回传对接说明#

1.
回传会通过响应参数 retCode 字段判断回传是否成功. 当 retCode != 200 时, 万师傅开放平台会进行回调重试.
2.
【特别注意事项】 对接方进行节点回传对接时,需要进行接口幂等处理. (过滤无效处理)
如:
由于网络波动或双方系统存在异常: 导致预期节点顺序为 A -> B, 实际请求顺序为 A -> B -> A.
当第三次请求重复回传状态 A 时,如果对接方的业务不允许操作数据, retCode 需要返回 200. 错误信息可以赋值在 retMsg 字段.
原因: 如果业务上不允许接口操作,返回的 retCode 为非 200 ,万师傅开放平台会进行多次重试调用对接方系统, 这类重试是无法进行数据更新的,可以视为无效回传. 如该类重试数量过多会给对接系统带来一定的压力.

订单节点状态#

节点状态节点状态描述说明
user_order_create订单创建结果通知
wait_appoint师傅报价
cancel_quote师傅取消报价
wait_pay公开报价订单: 指派师傅时回传
总包订单(非月结订单): 总包报价时回传
总包订单(月结订单): 没有这个节点
wait_reserve_customer师傅订单和总包非月结订单: 用户支付时回传
月结订单:总包报价时回传
enterprise_order_sp总包订单专属节点:
总包指派师傅
order_mark总包订单专属节点:
总包标记订单
order_increase_cost子费用支付成功
order_increase_cost_failed子费用支付失败
regulate_sub_order_fee师傅订单专属节点: 师傅增加子费用
cancel_sub_order_fee师傅订单专属节点: 师傅取消子费用
reserve_customer师傅预约客户
goods_accept货物验收
logistics_sign师傅到物流点签收货物
wait_serve_complete师傅上门签到
serve_complete服务完成
师傅订单: 师傅完工时回传
总包订单: 总包确认验收后回传
order_finish交易完成
月结点在账单支付后回传
其他类型的订单在打款给师傅或总包时回传
order_cancel订单关闭
refund_refuse以下拒绝退款操作时回传
师傅拒绝退款
总包拒绝退款
仲裁客服拒绝退款
refund_pass以下同意退款操作时回传
师傅同意退款(包含: 部分退款和全部退款)
总包同意退款(包含: 部分退款和全部退款)
仲裁客服同意退款(包含: 部分退款和全部退款)
urgent_result加急结果通知
complaint_start_handle投诉平台开始处理
complaint_evidence_supply投诉通知用户补充举证
complaint_result投诉平台处理结果
complaint_compensation_finish投诉赔偿完成通知

订单创建结果通知(user_order_create)#

字段名称字段类型字段说明是否必有字段
thirdOrderIdString第三方订单号(对应下单时的orderId)是
wanshifuOrderNoString万师傅订单编号(下单成功会回传万师傅订单编号)否
msgString消息,订单失败时会有失败描述信息否
isCreateOrderSuccessBoolean是否创建订单成功 true: 成功 false: 失败是
orderDetailUrlString万师傅网站订单详情页跳转链接是
extraobject订单扩展信息否

师傅报价 (wait_appoint)#

字段名称字段类型字段说明是否必有字段
offeredMasterCountint已报价数量是
masterIdint师傅id是
masterNameString师傅名称是
offerPriceint报价金额是
offerPriceNoteString报价备注(255)否
promiseInfoListList师傅承诺集合是
promiseNameString承诺名称是
promiseDefinitionString承诺定义是
specialRemarkString特殊说明否
示例:
{ "data":{ "masterId":58047, "masterName":"王**", "offerPrice":100, "offerPriceNote":"", "offeredMasterCount":1, "promiseInfoList":[ { "promiseDefinition":"承诺定义", "promiseName":"服务承诺名称", "specialRemark":"特殊备注" }, { "promiseDefinition":"承诺定义", "promiseName":"服务承诺名称", "specialRemark":"特殊备注" } ] }, "orderStatus":"wait_appoint", "thirdOrderId":"O2022091310213625000056799"}

师傅取消报价 (cancel_quote)#

字段名称字段类型字段说明是否必有字段
offerPriceint报价金额是
masterIdint师傅id是
masterNameString师傅名称是

指派师傅 | 总包报价(wait_pay)#

ps: 根据场景的不同,值会不一样。 总包月结订单没有这个节点。
场景说明
总包普通订单(非月结订单)报价后回传
师傅订单,用户指派师傅后回传
注意事项: 该节点总包订单不会回传师傅信息
字段名称字段类型字段说明是否必有字段
masterIdlong师傅id是
masterPhoneString师傅手机号(为隐私号,格式:18617192188-1234),隐私号在订单交易完成后15天过期是
masterNameString师傅名称是

改派师傅 | (order_change_grab)#

ps: 。**
场景说明
改派师傅后回传
注意事项:
字段名称字段类型字段说明是否必有字段
masterIdlong师傅id是
masterPhoneString师傅手机号(为隐私号,格式:18617192188-1234),隐私号在订单交易完成后15天过期是
masterNameString师傅名称是

用户支付 | 月结订单总包报价(wait_reserve_customer)#

场景说明
总包月结订单,报价后回传
总包非月结订单,用户支付后回传
师傅订单,用户支付后回传
字段名称字段类型字段说明是否必有字段
masterIdlong师傅id否
masterNameString师傅姓名否
masterPhoneString师傅手机号(为隐私号,格式:18617192188-1234),隐私号在订单交易完成后15天过期否
pricedouble订单金额否
paymentMethodobject支付方式实体否
orderIdlong订单id是
orderTypeString订单/子订单;order/suborder是
paymentMethodString单种支付方式是
paymentMethodEnString单种支付方式是
paymentMethodsString组合支付方式是
paymentMethodEnsString组合支付方式是

支付方式中英文对照#

中文英文
余额支付wallet
微信支付weixin
支付宝支付alipay
服务保障金支付security_fund
现金券支付coupons
京东钱包支付jd
企业网银支付upg_business
线下转账offline
数字人民币digit
{ "data":{ "masterId":4961724075, "masterName":"秦俊云", "masterPhone":"13581379111", "paymentMethod":{ "orderId":12184398471, "orderType":"order", "paymentMethod":"余额支付", "paymentMethodEn":"wallet", "paymentMethodEns":[ "wallet" ], "paymentMethods":[ "余额支付" ] }, "price":"100.00" }, "orderStatus":"wait_reserve_customer", "thirdOrderId":"SF46241662019442467" }

总包指派师傅(enterprise_order_sp)#

字段名称字段类型字段说明是否必有字段
masterNameString师傅id是
masterPhoneString师傅手机号(为隐私号,格式:18617192188-1234),隐私号在订单交易完成后15天过期是
masterLevelint师傅等级是

总包标记订单(order_mark)#

字段名称字段类型字段说明是否必有字段
contentString记内容是
operateTimeString操作时间是
operateTypeString操作类型. enterprise 为总包标记否

子费用支付成功 (order_increase_cost)#

字段名称字段类型字段说明是否必有字段
accountString主账号是
subAccountString子账号否
amountdouble金额是
timeString支付时间是
subOrderIdlong子订单id是
paymentMethodobject支付方式实体否
orderIdlong订单id是
orderTypeString订单/子订单;order/suborder是
paymentMethodString单种支付方式是
paymentMethodEnString单种支付方式是
paymentMethodsString组合支付方式是
paymentMethodEnsString组合支付方式是

支付方式中英文对照#

中文英文
余额支付wallet
微信支付weixin
支付宝支付alipay
服务保障金支付security_fund
现金券支付coupons
京东钱包支付jd
企业网银支付upg_business
线下转账offline
数字人民币digit
{ "data":{ "account":"test", "amount":2, "paymentMethod":{ "orderId":12184368421, "orderType":"suborder", "paymentMethod":"余额支付", "paymentMethodEn":"wallet", "paymentMethodEns":[ "wallet", "coupons" ], "paymentMethods":[ "余额支付", "现金券支付" ] }, "reason":"远程费", "subAccount":"", "subOrderId":12184368421, "time":"2022-08-23 14:56:06" }, "orderStatus":"order_increase_cost", "thirdOrderId":"zfr4417g3000019920" }

师傅增加子费用(regulate_sub_order_fee)#

字段名称字段类型字段说明是否必有字段
feeDetailList<Object>费用明细列表是
feeDetail.feeAmountString金额是
feeDetail.feeTypeString费用类型
serve_fee:服务费
replace_fee:代付费用
是
feeDetail.numberint商品数量/楼层数否
feeDetail.reasonString费用增加原因否
replaceFeedouble总代付运
replaceFee, serveFee 必有一个
否
serveFeedouble总服务费
replaceFee, serveFee 必有一个
否
subOrderIdlong子订单id是

师傅取消子费用(cancel_sub_order_fee)#

字段名称字段类型字段说明是否必有字段
subOrderIdListList<long>子订单id集合是

师傅预约客户(reserve_customer)#

字段名称字段类型字段说明是否必有字段
appointTimeString当前师傅预约上门开始时间 格式: yyyy-MM-dd HH:mm:ss否
contactTimeString当前师傅首次联系时间 格式: yyyy-MM-dd HH:mm:ss否
ordercontactTimeString订单-师傅首次联系时间 格式: yyyy-MM-dd HH:mm:ss否
failOrChangeReasonString预约异常原因否
appointEndTimeString师傅预约结束时间 格式: yyyy-MM-dd HH:mm:ss否

货物验收(goods_accept)#

字段名称字段类型字段说明是否必有字段
goodsAcceptTimeString验收时间是
goodsAcceptImagesString验收图片url, 多个通过 , 分割是
goodsAcceptVideosString验收视频url,多个通过 , 分割。否
reserveSignStatusString验收状态
goods_accept_normal: 正常
goods_accept_abnormal:异常
是
examineGoodsImageString验货验收单(图片)否
SnCodeListList<SnCode>sn码信息(安装类服务)否
SnCode-snTypeStringsn码类型,barCode:条形码,qrCode:二维码,none:未使用sn码否
SnCode-GoodsTypeString商品类目类型否
SnCode-snCodeNumberStringSN码条形码编号否
SnCode-snCodeImgsStringSN码条形码图片(根据类型判断,多张以英文逗号分隔)否
SnCode-goodsNameString商品名称否

物流签收(logistics_sign)#

字段名称字段类型字段说明是否必有字段
logisticsSignTimeString师傅提货时间(yyyy-MM-dd HH:mm:ss)是
actionTypeString提货状态;normal:正常,abnormal:异常是

师傅上门签到(wait_serve_complete)#

字段名称字段类型字段说明是否必有字段
signPositionTimeString上门签到时间(yyyy-MM-dd HH:mm:ss)是
serviceVerificationCodeLong师傅完工确认码是

服务完成(serve_complete)#

字段名称字段类型字段说明是否必有字段
completeTimeString师傅完工时间是
completePictureListList<String>服务完工图片url集合是
completeVideoListList<String>服务完工视频url集合否
receiptPictureListList<String>服务完工签收单否
repairTypeString维修类型否
repairReasonString维修原因否
SnCodeListList<SnCode>sn码信息否
SnCode-snTypeStringsn码类型,barCode:条形码,qrCode:二维码,none:未使用sn码否
SnCode-GoodsTypeString商品类目类型否
SnCode-snCodeNumberStringSN码条形码编号否
SnCode-snCodeImgsStringSN码条形码图片(根据类型判断,多张以英文逗号分隔)否
SnCode-goodsNameString商品名称否
goodsNameslist<String>商品型号否

交易完成(order_finish)#

字段名称字段类型字段说明是否必有字段
tradeCompleteTimeString交易完成时间 (yyyy-MM-dd HH:mm:ss)是

订单关闭(order_cancel)#

字段名称字段类型字段说明是否必有字段
orderCancelTimeString订单关闭时间(yyyy-MM-dd HH:mm:ss)是
reasonString订单关闭原因)否

退款拒绝(refund_refuse)#

字段名称字段类型字段说明是否必有字段
applyPricedouble申请退款金额是
orderIdlong订单id是
orderNoString订单编号是
reasonString拒绝退款原因是
refundModeString退款类型
全额退款: all
部分退款: part
是

退款同意(refund_pass)#

字段名称字段类型字段说明是否必有字段
applyPricedouble申请退款金额是
orderIdlong订单id是
orderNoString订单编号是
refundModeString退款类型
全额退款: all
部分退款: part
是
continuedServiceInteger是否需要继续服务 1是,0否是

加急结果通知(urgent_result)#

字段名称字段类型字段说明是否必有字段
masterIdlong师傅id否
urgentStatusint加急结果:0为成功,1为失败是
msgString消息,加急失败的时候会失败描述信息否

投诉平台开始处理(complaint_start_handle)#

字段名称字段类型字段说明是否必有字段
complaintIdlong投诉id是
handleTimeString处理时间是

投诉通知用户补充举证(complaint_evidence_supply)#

字段名称字段类型字段说明是否必有字段
handleTimeString处理时间是
evidenceSupplyIdlong补充证据id是
complaintIdlong投诉id是

投诉平台处理结果(complaint_result)#

字段名称字段类型字段说明是否必有字段
complaintTypeIdlong投诉类别是
businessTypelong场景类型 1用户投诉处理 2,派发现金 3,责任险赔付是
isMustBankint是否需要填写银行卡赔付信息 1:需要,0:不需要是
orderDescString处理说明是
compensateAmountdouble赔付金额是
handleTimeString处理时间是
complaintResultString投诉结果是
complaintIdlong投诉id是

投诉赔偿完成通知(complaint_compensation_finish)#

字段名称字段类型字段说明是否必有字段
compensationTimeLong赔付时间(单位: 毫秒)是
compensateAmountdouble赔付金额是
complaintIdlong投诉id是

投诉后银行卡打款结果 (complaint_pay_result)#

字段名称字段类型字段说明是否必有字段
complaintIdstring投诉id是
failMsgstring失败原因否
globalOrderTraceIdlong万师傅订单全局id是
payResultint打款结果;1:失败,0:成功是
thirdOrderIdString第三方订单号是
orderStatusString订单状态节点是
示例:
{"data":{"complaintId":165568,"failMsg":"账户记录不存在","globalOrderTraceId":61115482776,"payResult":1},"orderStatus":"complaint_pay_result","thirdOrderId":"shunfeng28681666597454366"}

一口价订单节点回传#

点击前往查看>>
=====================================================================
修改于 2025-01-02 11:43:08
上一页
下单接口
下一页
订单催服务
Built with