服务节点通知
回传接口接收参数定义
接口名称 | 订单节点回传 |
---|---|
接口类型 | HTTP POST |
接口格式 | application/json;charset=UTF-8 |
接口地址 | 由第三方提供回调接口,万师傅在订单流转到相应节点时通知第三方,若第三方不关注该节点,忽略不处理即可 |
是否加密 | 需要 |
接口参数
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
orderStatus | String | 订单节点状态 | 是 |
thirdOrderId | String | 第三方订单号. (下单接口 orderId 字段) | 是 |
data | Object | 节点业务参数. 是个json对象, 不同节点状态,data 对象数据也会有所不同 | |
详细参数参考各个节点状态业务数据字段 | 是 |
{
// 当前订单节点(预约师傅:reserve_customer)
"orderStatus": "reserve_customer",
// 第三方订单号
"thirdOrderId": "SF1028483755541",
// 当前节点业务数据(见后续说明)
"data": {
"appointTime": "2020-08-05 08:00:00"
}
}
响应参数规范
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
retCode | String | 请求结果状态码. 200: 请求成功 | 是 |
retMsg | String | 请求响应消息 | 否 |
retData | String | 请求响应结果 | 否 |
回传对接说明
1.
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)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
thirdOrderId | String | 第三方订单号(对应下单时的orderId) | 是 |
wanshifuOrderNo | String | 万师傅订单编号(下单成功会回传万师傅订单编号) | 否 |
msg | String | 消息,订单失败时会有失败描述信息 | 否 |
isCreateOrderSuccess | Boolean | 是否创建订单成功 true: 成功 false: 失败 | 是 |
orderDetailUrl | String | 万师傅网站订单详情页跳转链接 | 是 |
extra | object | 订单扩展信息 | 否 |
师傅报价 (wait_appoint)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
offeredMasterCount | int | 已报价数量 | 是 |
masterId | int | 师傅id | 是 |
masterName | String | 师傅名称 | 是 |
offerPrice | int | 报价金额 | 是 |
offerPriceNote | String | 报价备注(255) | 否 |
promiseInfoList | List | 师傅承诺集合 | 是 |
promiseName | String | 承诺名称 | 是 |
promiseDefinition | String | 承诺定义 | 是 |
specialRemark | String | 特殊说明 | 否 |
{
"data":{
"masterId":58047,
"masterName":"王**",
"offerPrice":100,
"offerPriceNote":"",
"offeredMasterCount":1,
"promiseInfoList":[
{
"promiseDefinition":"承诺定义",
"promiseName":"服务承诺名称",
"specialRemark":"特殊备注"
},
{
"promiseDefinition":"承诺定义",
"promiseName":"服务承诺名称",
"specialRemark":"特殊备注"
}
]
},
"orderStatus":"wait_appoint",
"thirdOrderId":"O2022091310213625000056799"}
师傅取消报价 (cancel_quote)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
offerPrice | int | 报价金额 | 是 |
masterId | int | 师傅id | 是 |
masterName | String | 师傅名称 | 是 |
指派师傅 | 总包报价(wait_pay)
ps
: 根据场景的不同,值会不一样。 总包月结订单没有这个节点。场景说明
注意事项: 该节点总包订单不会回传师傅信息
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
masterId | long | 师傅id | 是 |
masterPhone | String | 师傅手机号(为隐私号,格式:18617192188-1234),隐私号在订单交易完成后15天过期 | 是 |
masterName | String | 师傅名称 | 是 |
改派师傅 | (order_change_grab)
ps
: 。**场景说明
注意事项:
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
masterId | long | 师傅id | 是 |
masterPhone | String | 师傅手机号(为隐私号,格式:18617192188-1234),隐私号在订单交易完成后15天过期 | 是 |
masterName | String | 师傅名称 | 是 |
用户支付 | 月结订单总包报价(wait_reserve_customer)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
masterId | long | 师傅id | 否 |
masterName | String | 师傅姓名 | 否 |
masterPhone | String | 师傅手机号(为隐私号,格式:18617192188-1234),隐私号在订单交易完成后15天过期 | 否 |
price | double | 订单金额 | 否 |
paymentMethod | object | 支付方式实体 | 否 |
orderId | long | 订单id | 是 |
orderType | String | 订单/子订单;order/suborder | 是 |
paymentMethod | String | 单种支付方式 | 是 |
paymentMethodEn | String | 单种支付方式 | 是 |
paymentMethods | String | 组合支付方式 | 是 |
paymentMethodEns | String | 组合支付方式 | 是 |
支付方式中英文对照
中文 | 英文 |
---|---|
余额支付 | 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)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
masterName | String | 师傅id | 是 |
masterPhone | String | 师傅手机号(为隐私号,格式:18617192188-1234),隐私号在订单交易完成后15天过期 | 是 |
masterLevel | int | 师傅等级 | 是 |
总包标记订单(order_mark)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
content | String | 记内容 | 是 |
operateTime | String | 操作时间 | 是 |
operateType | String | 操作类型. enterprise 为总包标记 | 否 |
子费用支付成功 (order_increase_cost)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
account | String | 主账号 | 是 |
subAccount | String | 子账号 | 否 |
amount | double | 金额 | 是 |
time | String | 支付时间 | 是 |
subOrderId | long | 子订单id | 是 |
paymentMethod | object | 支付方式实体 | 否 |
orderId | long | 订单id | 是 |
orderType | String | 订单/子订单;order/suborder | 是 |
paymentMethod | String | 单种支付方式 | 是 |
paymentMethodEn | String | 单种支付方式 | 是 |
paymentMethods | String | 组合支付方式 | 是 |
paymentMethodEns | String | 组合支付方式 | 是 |
支付方式中英文对照
中文 | 英文 |
---|---|
余额支付 | 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)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
feeDetail | List<Object> | 费用明细列表 | 是 |
feeDetail.feeAmount | String | 金额 | 是 |
feeDetail.feeType | String | 费用类型 serve_fee:服务费 replace_fee:代付费用 | 是 |
feeDetail.number | int | 商品数量/楼层数 | 否 |
feeDetail.reason | String | 费用增加原因 | 否 |
replaceFee | double | 总代付运 replaceFee, serveFee 必有一个 | 否 |
serveFee | double | 总服务费 replaceFee, serveFee 必有一个 | 否 |
subOrderId | long | 子订单id | 是 |
师傅取消子费用(cancel_sub_order_fee)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
subOrderIdList | List<long> | 子订单id集合 | 是 |
师傅预约客户(reserve_customer)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
appointTime | String | 当前师傅预约上门开始时间 格式: yyyy-MM-dd HH:mm:ss | 否 |
contactTime | String | 当前师傅首次联系时间 格式: yyyy-MM-dd HH:mm:ss | 否 |
ordercontactTime | String | 订单-师傅首次联系时间 格式: yyyy-MM-dd HH:mm:ss | 否 |
failOrChangeReason | String | 预约异常原因 | 否 |
appointEndTime | String | 师傅预约结束时间 格式: yyyy-MM-dd HH:mm:ss | 否 |
货物验收(goods_accept)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
goodsAcceptTime | String | 验收时间 | 是 |
goodsAcceptImages | String | 验收图片url, 多个通过 , 分割 | 是 |
goodsAcceptVideos | String | 验收视频url,多个通过 , 分割。 | 否 |
reserveSignStatus | String | 验收状态 goods_accept_normal: 正常 goods_accept_abnormal:异常 | 是 |
examineGoodsImage | String | 验货验收单(图片) | 否 |
SnCodeList | List<SnCode> | sn码信息(安装类服务) | 否 |
SnCode-snType | String | sn码类型,barCode:条形码,qrCode:二维码,none:未使用sn码 | 否 |
SnCode-GoodsType | String | 商品类目类型 | 否 |
SnCode-snCodeNumber | String | SN码条形码编号 | 否 |
SnCode-snCodeImgs | String | SN码条形码图片(根据类型判断,多张以英文逗号分隔) | 否 |
SnCode-goodsName | String | 商品名称 | 否 |
物流签收(logistics_sign)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
logisticsSignTime | String | 师傅提货时间(yyyy-MM-dd HH:mm:ss) | 是 |
actionType | String | 提货状态;normal:正常,abnormal:异常 | 是 |
师傅上门签到(wait_serve_complete)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
signPositionTime | String | 上门签到时间(yyyy-MM-dd HH:mm:ss) | 是 |
serviceVerificationCode | Long | 师傅完工确认码 | 是 |
服务完成(serve_complete)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
completeTime | String | 师傅完工时间 | 是 |
completePictureList | List<String> | 服务完工图片url集合 | 是 |
completeVideoList | List<String> | 服务完工视频url集合 | 否 |
receiptPictureList | List<String> | 服务完工签收单 | 否 |
repairType | String | 维修类型 | 否 |
repairReason | String | 维修原因 | 否 |
SnCodeList | List<SnCode> | sn码信息 | 否 |
SnCode-snType | String | sn码类型,barCode:条形码,qrCode:二维码,none:未使用sn码 | 否 |
SnCode-GoodsType | String | 商品类目类型 | 否 |
SnCode-snCodeNumber | String | SN码条形码编号 | 否 |
SnCode-snCodeImgs | String | SN码条形码图片(根据类型判断,多张以英文逗号分隔) | 否 |
SnCode-goodsName | String | 商品名称 | 否 |
goodsNames | list<String> | 商品型号 | 否 |
交易完成(order_finish)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
tradeCompleteTime | String | 交易完成时间 (yyyy-MM-dd HH:mm:ss) | 是 |
订单关闭(order_cancel)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
orderCancelTime | String | 订单关闭时间(yyyy-MM-dd HH:mm:ss) | 是 |
reason | String | 订单关闭原因) | 否 |
退款拒绝(refund_refuse)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
applyPrice | double | 申请退款金额 | 是 |
orderId | long | 订单id | 是 |
orderNo | String | 订单编号 | 是 |
reason | String | 拒绝退款原因 | 是 |
refundMode | String | 退款类型 全额退款: all 部分退款: part | 是 |
退款同意(refund_pass)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
applyPrice | double | 申请退款金额 | 是 |
orderId | long | 订单id | 是 |
orderNo | String | 订单编号 | 是 |
refundMode | String | 退款类型 全额退款: all 部分退款: part | 是 |
continuedService | Integer | 是否需要继续服务 1是,0否 | 是 |
加急结果通知(urgent_result)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
masterId | long | 师傅id | 否 |
urgentStatus | int | 加急结果:0为成功,1为失败 | 是 |
msg | String | 消息,加急失败的时候会失败描述信息 | 否 |
投诉平台开始处理(complaint_start_handle)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
complaintId | long | 投诉id | 是 |
handleTime | String | 处理时间 | 是 |
投诉通知用户补充举证(complaint_evidence_supply)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
handleTime | String | 处理时间 | 是 |
evidenceSupplyId | long | 补充证据id | 是 |
complaintId | long | 投诉id | 是 |
投诉平台处理结果(complaint_result)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
complaintTypeId | long | 投诉类别 | 是 |
businessType | long | 场景类型 1用户投诉处理 2,派发现金 3,责任险赔付 | 是 |
isMustBank | int | 是否需要填写银行卡赔付信息 1:需要,0:不需要 | 是 |
orderDesc | String | 处理说明 | 是 |
compensateAmount | double | 赔付金额 | 是 |
handleTime | String | 处理时间 | 是 |
complaintResult | String | 投诉结果 | 是 |
complaintId | long | 投诉id | 是 |
投诉赔偿完成通知(complaint_compensation_finish)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
compensationTime | Long | 赔付时间(单位: 毫秒) | 是 |
compensateAmount | double | 赔付金额 | 是 |
complaintId | long | 投诉id | 是 |
投诉后银行卡打款结果 (complaint_pay_result)
字段名称 | 字段类型 | 字段说明 | 是否必有字段 |
---|---|---|---|
complaintId | string | 投诉id | 是 |
failMsg | string | 失败原因 | 否 |
globalOrderTraceId | long | 万师傅订单全局id | 是 |
payResult | int | 打款结果;1:失败,0:成功 | 是 |
thirdOrderId | String | 第三方订单号 | 是 |
orderStatus | String | 订单状态节点 | 是 |
{"data":{"complaintId":165568,"failMsg":"账户记录不存在","globalOrderTraceId":61115482776,"payResult":1},"orderStatus":"complaint_pay_result","thirdOrderId":"shunfeng28681666597454366"}
一口价订单节点回传
修改于 2025-01-02 11:43:08