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

下单接口文档

下单接口文档#

接口名称下单(支持批量)
接口类型HTTP POST
接口格式application/json;charset=UTF-8
线上地址http://openapi.wanshifu.com/user-open/order/batchCreateAsync
测试地址http://openapi.wanshifu.com/test/order/batchCreateAsync
接口说明第三方调用此接口下单到万师傅平台
是否加密是

接口参数#

接口入参: API 接口参数规范
busData: 字段参考业务参数

业务参数#

下单业务参数是 list 对象(可参考: 业务参数示例),支持一次请求下多个订单.
字段名称字段说明字段类型是否必传参数
orderId第三方订单号(保证唯一性) ,用于双方体系统之间交互的唯一idString(30)是
serveCategory订单服务类目
参考:4、目前支持的服务类目和类型
Integer是
serveType订单服务类型
参考:4、目前支持的服务类目和类型
Integer是
orderModel下单模式:
0:报价招标;
1:一口价_下单后立即付款,下单后立即支付,师傅抢单即完成指派关系建立;
2:一口价_师傅抢单后付款,师傅抢单以后需再次支付订单,指派关系建立;
注:开发平台的一口价订单下单的模式由该字段控制,与万师傅网站设置无关。
int否
spType指派类型
master 师傅
enterprise 总包。
(一口价订单只支持master)
String是
toMasterId指派总包服务商ID,如果是万师傅系统指定总包,该字段不用传Long否
buyerName客户姓名String是
buyerPhone客户手机号(^1[3456789][0-9]{9}$)String是
province客户地址省份(如广东省)String是
city客户地址市级(如深圳市,如果是直辖市如 北京,上海 等 province,city 填一样)String是
county客户地址县(区)级(如宝安区)String是
address客户详细地址,除省市区外的地址String(500)是
goodsList商品列表 子对象参考 【goodsList 字段具体信息】List是
version版本号: 固定
v3
String是
isAutoAppoint是否自动指派 (0:否[默认],1:是)
自动指派指在平台发布订单,平台会自动分配一位服务商。
公开报价订单,即orderModel为0的时候,可以传0或者1;
一口价订单,即orderModel为1或者2的时候,传0
String否
isRateReward是否需要好评奖励Boolean否
rateAwardFee师傅好评奖励金额BigDecimal否
customerAwardFee客户好评奖励金额BigDecimal否
acclaimCashBackMust好评奖励描述String否
buyerNote客户备注 如:【SN码:68326583682】String否
originShop来源店铺String否
buyerWangwang客户旺旺号
【限制 50 个字符】
String否
contactName商家联系人姓名String (30)是
contactPhone商家联系人手机号(^1[3456789][0-9]{9}$),支持400电话String是
contactName2备用商家联系人姓名String否
contactPhone2备用商家联系人手机号(^1[3456789][0-9]{9}$) ,支持400电话String否
subscribeLogistic是否订阅物流信息(物流轨迹 和 自动提醒师傅到货 功能) (1:订阅[默认]、 0:不订阅)
默认只支持安装类型
String否
extraField通用字段
最大长度 100 个字符
String否
checkRepeatOrder是否校验在(三个月内)下单历史是否存在相同的客户信息的订单(判断依据为客户姓名+电话+地址),存在则会下单失败(0:不校验[默认] 1:校验)Integer否
extraParams扩展参数: key: value 的形式
key由对接平台自定义
示例:
{
"params1":"value"
}
Map<String, String>否
urgentFee加急费,最低30元,最高500元。
若传0或者不传,表示不开通加急。
传非0的数字,表示开通加急,且所传数字为加急费。支持两位小数。
BigDecimal否
expectCompleteTime期望服务日期(yyyy-MM-dd)
若expectDoorOnTimeInterval未传值,则该字段为期望师傅完工日期
若expectDoorOnTimeInterval传值,则该字段为期望师傅上门签到日期
当urgentFee传值以后,该字段必传
String否
expectDoorOnTimeInterval期待上门时间段为每2小时的一个时间段,并且只能选择如下的时间段之一传参:06-08,08-10,10-12,12-14,14-16,16-18,18-20,20-22
当urgentFee传值以后,该字段必传
String否
expectDoorOnTimeAwardFee准时上门奖励金额,非通用字段,对接时请该字段为空即可BigDecimal否
returnNote配件返回备注信息String否
repairParts配件信息 子对象参考 【RepairPart 字段具体信息】List否
serialNumber业务流水号String否
salesAmount订单销售金额BigDecimal否
salesman业务员String否
consignerPhone发货人电话String否
warehouse发货仓库名称String否
oldToNew以旧换新标识 1是,0否int否
changeTime一口价转报价/总包时间,前提:需要提前在万师傅网站的下单设置中,将一口价自动转单设置的开关设置为“开启”,否则该值不生效。
一口价转单时间传值范围: 0-48 小时
若传0,则取万师傅网站【下单设置】中设置的转单时间;
若传非0,则以传值时间计
int否

