方向:青云聚信系统→配送商系统
用途:发单。接口需支持幂等,支持不调用询价接口直接调用该接口。若青云聚信系统发单前询过价格,会带着询价返回的配送费(非优惠后的配送费)进行发单,配送商可自行取用,用于判断发单价格和询价价格不一致时是否需要阻碍发单。若不阻碍发单,需要配送商系统后续做好和商家对询价和发单配送费不一致的解释工作。
与门店发单的区别是,发单时青云把发货地址的经纬度信息告知配送商,配送商通过经纬度计算发货地址,并基于此发单。
请求参数:
字段 | 描述 | 是否必填 | 类型 | 示例值 | 规则 |
---|---|---|---|---|---|
tradeOrderSource | 交易订单来源 | 是 | int | 详细枚举见 附录-订单来源Code | |
tradeOrderId | 交易订单号 | 否 | string | 如订单来源为美团,该字段必填,且为美团平台生成的订单号,最长不超过32个字符 | |
orderSequence | 取餐流水号 | 否 | string | ||
orderId | 青云聚信平台订单号 | 是 | string |
长度为18-45个字符。
可作为唯一识别单号,建议配送商作为商家订单号使用。 | |
serviceCode | 配送商配送服务 | 是 | string | 配送商配送服务code | |
preDeliveryFee | 询价返回的配送费用 | 否 | double | 配运费(单位:元) | |
recipientName | 收件人姓名 | 是 | string | 最长不超过256个字符 | |
recipientPhone | 收件人电话 | 是 | string | 最长不超过64个字符; | |
recipientAddress | 收件人地址 | 是 | string | 最长不超过512个字符 | |
recipientLng | 收件人经度 | 是 | int | 收件人经度(火星坐标),坐标 * (10的六次方),如 116398419 | |
recipientLat | 收件人纬度 | 是 | int | 收件人纬度(火星坐标),坐标 * (10的六次方),如 39985005 | |
prebook | 是否即时单 | 是 | int | 0-即时单;1-预约单 | |
expectedDeliveryTime | 收件人期望送达时间,建议将该时间展示给骑手 | 否 | long | 预约单时,必填。时间戳,格式为long,时区为GMT+8,即距离Epoch(1970年1月1日) 以秒计算的时间(unix-timestamp)。 | |
expectedPickupTime | 预计取货时间 | 否 | long | 时间戳,格式为long,时区为GMT+8,即距离Epoch(1970年1月1日) 以秒计算的时间(unix-timestamp)。预约单该字段必传,如果无该时间则传输为:“0” | |
insuredMark | 是否保价 | 否 | int | 0-不保价;1-保价 | |
totalValue | 货品价值 | 否 | double | 单位为元,整数,范围为0-5000。可用于保价时作保费评估。 | |
totalWeight | 物品重量 | 是 | int | 货物重量,单位为g
订单维度 | |
totalVolume | 物品体积 | 否 | int |
货物体积,单位为cm
3 订单维度 | |
riderPickMethod | 订单流向 | 否 | int | 0-从商家门店到用户;1-从用户到商家门店。(先对接,内部无场景) | |
tipFee | 小费金额 | 否 | int | 3 | 单位为元 |
goodsDetails | 物品明细 | 否 | string |
货物详情,最长不超过10240个字符,内容为JSON格式,示例如下:
[ { "count": 1, "name": "货品名称", "price": 9.99, "unit": "个", "specs":["6寸牛奶奶油鲜果蛋糕","香草"] } ] goods对应货物列表; count表示货物数量,int类型,必填且必须大于0; name表示货品名称,string类型,必填且不能为空; price表示货品单价,double类型,选填,数值不小于0,精确到小数点后两位(如果小数点后位数多于两位,则四舍五入保留两位小数); unit表示货品单位,string类型,选填,最长不超过20个字符; specs表示商品规则,List<string>类型,选填; | |
orderRemark | 订单备注,建议将该备注展示给骑手 | 否 | string | 最长不超过300个字符 | |
shopRemark | 商户备注,建议将该备注展示给骑手 | 否 | string | 最长不超过300个字符 | |
senderLng | 发件人经度 | 是 | int | 火星坐标,坐标 * (10的六次方),如 116398419 | |
senderLat | 发件人纬度 | 是 | int | 火星坐标,坐标 * (10的六次方),如 39985005 | |
senderName | 发件人姓名 | 是 | string | ||
senderContract | 发件人电话 | 是 | string | 支持格式:11位手机号,11位数字+分机号的隐私号、座机号 | |
senderAddressDetail | 发件人详细地址 | 是 | string | ||
operatorName | 下单姓名 | 是 | string | 操作人姓名 | |
operatorContract | 下单人电话 | 否 | string | 操作人电话 | |
carrierMerchantId | 承运商商户ID | 是 | string | 承运商户ID,用于承运商识别不同的结算方。 | |
extInfo | 扩展信息 | 是 | string |
订单扩展信息,json格式,线下约定不同承运商的kv结构。
最长不超过512个字符,示例如下: { "isNeedTransportation":1, // 是否需要搬运。非必传,0:不需要;1:需要。如果不传走承运商默认逻辑 "transportationCharges":9.99, // 搬运费。非必传,单元:元,double型,小数点后2位 "secondCategoryName": "鲜花", // 二级品类名称。非必传 "channelShopId": "VIP_123563245234"// 外卖在配送生成的海葵门店id } | |
carModelCode | 汽车配送车型 | 否 | string |
车型如:小面、中面等对应的code。
可根据参考拟定车型code,或者联系青云业务经理线下约定。参考 汽车配送车型Code | |
riderInfo | 扫描配送商骑手App上的骑手二维码获得骑手信息,传入后将订单指定给该骑手 | 否 | string |
| |
category | 商家经营的品类信息 | 否 | int | 详细枚举见
附录-商品经营品类Code
配送商如需接入该字段,请先联系青云产品经理添加白名单。 |
返回参数:
字段 | 描述 | 是否必填 | 类型 | 示例值 | 规则 |
---|---|---|---|---|---|
code | 结果code | 是 | int | 0 |
0:成功。
非0:失败,详情查看message字段 详细枚举见 附录-接口返回结果Code |
message | 失败的描述信息 | 是 | string | 成功 | |
data | 结果 | 是 | object |
发单结果:
字段 | 描述 | 是否必填 | 类型 | 示例值 | 规则 |
---|---|---|---|---|---|
carrierDeliveryId | 物流单号 | 是 | string | 配送商接单成功后返回的物流单号 | |
orderId | 青云聚信平台订单号 | 是 | string | ||
predictDeliveryTime | 预计送达时间 | 是 | long | 时间戳,格式为long,时区为GMT+8,即距离Epoch(1970年1月1日) 以秒计算的时间(unix-timestamp)。 | |
actualFee | 预计支付金额 | 是 | double |
预计支付金额(单位:元)
预计支付金额=配送费+保价费+小费金额-优惠金额 | |
discountFee | 优惠金额 | 否 | double | 优惠金额(单位:元) | |
insuredFee | 保价费 | 否 | double | 保价费(单位:元) | |
deliveryFee | 配送费用 | 是 | double | 配送费(单位:元) | |
tipFee | 小费金额 | 否 | int | 单位为元 | |
deliveryDistance | 配送距离 | 是 | int | 配送距离(单位:米) |