Commit 493bf590124441dcf4a0afea747c889684aa60d4

Authored by 王富国
1 parent 12fb2199
Exists in master

feat:增加百腾对接文档

Showing 1 changed file with 507 additions and 0 deletions   Show diff stats
order/ld/baiteng/order.md 0 → 100644
@@ -0,0 +1,507 @@ @@ -0,0 +1,507 @@
  1 +
  2 +
  3 +[toc]
  4 +
  5 +### 则一订单对接API
  6 +
  7 +则一提供了不同规范的API,调用则一订单服务端API前,需了解开发前须知及调用流程。本文提供了调用则一订单服务端API示例,供开发者参考。
  8 +
  9 +#### 白名单
  10 +
  11 +则一服务端API接口访问有IP白名单限制,需要接口调用方提供调用API的服务器IP地址。
  12 +
  13 +#### 数据加签
  14 +
  15 +采用md5(32位小写)算法生成签名
  16 +appKey(则一提供) + appSecret(则一提供) + timestamp(当前时间戳毫秒) + nonce(6位随机码大小写字母数子组合) + data(请求数据)
  17 +
  18 +
  19 +##### 接口信息
  20 +
  21 +#### 下单
  22 +
  23 +则一调用该接口下单给承运商
  24 +
  25 +##### 调用方式
  26 +
  27 +则一 ----> 百腾
  28 +
  29 +##### 接口信息
  30 +
  31 +###### 请求方式:
  32 +
  33 +post
  34 +
  35 +###### 请求地址:
  36 +
  37 +百腾提供
  38 +
  39 +示例:
  40 +* 生产:https://example.com/order/add
  41 +* 测试:https://test.example.com/order/add
  42 +
  43 +###### Headers参数
  44 +
  45 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  46 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  47 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  48 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  49 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  50 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
  51 +
  52 +###### Body参数(application/json)
  53 +
  54 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  55 +|-------------------------------------------------|---------------|----------------------------|---------------------|------------------------------------------------|
  56 +| expressCode | String | 是      | test20231226001 | 运单号 |
  57 +| actualTotalCapacity | Number | 否 | 28.5 | 体积(立方米) |
  58 +| actualTotalQuantity | Integer | 否 | 100 | 包裹件数 |
  59 +| actualTotalWeight | Number | 否 | 12000.5 | 重量(kg) |
  60 +| cargoDesc | String | 是 | 西蒙面板 蓝色 | 货物描述 |
  61 +| deliverType | String | 是 | 10 | 配送类型 |
  62 +| expressDeliveryType | String | 否 | EN0215 | 快递配送类型大类,配送类型对应的枚举值编码 |
  63 +| entityWarehouseCode | String | 是 | N01 | 寄件仓库编码 |
  64 +| entityWarehouseName | String | 是 | 北京 | 寄件仓库名称 |
  65 +| orderDate | String | 是 | 2023-04-01 00:00:00 | 下单时间 |
  66 +| productList | Array[Object] | 是 | | 货物信息 |
  67 +|     customerProductCode | String | 是 | 7813800017 | 产品编码 |
  68 +|     customerProductDescription | String | 是 | 西蒙面板 蓝色 | 产品名称 |
  69 +|     quantity | Integer | 是 | 20 | 数量 |
  70 +|     sourceLineId | String | 是 | 21ae50110 | 产品明细行号 |
  71 +|     vin | String | 是 | A89329003kACD | 车架号 整车业务填写 |
  72 +|     brandName | String | 是 | 西蒙面板 | 品牌 整车必填 |
  73 +|     modelName | String | 是 | 西蒙面板 | 型号 整车必填 |
  74 +|     color | String | 是 | 蓝色 | 颜色 |
  75 +| productType | Integer | 否 | 160 | 快件产品类别 (可根据需要定制扩展) 1、生鲜,食品 |
  76 +| remark | String | 否 | 需要雨布和尾板 | 备注 |
  77 +| returnRoute | Integer | 否 | 1 | 是否需要返回路由 1、是 2,否 |
  78 +| returnOrder | Integer | 否 | 1 | 是否需要签回单,1:纸质返单,2:电子返单,3:纸质+电子,0:不需要 |
  79 +| returnTrackingRemark | String | 否 | 签名 | 签回单要求 |
  80 +| returnTrackingRemarkEnum | String | 否 | | 签回单要求枚举编码 |
  81 +| vin | String | 否 | | 车架号(整车业务必填) |
  82 +| deliveryTruckNo | String | 否 | | 派车单号(整车业务必填) |
  83 +| packageService | String | 否 | | 包裹编号丹鸟一单多件需要分多次下单,需要传包裹号 |
  84 +| platformOrderCode | String | 否 | | 平台订单编码 电商用 |
  85 +| platformShipmentNo | String | 否 | | 平台发货单号 电商用 |
  86 +| templateUrl | String | 否 | http://sss.com/xxx | 标准模板URL 电商用 |
  87 +| shopNick | String | 否 | | 店铺名称 电商用 |
  88 +| shopCode | String | 否 | | 店铺编码 快手必填 |
  89 +| senderInfo | Object | 是 | | 发件人信息 |
  90 +|     countryName | String | 是 | 中国 | 国家名称 |
  91 +|     provinceName | String | 是 | 上海 | 省份名 |
  92 +|     cityName | String | 是 | 上海市 | 城市名 |
  93 +|     countyName | String | 是 | 青浦区 | 区域名称 |
  94 +|     detailAddress | String | 是 | 空港物流园八街七号(中心仓) | 详细地址 |
  95 +|     company | String | 否 | 则一 | 公司 |
  96 +|     name | String | 是 | 张三 | 姓名 |
  97 +|     mobile | String | 是 | 18801000001 | 手机号 |
  98 +|     tel | String | 否 | 0219909292 | 电话号码 |
  99 +| receiverInfo | Object | 是 | | 收件人信息 |
  100 +|     countryName | String | 是 | 中国 | 国家名称 |
  101 +|     provinceName | String | 是 | 北京 | 省份名 |
  102 +|     cityName | String | 是 | 北京市 | 城市名 |
  103 +|     countyName | String | 是 | 朝阳区 | 区域名称 |
  104 +|     detailAddress | String | 是 | 空港物流园八街七号(中心仓) | 详细地址 |
  105 +|     company | String | 否 | | 公司 |
  106 +|     name | String | 是 | 张三 | 姓名 |
  107 +|     mobile | String | 是 | 18801000001 | 手机号 |
  108 +|     tel | String | 否 | 0219909292 | 电话号码 |
  109 +| extendPropertites | Object | 否 | | 附加属性 |
  110 +|     addedService | Array[object] | 否 | | 增值服务 |
  111 +|        name | String | 否 | 20 | 增值服务名称 |
  112 +|        value | String | 否 | 20 | 增值服务代码 |
  113 +|        value1 | String | 否 | 20 | 增值服务代码 |
  114 +|        value2 | String | 否 | 20 | 增值服务代码 |
  115 +|        value3 | String | 否 | | 增值服务代码 |
  116 +|        value4 | String | 否 | | 增值服务代码 |
  117 +|        value5 | String | 否 | | 增值服务代码 |
  118 +|     identification | String | 否 | | 寄件人证件号码 |
  119 +|     identificationType | String | 否 | | 寄件人证件类型,1:居民身份证 ;2:港澳居民来往内地 |
  120 +|     regionAnalysis | String | 否 | | 添加此字段表示开通行政区域解析功能:0:关闭 1:开通行政区域解析功能 4:开通行政解析功能 |
  121 +|     singBackInfo | String | 否 | | 把枪信息 |
  122 +|        remRfCode | String | 否 | | 把枪备注提示code |
  123 +|        remRfMsg | String | 否 | | 把枪备注提示信息 |
  124 +|     isvClientCode | String | 否 | | 独立顾客编码 |
  125 +
  126 +###### 返回值
  127 +
  128 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  129 +|---------------------------------------------------|----------------|----------------------------|--------------|------------------------|
  130 +| flag | Boolean | 是      | true | 成功标志 |
  131 +| code | Integer | 是 | 200 | 返回码 200成功,3000承运商异常 |
  132 +| message | String | 是 | 成功 | 说明 |
  133 +| value | Object | 是 | | 返回值 |
  134 +|     mailno | String | 是 | Y0010101001 | 承运商单号 |
  135 +|     returnMailno | String | 是 | Y0010101001 | 承运商返回单号 |
  136 +|     orderDetails | Array [object] | 是 | | 货物描述 |
  137 +|       forwardMailNo | String | 是 | Y0010101001 | 承运商单号 |
  138 +|       isReturnFlag | String | 是 | 0 | 是否为返单数据 0正常运单数据,1返回单数据 |
  139 +
  140 +
  141 +##### 请求示例
  142 +
  143 +```json
  144 +{
  145 + "expressCode": "hxtest20231226001",
  146 + "actualTotalCapacity": 10,
  147 + "actualTotalQuantity": 1,
  148 + "actualTotalWeight": 1,
  149 + "cargoDesc": "西蒙面板 蓝色",
  150 + "customerNumber": "hxtest20231226001",
  151 + "deliverType": 10,
  152 + "expressDeliveryType":"EN0215",
  153 + "entityWarehouseCode": "N01",
  154 + "entityWarehouseName": "北京",
  155 + "orderDate": "2023-04-01 00:00:00",
  156 + "productList": [
  157 + {
  158 + "customerProductCode": "7813800017",
  159 + "customerProductDescription": "西蒙面板 蓝色",
  160 + "quantity": 10,
  161 + "sourceLineId": "b629f33b-b205-458e-a388-12712b488445"
  162 + }
  163 + ],
  164 + "productType": 160,
  165 + "remark": null,
  166 + "returnMailno": null,
  167 + "returnRoute": 1,
  168 + "returnOrder": 1,
  169 + "returnTrackingRemark": "签名",
  170 + "returnTrackingRemarkEnum": "",
  171 + "subMailno": null,
  172 + "verificationCode": "SHOW_ED",
  173 + "senderInfo": {
  174 + "countryName": "中国",
  175 + "cityName": "北京市",
  176 + "company": null,
  177 + "countyName": "顺义区",
  178 + "detailAddress": "空港物流园八街七号(中心仓)",
  179 + "mobile": "13910568648",
  180 + "name": "刘浩",
  181 + "provinceName": "北京",
  182 + "tel": "13910568648"
  183 + },
  184 + "extendPropertites": {
  185 + "addedService": [
  186 + {
  187 + "name": "20",
  188 + "value": "20",
  189 + "value1": "20",
  190 + "value2": "20"
  191 + }
  192 + ],
  193 + "identification": null,
  194 + "identificationType": null,
  195 + "regionAnalysis": null,
  196 + "singBackInfo": {
  197 + "remRfCode": null,
  198 + "remRfMsg": null
  199 + },
  200 + "valinsPay": null
  201 + },
  202 + "receiverInfo": {
  203 + "countryName": "中国",
  204 + "cityName": "北京市",
  205 + "company": null,
  206 + "countyName": "东城区",
  207 + "detailAddress": "北京北京市东城区123",
  208 + "mobile": "07115112227",
  209 + "name": "杨",
  210 + "provinceName": "北京",
  211 + "tel": "07115112227"
  212 + }
  213 +}
  214 +```
  215 +
  216 +##### 返回示例
  217 +
  218 +```json
  219 +{
  220 + "flag": true,
  221 + "code": 200,
  222 + "value": {
  223 + "mailno": "ZY1160307865367",
  224 + "returnMailno": "ZY1200030442093",
  225 + "orderDetails": [
  226 + {
  227 + "forwardMailNo": "ZY1160307865367",
  228 + "isReturnFlag": "0"
  229 + }
  230 + ]
  231 + },
  232 + "message": "成功"
  233 +}
  234 +```
  235 +
  236 +#### 取消订单
  237 +
  238 +则一调用该接口取消已下发给承运商的订单
  239 +
  240 +##### 调用方式
  241 +
  242 +则一 ----> 百腾
  243 +
  244 +##### 接口信息
  245 +
  246 +###### 请求方式:
  247 +
  248 +post
  249 +
  250 +###### 请求地址:
  251 +
  252 +百腾提供
  253 +
  254 +示例:
  255 +* 生产:https://example.com/order/cancel
  256 +* 测试:https://test.example.com/order/cancel
  257 +
  258 +###### Headers参数
  259 +
  260 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  261 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  262 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  263 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  264 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  265 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
  266 +
  267 +###### Body参数(application/json)
  268 +
  269 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  270 +|-------------------|----------------|----------------------------|---------------------|-------------|
  271 +| mailno | String | 是      | Z20251226001 | 承运商单号 |
  272 +| customerNumber | String | 是 | test20251226001 | 运输单号 |
  273 +| reason | String | 是 | 任务取消,不发运了 | 取消原因 |
  274 +| vin | String | 否 | ZOBS89000921C | 车架号(整车业务必填) |
  275 +| optionDate | String | 是 | 2025-12-01 00:00:00 | 操作时间 |
  276 +
  277 +
  278 +###### 返回值
  279 +
  280 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  281 +|-------------------------------------|----------------|----------------------------|---------------|---------------------|
  282 +| flag | Boolean | 是      | true | 成功标志 |
  283 +| code | Integer | 是 | 200 | 返回码 200成功,3000承运商异常 |
  284 +| message | String | 是 | 成功 | 说明, 取消失败时,返回具体失败原因 |
  285 +| value | Object | 是 | | 返回值 |
  286 +|     mailno | String | 是 | Y0010101001 | 承运商单号 |
  287 +|     customerNumber | String | 是 | Y0010101001 | 运输单号 |
  288 +
  289 +
  290 +##### 请求示例
  291 +
  292 +```json
  293 +{
  294 + "optionDate": "2025-12-01 00:00:00",
  295 + "reason": "任务取消,不发运了",
  296 + "mailno": "Z20251226001",
  297 + "customerNumber": "test20251226001",
  298 + "vin": "ZOBS89000921C"
  299 +}
  300 +```
  301 +
  302 +##### 返回示例
  303 +
  304 +```json
  305 +{
  306 + "flag": true,
  307 + "code": 200,
  308 + "value": {
  309 + "mailno": "Z20251226001",
  310 + "customerNumber": "test12000302093"
  311 + },
  312 + "message": "成功"
  313 +}
  314 +```
  315 +
  316 +#### 路由回传
  317 +
  318 +承运商调用该接口传输运输路由节点信息
  319 +
  320 +##### 调用方式
  321 +
  322 +百腾 ----> 则一
  323 +
  324 +##### 接口信息
  325 +
  326 +###### 请求方式:
  327 +
  328 +post
  329 +
  330 +###### 请求地址:
  331 +
  332 +* 生产:https://gw.shjiuze.cn/oms-service-api/baiTengOrder/routePush
  333 +* 测试:https://test.shjiuze.cn/oms-service-api/baiTengOrder/routePush
  334 +
  335 +###### Headers参数
  336 +
  337 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  338 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  339 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  340 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  341 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  342 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
  343 +
  344 +###### Body参数(application/json)
  345 +
  346 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  347 +|---------------------| ------ |---------------------------|---------------------|----------------|
  348 +| mailno | String | 是 | Z20251226001 | 承运商运单号 |
  349 +| scanTypeCode | String | 是     | 80 | 路由类型编码, 见附录1 |
  350 +| operator | String | 是 | 张三 | 操作人 |
  351 +| time | String | 是 | 2025-12-01 00:00:00 | 时间 |
  352 +| plannedDeliveryDate | String | 是 | 2025-12-02 00:00:00 | 预计到货时间(整车运输必填) |
  353 +| transferAddress | String | 是 | 上海市青浦区纪鹤公路1988号 | 路由地点 |
  354 +| memo | String | 是 | | 路由信息 |
  355 +| vinCode | String | 否 | ZOBS89000921C | VIN码 |
  356 +| longitude | String | 否 | 113.465168 | 经度 |
  357 +| dimension | String | 否 | 31.664137 | 纬度 |
  358 +
  359 +###### 返回值
  360 +
  361 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  362 +|-------------------------------------|----------------|----------------------------|---------------|---------------------|
  363 +| flag | Boolean | 是      | true | 成功标志 |
  364 +| code | Integer | 是 | 200 | 返回码 200成功,3000承运商异常 |
  365 +| message | String | 是 | 成功 | 说明 |
  366 +
  367 +##### 请求示例
  368 +
  369 +```json
  370 + {
  371 + "mailno": "Z20251226001",
  372 + "scanTypeCode": "80",
  373 + "operator": "张三",
  374 + "time": "2025-12-01 00:00:00",
  375 + "plannedDeliveryDate": "2025-12-02 00:00:00",
  376 + "transferAddress": "上海市青浦区纪鹤公路1988号",
  377 + "memo": "",
  378 + "vinCode": "ZOBS89000921C",
  379 + "longitude": "113.465168",
  380 + "dimension": "31.664137"
  381 +}
  382 +```
  383 +
  384 +##### 返回示例
  385 +
  386 +```json
  387 +{
  388 + "code": 200,
  389 + "message": "响应成功",
  390 + "flag": true
  391 +}
  392 +```
  393 +
  394 +
  395 +#### 路由回传
  396 +
  397 +承运商调用该接口传输运输路由节点信息
  398 +
  399 +##### 调用方式
  400 +
  401 +百腾 ----> 则一
  402 +
  403 +##### 接口信息
  404 +
  405 +###### 请求方式:
  406 +
  407 +post
  408 +
  409 +###### 请求地址:
  410 +
  411 +* 生产:https://gw.shjiuze.cn/oms-service-api/baiTengOrder/sign
  412 +* 测试:https://test.shjiuze.cn/oms-service-api/baiTengOrder/sign
  413 +
  414 +###### Headers参数
  415 +
  416 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  417 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  418 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  419 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  420 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  421 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
  422 +
  423 +###### Body参数(application/json)
  424 +
  425 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  426 +|---------------------------------|----------------|---------------------------|---------------------------------|--------------------------------------------------|
  427 +| mailno | String | 是 | Z20251226001 | 承运商运单号 |
  428 +| imageType | String | 是     | imageUrl | 图片内容格式类型, imageBase64-图片的base字符串,imageUrl-图片的url |
  429 +| imageInfos | Array [Object] | 是 | | 图片信息 |
  430 +|     imageName | String | 是 | 回单照片 | 图片名称 |
  431 +|     extendName | String | 是 | jpg | 图片扩展名 |
  432 +|     imageContent | String | 是 | https://shjiuze.cn/xxx/xxx.jpg | 图片内容 |
  433 +|     imageSize | String | 否 | | 图片大小 |
  434 +
  435 +
  436 +###### 返回值
  437 +
  438 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  439 +|-------------------------------------|----------------|----------------------------|---------------|---------------------|
  440 +| flag | Boolean | 是      | true | 成功标志 |
  441 +| code | Integer | 是 | 200 | 返回码 200成功,3000承运商异常 |
  442 +| message | String | 是 | 成功 | 说明 |
  443 +
  444 +##### 请求示例
  445 +
  446 +```json
  447 + {
  448 + "mailno": "Z20251226001",
  449 + "imageType": "imageUrl",
  450 + "imageInfos": [
  451 + {
  452 + "imageName": "回单照片",
  453 + "extendName": "jpg",
  454 + "imageContent": "https://shjiuze.cn/xxx/xxx.jpg"
  455 + }
  456 + ]
  457 +}
  458 +```
  459 +
  460 +##### 返回示例
  461 +
  462 +```json
  463 +{
  464 + "code": 200,
  465 + "message": "响应成功",
  466 + "flag": true
  467 +}
  468 +```
  469 +
  470 +### 附录一
  471 +路由节点类型
  472 +001: 签收
  473 +100: 到达
  474 +80:汽运-启运
  475 +81:汽运-在途
  476 +82:汽运-派送
  477 +83:空运-航班信息
  478 +84:空运-起飞时间
  479 +85:空运-降落时间
  480 +86:空运-提货时间
  481 +87:空运-派送时间
  482 +101:入站
  483 +102:分配派送员
  484 +103:妥投
  485 +104:滞留
  486 +105:拒收
  487 +89: 到达目的城市
  488 +90: 空运-入目的库
  489 +91: 空运-出目的库
  490 +92:汽运-中转库入库
  491 +93:汽运-中转库出库
  492 +94:汽运-入目的库
  493 +95:汽运-出目的库
  494 +96:汽运-装车
  495 +97:汽运-发运
  496 +98:汽运-中转装车
  497 +99:汽运-中转发运
  498 +002: 签收异常
  499 +
  500 +### Java-sdk下载
  501 +
  502 +[zy-java-sdk](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)
  503 +
  504 +
  505 +### 2025-12-01更新日志
  506 +
  507 +新增
0 \ No newline at end of file 508 \ No newline at end of file