个别服务类型独有字段#

字段名称字段说明字段类型所属服务类型
(送货到楼下:A,
送货到家:B,
送货到家并安装:C,
安装:D,
维修:E,
返货:F,
保养:G,
灯具安装:H)
是否必传参数
logisticsNo物流运单号StringABC订阅物流,类型为 ABC 该参数为必传字段
customArriveStatus货物是否到客户家(已到货:1,未到货:2)IntegerDH类型为 DH 该参数为必传字段
isLogisticsArrived货物是否到物流签收点(已到货:1,未到货:2)IntegerABC类型为 ABC 该参数为必传字段
pickupAddress提货物流地址StringABC类型为 ABC 该参数为非必传字段
pickupPhone提货电话StringABC已到货时,类型为 ABC 该参数为必传字段
packNumber包装件数StringABC已到货时,类型为 ABC 该参数为必传字段
expectArriveTime预计到货时间(yyyy-MM-dd)StringABC类型为 ABC 该参数为必传字段
payLcsfee代付运费金额BigDecimalABC类型为 ABC 该参数为必传字段;类型为 E 维修单含配件寄回时必传
receiverName返货物流签收人姓名StringF类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传
receiverPhone返货物流签收人电话StringF类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传
receiverAddress返货物流收货地址StringF类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传
logisticsCompany物流公司名StringF类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传
insuredAmount保价金额(不保价填 0)BigDecimalF类型为 F 该参数为必传字段
deliveryMode送货方式(送货上门:1,物流点自提:2)IntegerF类型为 F 该参数为必传字段
needPack是否需要师傅自带包装(不需要:0,需要:1)IntegerF类型为 F 该参数为必传字段
needWoodpack是否需要打木架(不需要:0,需要:1)IntegerF类型为 F 该参数为必传字段
needMasterpack是否需要师傅打包(不需要:0,需要:1)IntegerF类型为 F 该参数为必传字段
payMethod付费方式(下单方到付:1,师傅代付:2)IntegerF类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传
hasLift客户家是否有电梯
y有,n无
StringBCF类型为 BCF 该参数为必传字段
floorNum楼层高度 (无电梯时必填)IntegerBCF类型为 BCF 该参数为必传字段

goodsList 字段具体信息#

字段名称字段说明字段类型是否必传参数
goodsNumber商品数量Integer是
goodsName商品型号String否(一口价下单商品必传)
sku采用商品库映射方式时需要传此字段String报价订单/总包订单采用商品库映射方式时需要传此字段
goodsNote特殊要求、故障描述String否
serveType=5 该字段必传
isSuit是否套装:
0:不是
1:是
Integer否
如果不是套装,下单的时候,订单中的附属商品数量会直接取商品库中的附属商品数量。
如果是套装,下单的时候,订单中的附属商品数量会取值【商品库中附属商品数量x商品数量】。
例子:
商品库中存在商品:实木床,附属商品床头柜x2.
case1:不是套装,若商品数量是2,则订单中会展示2个实木床,2个床头柜
case2:是套装,若商品数量是2,则订单中会展示2个实木床,4个床头柜
goodsImgUrl商品图片地址,多张用英文逗号隔开String否
serveType=5 该字段必传;商品类目映射下单必传
goodsId第三方商品idString不采用图库映射时必传
goodsVideoUrl第三方商品视频urlString否(如果需要附带视频,多个视频链接用英文逗号分隔)
isUseCustomImage是否使用自定义商品图片booleantrue: 使用自定义图片, 取goodsImgUrl 图片链接
false: 不使用自定义图片(默认)
doorAttributes门类属性 子对象参考 【doorAttributes 字段具体信息】objectserveType=9且serveCategory =6 时必填

doorAttributes 字段具体信息#

字段名称字段说明字段类型是否必传参数
doorHoleNumber门洞数量Integer是

RepairPart 字段具体信息#

字段名称字段说明字段类型是否必传参数
partsNumber配件数量Integer是
partsName配件名称String是
isReturn是否需要寄回配件1:是,0:否Integer是

业务参数示例#

