订单计费
接口说明:
1、用来进行计费使用,可以理解为下单询价。需要注意的是计费和真正支付的金额可能存在不一样。
2、测试环境的计费规则是随意配置的,一切订单计价的费用以线上为准,理论上测试环境只要能够计费成功就可以。
请求url
- /openapi/merchants/v5/orderCalculate
接口协议以及签名计算
测试联调
参数 |
示例 |
说明 |
clientId |
sssHhHPkzCNWG1sFs |
App-key |
shopId |
20000000000001715 |
商户ID |
timestamp |
1634095503814 |
毫秒级时间戳 |
data |
参考入参示例 |
业务入参 |
sign |
04C53CAF9FE2D8D535BA39D44B4F63DB |
签名 |
data参数说明
参数 |
字段描述 |
类型/是否必传 |
说明 |
cityName |
|
城市名称 |
String(20)/YES |
查询开通城市接口获取,如果确定自己对接的城市开通闪送服务,并且知道城市名称就不需要查询开通城市接口 |
appointType |
|
预约类型 |
Integer(1)/YES |
0立即单,1预约单 |
appointmentDate |
|
预约时间 |
String(16)/NO |
yyyy-MM-dd HH:mm格式(例如:2020-02-02 22:00),指的是预约取件时间,只支持一个小时以后两天以内 |
storeId |
|
店铺ID |
Long(20)/NO |
查询商户店铺获取的storeId字段,不传递店铺ID订单就认为默认店铺下单 |
storeName |
|
三方店铺名 |
String(20)/NO |
传storeName时,将以该值作为店铺名称(包括:闪送员端、商家端、商家端账单);
不传storeName时,将取storeId对应的店铺名称(订单归属仍以storeId为准,不传则为默认店铺) |
travelWay |
|
指定交通工具 |
Integer(8)/NO |
通过查询城市可指定交通方式接口获取对应travelWay字段,指定交通工具会产生交通费,默认为0:不限交通方式; |
deliveryType |
|
帮我取 帮我送 |
Integer(1)/NO |
1.帮我送 2.帮我取 ;默认为1 |
pickupPwd |
|
取件码开关 |
Integer(1)/NO |
非必填项,0:关闭取件码,1:开启取件码,默认值为0。
注意:开启取件码时寄件人手机号需为11位标准手机号,若选择生成取件码,需在显著位置注明取件码,方便寄件人查看。闪送员将会在上门取件时索要取件码。 |
deliveryPwd |
|
收件码开关 |
Integer(1)/NO |
非必填项,0:关闭收件码,1:开启收件码码,默认值为0。
注意:开启收件码时收件人手机号需为11位标准手机号 |
lbsType |
|
坐标类型 |
Integer(1)/NO |
0:百度坐标系,1:国测局标准坐标系,非必填;默认为0 |
sender |
|
发件人信息 |
Object/YES |
|
|
fromAddress |
寄件地址 |
String(100)/YES |
|
|
fromAddressDetail |
寄件详细地址 |
String(150)/NO |
|
|
fromSenderName |
寄件人姓名 |
String(30)/YES |
|
|
fromMobile |
寄件联系人 |
String(30)/YES |
支持11位手机号;支持座机号(格式:010-12345678 或者010-12345678-123,英文中划线分隔);支持400电话(格式:4006126688) |
|
fromLatitude |
寄件纬度 |
String(20)/YES |
发件地址以该纬度为准 |
|
fromLongitude |
寄件经度 |
String(20)/YES |
发件地址以该经度为准 |
receiverList |
|
收件人信息(列表) |
Object[]/YES |
|
|
orderNo |
第三方平台流水号 |
String(30)/YES |
|
|
toAddress |
收件地址 |
String(100)/YES |
|
|
toAddressDetail |
收件详细地址 |
String(150)/NO |
|
|
toLatitude |
收件纬度 |
String(20)/YES |
收件地址以该纬度为准 |
|
toLongitude |
收件经度 |
String(20)/YES |
收件地址以该经度为准 |
|
toReceiverName |
收件人姓名 |
String(30)/YES |
|
|
toMobile |
收件联系人 |
String(30)/YES |
支持11位手机号;支持座机号格式:010-12345678 或者010-12345678-123);支持隐私号(格式:18701012345#001) |
|
goodType |
物品类型 |
Integer(8)/YES |
详见下方物品类型标签枚举 |
|
weight |
物品重量 |
Integer(8)/YES |
传向上取整整数,单位为kg,例如:6.7kg传7;最大重量不超过999kg |
|
remarks |
备注 |
String(300)/NO |
|
|
insurance |
保险费用 |
Integer(8)/NO |
字段废弃 |
|
insuranceProId |
保险产品ID |
String(30)/NO |
字段废弃 |
|
additionFee |
快速通道费 |
Integer(8)/NO |
单位为分,能被100整除,最大值为10000,用于促进闪送员接单 |
|
orderingSourceType |
物品来源 |
Integer(8)/NO |
详见下方订单来源枚举,对应商家版取号来源,支持美团,饿了么;不传时默认为“闪送”,传参数时必须和orderingSourceNo成对出现 |
|
orderingSourceNo |
物品来源流水号 |
String(16)/NO |
对应orderingSourceType流水号,传参数时必须和orderingSourceType成对出现 |
|
goodsSizeId |
蛋糕尺寸 |
Integer(8)/NO |
当qualityDelivery为1,并且goodType为5时,必传。详见下方蛋糕尺寸枚举 |
|
goodsPrice |
投保金额 |
Integer(8)/NO |
单位:分。insuranceFlag为1时,必传。闪送会根据投保金额计算保险费用,如果你的物品破损或丢失,将可根据投保金额进行索赔 |
|
qualityDelivery |
尊享送服务 |
Integer(8)/NO |
1:使用尊享送服务 |
|
insuranceFlag |
是否投保 |
Integer(8)/NO |
0:不投保;1:投保,默认值为0。投保金额以goodsPrice为准。 |
|
expectStartTime |
期望送达时间起始时间 |
Long(13)/NO |
毫秒级时间戳。期望送达时间为时间点时,无需传本参数;期望送达时间为时间段时,期望送达时间为expectStartTime至expectEndTime |
|
expectEndTime |
期望送达时间终止时间 |
Long(13)/NO |
毫秒级时间戳。期望送达时间为时间点时,只需传本参数;期望送达时间为时间段时,期望送达时间为expectStartTime至expectEndTime |
出参说明
参数 |
类型/是否必传 |
说明 |
示例 |
totalDistance |
Integer(8)/YES |
总距离,单位:米 |
1600 |
totalWeight |
Integer(8)/YES |
总重量,单位:kg |
2 |
orderNumber |
String(20)/YES |
闪送订单号(有效期30分钟) |
TDH2021101414286468 |
feeInfoList |
Object[]/YES |
费用明细 |
|
totalAmount |
Integer(8)/YES |
订单总金额,未优惠需要支付的费用,单位:分 |
4321 |
couponSaveFee |
Integer(8)/YES |
优惠的总额度,单位:分 |
0 |
dynamicSubsidyAmount |
Integer(8)/YES |
限时补贴的费用,单位:分;字段弃用 |
364 |
totalFeeAfterSave |
Integer(8)/YES |
实际支付的费用,单位:分 |
3957 |
expectReceiveTime |
String(8)/NO |
字段弃用 |
|
estimateGrabSecond |
Integer(8)/YES |
预计接单时长,预计完单时长,字段弃用,如需获取该时间,可调用:查询订单ETA 接口 |
-1 |
estimateReceiveSecond |
Integer(8)/YES |
预计完单时长,预计完单时长,字段弃用,如需获取该时间,可调用:查询订单ETA 接口 |
-1 |
interestDtoList |
Object[]/YES |
增值服务列表 |
|
参数 |
类型/是否必传 |
说明 |
示例 |
type |
Integer(8)/YES |
费用类型 |
1 |
des |
String(8)/YES |
费用描述 |
里程费 |
fee |
Integer(8)/YES |
费用金额,单位:分 |
1400 |
参数 |
类型/是否必传 |
说明 |
示例 |
type |
Integer(8)/YES |
增值服务类型,详见下方增值服务明细枚举 |
1 |
desc |
String(8)/YES |
增值服务名称 |
蛋糕尊享送 |
status |
Integer(8)/YES |
状态,1:使用;0:不使用 |
1 |
subDesc |
String/NO |
权益明细 |
优先接单,取件超时赔 |
物品类型标签 |
物品类型标签名称 |
1 |
文件 |
3 |
数码 |
5 |
蛋糕 |
6 |
餐饮 |
7 |
鲜花 |
9 |
汽配 |
10 |
其他 |
12 |
母婴 |
13 |
医药健康 |
15 |
商超 |
16 |
水果 |
蛋糕尺寸 |
蛋糕尺寸名称 |
1 |
4寸 |
2 |
6寸 |
3 |
8寸 |
4 |
10寸 |
5 |
12寸 |
6 |
14寸 |
7 |
16寸 |
8 |
20寸 |
9 |
多层 |
10 |
18寸 |
类型 |
描述 |
1 |
闪送 |
2 |
百度外卖 |
3 |
饿了么外卖 |
4 |
美团外卖 |
5 |
其他平台 |
6 |
京东到家 |
7 |
达达 |
8 |
饿百 |
类型 |
描述 |
1 |
里程费 |
2 |
续重费 |
3 |
交通费 |
7 |
夜间费 |
8 |
上门费 |
9 |
加价费 |
10 |
溢价费 |
12 |
跨江费 |
15 |
保价费 |
16 |
平台服务费 |
18 |
预约费 |
21 |
偏远地区费 |
24 |
增值服务费 |
25 |
服务费 |
26 |
加价调度费 |
108 |
尊享送服务费 |
clientId:sssHhHPkzCNWG1sFs
shopId:20000000000001715
timestamp:1634095503814
data:{"cityName":"北京市","sender":{"fromAddress":"东升科技国际园","fromAddressDetail":"2层202","fromSenderName":"小闪","fromMobile":"13800000000","fromLatitude":"40.047858","fromLongitude":"116.378424"},"receiverList":[{"expectStartTime":"1728577900000","expectEndTime":"1728581500000","orderNo":"C1119A000013053981","toAddress":"永泰庄地铁站","toAddressDetail":"1楼","toLatitude":"40.043612","toLongitude":"116.361199","toReceiverName":"小送","toMobile":"13800000001","goodType":5,"weight":2,"remarks":"不要加蒜 取餐号:P10222菜品","additionFee":500,"insurance":200,"insuranceProId":"SS_baofei_001","orderingSourceType":4,"orderingSourceNo":"MT001"}],"appointType":0,"appointmentDate":"","storeId":392907,"travelWay":0,"deliveryType":1}
sign:0B80707C9DD5D94ECA063682085D36AA
{
"status": 200,
"msg": null,
"data": {
"totalDistance": 14200,
"totalWeight": 5,
"orderNumber": "TDH2022082318101307",
"feeInfoList": [
{
"fee": 2500,
"des": "里程费",
"type": 1
},
{
"fee": 50,
"des": "夜间费",
"type": 7
},
{
"fee": 300,
"des": "跨江费",
"type": 12
},
{
"fee": 2000,
"des": "保价费",
"type": 15
},
{
"fee": 200,
"des": "增值服务费",
"type": 24
}
],
"totalAmount": 5050,
"couponSaveFee": 0,
"dynamicSubsidyAmount": 0,
"totalFeeAfterSave": 5050,
"expectReceiveTime": null,
"estimateGrabSecond": -1,
"estimateReceiveSecond": -1,
"interestDtoList": [
{
"type": 15,
"desc": "保价",
"status": 1
},
]
}
}
1、经纬度是否在正确的范围内;
2、物品重量需要传整型,不要传小数;
3、金额单位是分,需要传能被100整除的数;
4、CityAttr is null:Billing_Type:可是能测试环境的城市没有配计费规则,请切换到北京测试,不影响线上使用;可能是正式环境该城市没有开通闪送服务,请去开放平台文档中查询开城城市;