下单接口文档
下单接口文档
接口名称 | 下单(支持批量) |
---|---|
接口类型 | HTTP POST |
接口格式 | application/json;charset=UTF-8 |
线上地址 | http://openapi.wanshifu.com/user-open/order/batchCreateAsync |
测试地址 | http://openapi.wanshifu.com/test/order/batchCreateAsync |
接口说明 | 第三方调用此接口下单到万师傅平台 |
是否加密 | 是 |
接口参数
busData: 字段参考业务参数
业务参数
字段名称 | 字段说明 | 字段类型 | 是否必传参数 |
---|---|---|---|
orderId | 第三方订单号(保证唯一性) ,用于双方体系统之间交互的唯一id | String(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 | 否 |
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 | 物流运单号 | String | ABC | 订阅物流,类型为 ABC 该参数为必传字段 |
customArriveStatus | 货物是否到客户家(已到货:1,未到货:2) | Integer | DH | 类型为 DH 该参数为必传字段 |
isLogisticsArrived | 货物是否到物流签收点(已到货:1,未到货:2) | Integer | ABC | 类型为 ABC 该参数为必传字段 |
pickupAddress | 提货物流地址 | String | ABC | 类型为 ABC 该参数为非必传字段 |
pickupPhone | 提货 电话 | String | ABC | 已到货时,类型为 ABC 该参数为必传字段 |
packNumber | 包装件数 | String | ABC | 已到货时,类型为 ABC 该参数为必传字段 |
expectArriveTime | 预计到货时间(yyyy-MM-dd) | String | ABC | 类型为 ABC 该参数为必传字段 |
payLcsfee | 代付运费金额 | BigDecimal | ABC | 类型为 ABC 该参数为必传字段;类型为 E 维修单含配件寄回时必传 |
receiverName | 返货物流签收人姓名 | String | F | 类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传 |
receiverPhone | 返货物流签收人电话 | String | F | 类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传 |
receiverAddress | 返货物流收货地址 | String | F | 类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传 |
logisticsCompany | 物流公司名 | String | F | 类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传 |
insuredAmount | 保价金额(不保价填 0) | BigDecimal | F | 类型为 F 该参数为必传字段 |
deliveryMode | 送货方式(送货上门:1,物流点自提:2) | Integer | F | 类型为 F 该参数为必传字段 |
needPack | 是否需要师傅自带包装(不需要:0,需要:1) | Integer | F | 类型为 F 该参数为必传字段 |
needWoodpack | 是否需要打木架(不需要:0,需要:1) | Integer | F | 类型为 F 该参数为必传字段 |
needMasterpack | 是否需要师傅打包(不需要:0,需要:1) | Integer | F | 类型为 F 该参数为必传字段 |
payMethod | 付费方式(下单方到付:1,师傅代付:2) | Integer | F | 类型为 F 该参数为必传字段;类型为 E 维修单含配件寄回时必传 |
hasLift | 客户家是否有电梯 y有,n无 | String | BCF | 类型为 BCF 该参数为必传字段 |
floorNum | 楼层高度 (无电梯时必填) | Integer | BCF | 类型为 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 | 第三方商品id | String | 不采用图库映射时必传 |
goodsVideoUrl | 第三方商品视频url | String | 否(如果需要附带视频,多个视频链接用英文逗号分隔) |
isUseCustomImage | 是否使用自定义商品图片 | boolean | true: 使用自定义图片, 取goodsImgUrl 图片链接 false: 不使用自定义图片(默认) |
doorAttributes | 门类属性 子对象参考 【doorAttributes 字段具体信息】 | object | serveType=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 | 接口处理失败 |