[
    {
        "orderId": "1180183",
        "toMasterId": null,
        "serveCategory": 1,
        "serveType": 6,
        "buyerName": "张三0",
        "buyerPhone": "13333333333",
        "province": "广东省",
        "city": "深圳市",
        "county": "宝安区",
        "address": "详细测试地址0",
        "contactName": "王五",
        "contactPhone": "17777777777",
        "hasLift": null,
        "floorNum": null,
        "clearanceType": null,
        "clearanceNo": null,
        "customArriveStatus": null,
        "isLogisticsArrived": null,
        "expectArriveTime": null,
        "pickupAddress": null,
        "logisticsCompany": "顺丰",
        "logisticsNo": null,
        "pickupPhone": null,
        "packNumber": null,
        "payLcsfee": null,
        "expectCompleteTime": "2019-06-10",
        "buyerNote": "客户备注0",
        "receiverName": "李四",
        "receiverPhone": "18888888888",
        "receiverAddress": "返货地址0",
        "insuredAmount": 100,
        "deliveryMode": 2,
        "needPack": 0,
        "needWoodpack": 0,
        "needMasterpack": 0,
        "payMethod": 1,
        "goodsList": [
            {
                "goodsCategory": 1,
                "categoryChild": 78,
                "goodsNumber": 5,
                "goodsName": "型号0",
                "goodsNote": "特殊要求",
                "isDisassemble": 0,
                "maintainType": null,
                "goodsImgUrl": "http://pic1.nipic.com/2008-08-14/2008814183939909_2.jpg"
            }
        ]
    }
]

最终请求参数示例#

{
  "busData": "W3sibmVlZFdvb2RwYWNrIjowLCJvcmRlcklkIjoiMTE4MDE4MyIsImNpdHkiOiLmt7HlnLPluIIiLCJzZXJ2ZVR5cGUiOjYsImNvdW50eSI6IuWuneWuieWMuiIsImdvb2RzTGlzdCI6W3siaXNEaXNhc3NlbWJsZSI6MCwiZ29vZHNOb3RlIjoi54m55q6K6KaB5rGCIiwiZ29vZHNDYXRlZ29yeSI6MSwiZ29vZHNOdW1iZXIiOjUsImNhdGVnb3J5Q2hpbGQiOjc4LCJnb29kc05hbWUiOiLlnovlj7cwIiwiZ29vZHNJbWdVcmwiOiJodHRwOi8vcGljMS5uaXBpYy5jb20vMjAwOC0wOC0xNC8yMDA4ODE0MTgzOTM5OTA5XzIuanBnIn1dLCJuZWVkTWFzdGVycGFjayI6MCwiZXhwZWN0Q29tcGxldGVUaW1lIjoiMjAxOS0wNi0xMCIsInJlY2VpdmVyUGhvbmUiOiIxODg4ODg4ODg4OCIsInByb3ZpbmNlIjoi5bm/5Lic55yBIiwiZGVsaXZlcnlNb2RlIjoyLCJwYXlNZXRob2QiOjEsImxvZ2lzdGljc0NvbXBhbnkiOiLpobrkuLAiLCJuZWVkUGFjayI6MCwiaW5zdXJlZEFtb3VudCI6MTAwLCJhZGRyZXNzIjoi6K+m57uG5rWL6K+V5Zyw5Z2AMCIsImNvbnRhY3ROYW1lIjoi546L5LqUIiwicmVjZWl2ZXJOYW1lIjoi5p2O5ZubIiwiYnV5ZXJOYW1lIjoi5byg5LiJMCIsInNlcnZlQ2F0ZWdvcnkiOjEsInJlY2VpdmVyQWRkcmVzcyI6Iui/lOi0p+WcsOWdgDAiLCJidXllclBob25lIjoiMTMzMzMzMzMzMzMiLCJidXllck5vdGUiOiLlrqLmiLflpIfms6gwIiwiY29udGFjdFBob25lIjoiMTc3Nzc3Nzc3NzcifV0=",
  "checkData": "F00CAFFB8A2A3A71DEF5D5EAA18DA85B",
  "childAccount": "",
  "licenseId": "xxxx",
  "timestamp": 1653897054094
}

返回信息#

异步接口,不代表下单成功,下单结果由回调接口通知
结果通知回传节点:跳转查看>>
字段名称字段说明字段类型
retCode错误码Integer
retData处理返回数据Integer
retMsg错误描述String

retCode 说明#

retCode说明
200接口处理成功
500接口处理失败
其他code接口处理失败

成功示例#

{
    "retCode": 200,
    "retData": 1,
    "retMsg": "订单接收成功"
}

失败示例#

{
    "retCode": 500,
    "retData": null,
    "retMsg": "找不到对应的用户"
}
上一页
5、接口 code 码
下一页
下单接口
Built with