Commit 7f03dbab1ecdfa391487e8be78001e272173fcb2

Authored by 吴志飞
1 parent a45e5b22
Exists in master

feat: 上传则一订单对接API.md

Showing 1 changed file with 614 additions and 1081 deletions   Show diff stats
order/order.md
1   -
2 1  
3   -[则一订单对接API](#则一订单对接api)
4 2  
5   -[白名单](#白名单)
6   -
7   -[数据加签](#数据加签)
8   -
9   -[数据加密](#数据加密)
10   -
11   -[获取访问凭证](#获取访问凭证)
12   -
13   -[概述](#概述-1)
14   -
15   -[接口信息](#接口信息-1)
16   -
17   -[请求方式:](#请求方式-1)
18   -
19   -[请求地址:](#请求地址-1)
20   -
21   -[Body参数](#body参数-1)
22   -
23   -[返回参数](#返回参数)
24   -
25   -[请求示例](#请求示例-1)
26   -
27   -[Http方式](#http方式)
28   -
29   -[Java-sdk方式 下载SDK](#java-sdk方式---下载sdk-1)
30   -
31   -[返回示例](#返回示例-1)
32   -
33   -[下单](#下单)
34   -
35   -[接口信息](#接口信息-2)
36   -
37   -[请求方式:](#请求方式-2)
38   -
39   -[请求地址:](#请求地址-2)
40   -
41   -[Headers参数](#headers参数-1)
42   -
43   -[Body参数](#body参数-2)
44   -
45   -[请求示例](#请求示例-2)
46   -
47   -[Java-sdk方式 下载SDK](#java-sdk方式----下载sdk)
48   -
49   -[返回示例](#返回示例-2)
50   -
51   -[确认中标](#确认中标)
52   -
53   -[接口信息](#接口信息-3)
54   -
55   -[请求方式:](#请求方式-3)
56   -
57   -[请求地址:](#请求地址-3)
58   -
59   -[Headers参数](#headers参数-2)
60   -
61   -[Body参数](#body参数-3)
62   -
63   -[请求示例](#请求示例-3)
64   -
65   -[Java-sdk方式 下载SDK](#java-sdk方式---下载sdk-2)
66   -
67   -[返回示例](#返回示例-3)
68   -
69   -[取消订单](#取消订单)
70   -
71   -[接口信息](#接口信息-4)
72   -
73   -[请求方式:](#请求方式-4)
74   -
75   -[请求地址:](#请求地址-4)
76   -
77   -[Headers参数](#headers参数-3)
78   -
79   -[Body参数](#body参数-4)
80   -
81   -[请求示例](#请求示例-4)
82   -
83   -[Java-sdk方式 下载SDK](#java-sdk方式---下载sdk-3)
84   -
85   -[返回示例](#返回示例-4)
86   -
87   -[查询车辆定位](#查询车辆定位)
88   -
89   -[接口信息](#接口信息-5)
90   -
91   -[概述](#概述-2)
92   -
93   -[请求方式:](#请求方式-5)
94   -
95   -[请求地址:](#请求地址-5)
96   -
97   -[Headers参数](#headers参数-4)
98   -
99   -[Body参数](#body参数-5)
100   -
101   -[请求示例](#请求示例-5)
102   -
103   -[Java-sdk方式 下载SDK](#java-sdk方式---下载sdk-4)
104   -
105   -[返回示例](#返回示例-5)
106   -
107   -[查询车辆历史轨迹](#查询车辆历史轨迹)
108   -
109   -[接口信息](#接口信息-6)
110   -
111   -[概述](#概述-3)
112   -
113   -[请求方式:](#请求方式-6)
114   -
115   -[请求地址:](#请求地址-6)
116   -
117   -[Headers参数](#headers参数-5)
118   -
119   -[Body参数](#body参数-6)
120   -
121   -[请求示例](#请求示例-6)
122   -
123   -[Java-sdk方式 下载SDK](#java-sdk方式---下载sdk-5)
124   -
125   -[返回示例](#返回示例-6)
126   -
127   -[查询订单操作记录](#查询订单操作记录)
128   -
129   -[接口信息](#接口信息-7)
130   -
131   -[概述](#概述-4)
132   -
133   -[请求方式:](#请求方式-7)
134   -
135   -[请求地址:](#请求地址-7)
136   -
137   -[Headers参数](#headers参数-6)
138   -
139   -[Body参数](#body参数-7)
140   -
141   -[请求示例](#请求示例-7)
142   -
143   -[Java-sdk方式 下载SDK](#java-sdk方式---下载sdk-6)
144   -
145   -[返回示例](#返回示例-7)
146   -
147   -[以下接口需要对接方提供](#以下接口需要对接方提供)
148   -
149   -[报价接口](#报价接口)
150   -
151   -[接口信息](#接口信息-8)
152   -
153   -[概述](#概述-5)
154   -
155   -[请求方式:](#请求方式-8)
156   -
157   -[请求路径:](#请求路径-1)
158   -
159   -[Body参数](#body参数-8)
160   -
161   -[返回示例](#返回示例-8)
162   -
163   -[接单接口](#接单接口)
164   -
165   -[接口信息](#接口信息-9)
166   -
167   -[概述](#概述-6)
168   -
169   -[请求方式:](#请求方式-9)
170   -
171   -[请求路径:](#请求路径-2)
172   -
173   -[Body参数](#body参数-9)
174   -
175   -[推送司机车辆信息](#推送司机车辆信息)
176   -
177   -[接口信息](#接口信息-10)
178   -
179   -[概述](#概述-7)
180   -
181   -[请求方式:](#请求方式-10)
182   -
183   -[请求路径:](#请求路径-3)
184   -
185   -[Body参数](#body参数-10)
186   -
187   -[返回示例](#返回示例-9)
188   -
189   -[推送发车信息](#推送发车信息)
190   -
191   -[接口信息](#接口信息-11)
192   -
193   -[概述](#概述-8)
194   -
195   -[请求方式:](#请求方式-11)
196   -
197   -[请求路径:](#请求路径-4)
198   -
199   -[Body参数](#body参数-11)
200   -
201   -[返回示例](#返回示例-10)
202   -
203   -[推送到车信息](#推送到车信息)
204   -
205   -[接口信息](#接口信息-12)
206   -
207   -[概述](#概述-9)
208   -
209   -[请求方式:](#请求方式-12)
210   -
211   -[请求路径:](#请求路径-5)
212   -
213   -[Body参数](#body参数-12)
214   -
215   -[返回示例](#返回示例-11)
216   -
217   -[Java-sdk下载](#java-sdk下载)
218   -
219   -[2022-03-09更新日志](#2022-03-09更新日志)
220   -
221   -**则一订单对接API**
  3 +### 则一订单对接API
222 4  
223 5 则一提供了不同规范的API,调用则一订单服务端API前,需了解开发前须知及调用流程。本文提供了调用则一订单服务端API示例,供开发者参考。
224 6  
225   -**白名单**
  7 +#### 白名单
226 8  
227 9 则一服务端API接口访问有IP白名单限制,需要接口调用方提供调用API的服务器IP地址。
228 10  
229   -**数据加签**
  11 +#### 数据加签
230 12  
231 13 采用md5(32位小写)算法生成签名
232   -
233 14 appKey(则一提供) + appSecret(则一提供) + timestamp(当前时间戳毫秒) + nonce(6位随机码大小写字母数子组合) + data(请求数据)
234 15  
235   -**数据加密**
  16 +#### 数据加密
236 17  
237 18 数据加密采用AES算法
238   -
239 19 加密模式: CBC
240   -
241 20 填充方式:PKCS5Padding
242   -
243 21 偏移量:iv(则一提供)
244   -
245 22 加密内容:appKey(则一提供) + timestamp(当前时间戳毫秒) + nonce(6位随机码大小写字母数子组合) + data(加密数据)
246   -
247 23 密钥: appSecret(则一提供)
248   -
249 24 输出:base64
250   -
251 25 字符集:utf-8
252   -
253 26 注:无敏感数据则无需加密
254 27  
255   -**获取访问凭证**
  28 +#### 获取访问凭证
256 29  
257   -**概述**
  30 +##### 概述
258 31  
259 32 调用则一服务API时,都需要先获取对应权限类型的访问凭证accessToken。访问凭证(accessToken)是由则一权限系统颁发的,用来校验调用者的身份信息,确保调用者具有要执行的操作的权限。
260   -
261 33 **说明**: 在使用accessToken时,请注意:
262 34  
263   -- accessToken的有效期默认为30天,有效期内重复获取会返回相同结果,过期后获取会返回新的accessToken。
264   -- 开发者需要缓存accessToken,用于后续接口的调用。不能频繁调用获取accessToken接口,否则会受到频率拦截。
265   -- 当调用业务API时,如果返回状态码为401,则说明accessToken不正确或已过期,这时需要重新获取accessToken后再调用对应的API。
  35 +* accessToken的有效期默认为30天,有效期内重复获取会返回相同结果,过期后获取会返回新的accessToken。
  36 +* 开发者需要缓存accessToken,用于后续接口的调用。不能频繁调用获取accessToken接口,否则会受到频率拦截。
  37 +* 当调用业务API时,如果返回状态码为401,则说明accessToken不正确或已过期,这时需要重新获取accessToken后再调用对应的API。
266 38  
267   -**接口信息**
  39 +##### 接口信息
268 40  
269   -**请求方式:**
  41 +###### 请求方式:
270 42  
271 43 post
272 44  
273   -**请求地址:**
  45 +###### 请求地址:
274 46  
275   -- 生产:<https://gw.shjiuze.cn/auth-service-api/login/password>
276   -- 测试:<https://test.shjiuze.cn/auth-service-api/login/password>
  47 +* 生产:https://gw.shjiuze.cn/auth-service-api/login/password
  48 +* 测试:https://test.shjiuze.cn/auth-service-api/login/password
277 49  
278   -**Body参数**
  50 +###### Body参数
279 51  
280   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
281   -| :- | :- | :- | :- | :- |
282   -|username|String|是|zhangsan|用户名,则一提供|
283   -|password|String|是|password123|密码,则一提供|
284   -**返回参数**
  52 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  53 +| -------- | ------ | ---- | ----------- | ---------------- |
  54 +| username | String | 是 | zhangsan | 用户名,则一提供 |
  55 +| password | String | 是 | password123 | 密码,则一提供 |
285 56  
286   -|**名称**|**类型**|**示例值**|**描述**|
287   -| :- | :- | :- | :- |
288   -|success|boolean|true|成功标识: true 成功,false 失败|
289   -|businessException|boolean|false|业务异常标识: true 业务异常,false 正常|
290   -|errorCode|String|200|错误码: 200 业务异常,500 系统异常, 空表示无错误|
291   -|message|String|订单号不能为空|错误信息,无错误则返回空|
292   -|result|ZYTokenDto| |accessToken结果数据|
293   -|`    `accessToken|String|000626f15b4b41bba6fe56216a5d2f73|accessToken|
294   -|`    `expiresIn|Integer|2060|有效期限单位秒,accessToken在2060秒后过期|
295   -|`    `tokenType|String|bearer|token类型|
296   -**请求示例**
  57 +###### 返回参数
297 58  
298   -**Http方式**
  59 +| 名称 | 类型 | 示例值 | 描述 |
  60 +| ------------------------------ | ---------- | -------------------------------- | -------------------------------------------------- |
  61 +| success | boolean | true | 成功标识: true 成功,false 失败 |
  62 +| businessException | boolean | false | 业务异常标识: true 业务异常,false 正常 |
  63 +| errorCode | String | 200 | 错误码: 200 业务异常,500 系统异常, 空表示无错误 |
  64 +| message | String | 订单号不能为空 | 错误信息,无错误则返回空 |
  65 +| result | ZYTokenDto | | accessToken结果数据 |
  66 +| &nbsp;&nbsp;&nbsp; accessToken | String | 000626f15b4b41bba6fe56216a5d2f73 | accessToken |
  67 +| &nbsp;&nbsp;&nbsp; expiresIn | Integer | 2060 | 有效期限单位秒,accessToken在2060秒后过期 |
  68 +| &nbsp;&nbsp;&nbsp; tokenType | String | bearer | token类型 |
299 69  
  70 +##### 请求示例
300 71  
  72 +###### Http方式
301 73  
  74 +```http
302 75 POST /auth-service-api/login/password HTTP/1.1
303   -
304 76 Host:test.shjiuze.cn
305   -
306 77 Content-Type:application/json
307 78  
308 79 {
309   -
310   -` `"username" : "zeyi",
311   -
312   -` `"password" : "test1111"
313   -
  80 + "username" : "zeyi",
  81 + "password" : "test1111"
314 82 }
  83 +```
315 84  
316   -**Java-sdk方式 [下载SDK**](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)**
317   -
318   -
  85 +###### Java-sdk方式 [下载SDK](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)
319 86  
  87 +```java
320 88 public class Sample {
321   -
322   -`    `public static void main(String[] args\_) {
323   -
324   -`        `String appKey = "appkey";
325   -
326   -`        `String appSecret = "appSecret";
327   -
328   -`        `ZYClient zyClient = new ZYClient(appKey, appSecret);
329   -
330   -`        `ZYTokenRequestDto zyTokenRequest = new ZYTokenRequestDto();
331   -
332   -`        `zyTokenRequest.setUsername("zeyi");
333   -
334   -`        `zyTokenRequest.setPassword("test1111");
335   -
336   -`        `String body = gson.toJson(zyTokenRequest);
337   -
338   -`        `HttpResponseData httpResponseData = zyClient.doPost(Constants.TEST\_HOST + Constants.TOKEN\_PATH, body);
339   -
340   -`        `if(httpResponseData == null) {
341   -
342   -`            `throw new TokenException("则一Token请求失败,返回为空!");
343   -
344   -`       `}
345   -
346   -`        `ZYResponse<ZYTokenDto> zyResponse = gson.fromJson(httpResponseData.getBody(), new      TypeToken<ZYResponse<ZYTokenDto>>(){}.getType());
347   -
348   -`        `if(!Boolean.TRUE.equals(zyResponse.isSuccess())) {    
349   -
350   -`            `throw new TokenException("则一Token请求返回失败!" + zyResponse.getMessage());
351   -
352   -`       `}
353   -
354   -`        `if(zyResponse.getResult() == null) {    
355   -
356   -`            `throw new TokenException("则一Token请求返回失败,返回结果为空!" + zyResponse.getMessage());
357   -
358   -`       `}
359   -
360   -`        `if(StringUtils.isBlank(zyResponse.getResult().getAccessToken())) {    
361   -
362   -`            `throw new TokenException("则一Token请求返回数据异常,AccessToken为空!" + zyResponse.getMessage());
363   -
364   -`       `}
365   -
366   -`        `// 结果 zyResponse.getResult();
367   -
368   -`   `}
369   -
  89 + public static void main(String[] args_) {
  90 + String appKey = "appkey";
  91 + String appSecret = "appSecret";
  92 + ZYClient zyClient = new ZYClient(appKey, appSecret);
  93 + ZYTokenRequestDto zyTokenRequest = new ZYTokenRequestDto();
  94 + zyTokenRequest.setUsername("zeyi");
  95 + zyTokenRequest.setPassword("test1111");
  96 + String body = gson.toJson(zyTokenRequest);
  97 + HttpResponseData httpResponseData = zyClient.doPost(Constants.TEST_HOST + Constants.TOKEN_PATH, body);
  98 + if(httpResponseData == null) {
  99 + throw new TokenException("则一Token请求失败,返回为空!");
  100 + }
  101 + ZYResponse<ZYTokenDto> zyResponse = gson.fromJson(httpResponseData.getBody(), new TypeToken<ZYResponse<ZYTokenDto>>(){}.getType());
  102 + if(!Boolean.TRUE.equals(zyResponse.isSuccess())) {
  103 + throw new TokenException("则一Token请求返回失败!" + zyResponse.getMessage());
  104 + }
  105 + if(zyResponse.getResult() == null) {
  106 + throw new TokenException("则一Token请求返回失败,返回结果为空!" + zyResponse.getMessage());
  107 + }
  108 + if(StringUtils.isBlank(zyResponse.getResult().getAccessToken())) {
  109 + throw new TokenException("则一Token请求返回数据异常,AccessToken为空!" + zyResponse.getMessage());
  110 + }
  111 + // 结果 zyResponse.getResult();
  112 + }
370 113 }
  114 +```
371 115  
372   -**返回示例**
373   -
374   -
  116 +##### 返回示例
375 117  
  118 +```json
376 119 {
377   -
378   -`    `"success": true,
379   -
380   -`    `"businessException": false,
381   -
382   -`    `"errorCode": null,
383   -
384   -`    `"message": null,
385   -
386   -`    `"result": {
387   -
388   -`        `"accessToken": "64d7f367-609b-4f7d-a84d-a3d2a0b5ad85",
389   -
390   -`        `"expiresIn": 602105,
391   -
392   -`        `"tokenType": "bearer"
393   -
394   -`   `}
395   -
  120 + "success": true,
  121 + "businessException": false,
  122 + "errorCode": null,
  123 + "message": null,
  124 + "result": {
  125 + "accessToken": "64d7f367-609b-4f7d-a84d-a3d2a0b5ad85",
  126 + "expiresIn": 602105,
  127 + "tokenType": "bearer"
  128 + }
396 129 }
  130 +```
397 131  
398   -**下单**
  132 +#### 下单
399 133  
400   -**接口信息**
  134 +##### 接口信息
401 135  
402   -**请求方式:**
  136 +###### 请求方式:
403 137  
404 138 post
405 139  
406   -**请求地址:**
407   -
408   -- 生产:<https://gw.shjiuze.cn/oms-service-api/order/add>
409   -- 测试:<https://test.shjiuze.cn/oms-service-api/order/add>
410   -
411   -**Headers参数**
412   -
413   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
414   -| :- | :- | :- | :- | :- |
415   -|Authorization|String|是    |Bearer a2c5680001|调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。|
416   -|appKey|String|是|0867ef5f23ef6483749e19e1692b|则一提供|
417   -|timestamp|String|是|1643251533306|当前时间戳毫秒值|
418   -|nonce|String|是|gdst9t|6位小写字母数字组合随机串|
419   -|sign|String|是|fa3ed338d6dfe18e7273c8692234ee70|签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成|
420   -**Body参数**
421   -
422   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
423   -| :- | :- | :- | :- | :- |
424   -|customerOrderCode|String|是    |220101000001|客户订单号,订单唯一标识|
425   -|customerSn|String|否|220101000001|客户委托单号|
426   -|placeOrderTime|Number|是|1643251533306|下单时间,时间戳毫秒值|
427   -|loadTime|Number|是|1643251533306|装货时间,时间戳毫秒值|
428   -|expectArrivalTime|Number|否|1643251533306|期望送达时间,时间戳毫秒值|
429   -|receiptType|String|否|ELECTRON\_TYPE|回单类型:ELECTRON\_TYPE/电子回单,PAPER\_TYPE/纸质回单,NONE/无|
430   -|receiptNumber|Number|否|1|回单张数|
431   -|receiptCode|String|否|A2022012602278|回单号|
432   -|payType|String|否|PAY\_IN\_CASH|付款方式:PAY\_IN\_CASH/现付,PAY\_ON\_DELIVERY/到付,PAY\_ARREARS/欠付,PAY\_MONTH/月结,PAY\_BACK/回付,PAY\_MULTIPLE/多笔付,PAY\_FREE/免费|
433   -|lineName|String|否|上海-天津-北京|线路名称|
434   -|remark|String|否|需要雨布和尾板|订单备注|
435   -|station|OrderStation[]|是| |订单经停点|
436   -|`    `stationId|String|否|123abc|站点id|
437   -|`    `stationName|String|否|上海顺丰青浦站点|站点名称|
438   -|`    `provinceCode|String|否|310000|省份编号|
439   -|`    `provinceName|String|是|上海|省份名称|
440   -|`    `cityCode|String|否|310100|城市编号|
441   -|`    `cityName|String|是|上海市|城市名称|
442   -|`    `areaCode|String|否|310118|区域编号|
443   -|`    `areaName|String|是|青浦区|区域名称|
444   -|`    `address|String|是|纪鹤公路1988号|详细地址|
445   -|`    `lat|String|是|36.221825|纬度|
446   -|`    `lng|String|是|120.632908|经度|
447   -|`    `contactName|String|否|张三|联系人|
448   -|`    `contactMobile|String|否|18801000001|联系人电话|
449   -|`    `loadFlag|String|是|true|装货标识|
450   -|`    `unloadFlag|String|是|false|卸货标识|
451   -|`    `expectArrivalTime|Number|否|1643251533306|预计到达时间,时间戳毫秒值|
452   -|`    `expectDepartTime|Number|否|1643251533306|预计发车时间,时间戳毫秒值|
453   -|`    `sort|Number|否|1|经停点顺序,如果不传则默认按数组顺序|
454   -|goods|OrderGoods[]|否| |订单货物信息|
455   -|`    `barCode|String|否|21616162626|商品条码|
456   -|`    `skuId|String|否|1223233536436|商品sku\_id|
457   -|`    `name|String|是|鞋子|货物名称|
458   -|`    `packageType|String|否| |包装规格|
459   -|`    `piece|Number|否|200|件数|
460   -|`    `weight|Number|否|200000|重量|
461   -|`    `volume|Number|否|50|体积|
462   -|addService|OrderAddService[]|否| |增值服务|
463   -|`    `serviceName|String|是|包装服务|服务名称|
464   -|tags|OrderTag[]|否| |订单标签|
465   -|`  `tagName|String|是|易碎物品|标签名称|
466   -|vehicleDemands|OrderVehicleDemand[]|否| |车辆需求|
467   -|`  `demandVanType|String|是|MOTOR\_VAN|需求厢型:MOTOR\_VAN/厢车,GAOLAN\_VAN/高栏,SLAB\_VAN/平板,REFRIGERATOR\_CAR/冷藏,IVECO/依维柯,JINBEI/金杯,MINI\_VAN/小面包,ELSE\_VAN/其他|
468   -|demandSpecification|String|是|9.6|需求车型:2.7/3.8/4.2/6.8/7.6/9.6/11/12.5/13.5/15/16.5/17.5/19/21|
469   -|`  `demandNumber|Number|否|1|为空则默认1|
470   -|`  `vehicleDemand|String|否|车辆需要带雨布|车辆要求描述|
471   -**请求示例**
472   -
473   -**Java-sdk方式 [下载SDK**](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)**
474   -
475   -
476   -
  140 +###### 请求地址:
  141 +
  142 +* 生产:https://gw.shjiuze.cn/oms-service-api/order/add
  143 +* 测试:https://test.shjiuze.cn/oms-service-api/order/add
  144 +
  145 +###### Headers参数
  146 +
  147 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  148 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  149 +| Authorization | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | Bearer a2c5680001 | 调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。 |
  150 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  151 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  152 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  153 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
  154 +
  155 +###### Body参数
  156 +
  157 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  158 +| ------------------------------------- | -------------------- | -------------------------- | ---------------- | ------------------------------------------------------------ |
  159 +| customerOrderCode | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | 220101000001 | 客户订单号,订单唯一标识 |
  160 +| customerSn | String | 否 | 220101000001 | 客户委托单号 |
  161 +| placeOrderTime | Number | 是 | 1643251533306 | 下单时间,时间戳毫秒值 |
  162 +| loadTime | Number | 是 | 1643251533306 | 装货时间,时间戳毫秒值 |
  163 +| expectArrivalTime | Number | 否 | 1643251533306 | 期望送达时间,时间戳毫秒值 |
  164 +| receiptType | String | 否 | ELECTRON_TYPE | 回单类型:ELECTRON_TYPE/电子回单,PAPER_TYPE/纸质回单,NONE/无 |
  165 +| receiptNumber | Number | 否 | 1 | 回单张数 |
  166 +| receiptCode | String | 否 | A2022012602278 | 回单号 |
  167 +| payType | String | 否 | PAY_IN_CASH | 付款方式:PAY_IN_CASH/现付,PAY_ON_DELIVERY/到付,PAY_ARREARS/欠付,PAY_MONTH/月结,PAY_BACK/回付,PAY_MULTIPLE/多笔付,PAY_FREE/免费 |
  168 +| lineName | String | 否 | 上海-天津-北京 | 线路名称 |
  169 +| remark | String | 否 | 需要雨布和尾板 | 订单备注 |
  170 +| station | OrderStation[] | 是 | | 订单经停点 |
  171 +| &nbsp;&nbsp;&nbsp; stationId | String | 否 | 123abc | 站点id |
  172 +| &nbsp;&nbsp;&nbsp; stationName | String | 否 | 上海顺丰青浦站点 | 站点名称 |
  173 +| &nbsp;&nbsp;&nbsp; provinceCode | String | 否 | 310000 | 省份编号 |
  174 +| &nbsp;&nbsp;&nbsp; provinceName | String | 是 | 上海 | 省份名称 |
  175 +| &nbsp;&nbsp;&nbsp; cityCode | String | 否 | 310100 | 城市编号 |
  176 +| &nbsp;&nbsp;&nbsp; cityName | String | 是 | 上海市 | 城市名称 |
  177 +| &nbsp;&nbsp;&nbsp; areaCode | String | 否 | 310118 | 区域编号 |
  178 +| &nbsp;&nbsp;&nbsp; areaName | String | 是 | 青浦区 | 区域名称 |
  179 +| &nbsp;&nbsp;&nbsp; address | String | 是 | 纪鹤公路1988号 | 详细地址 |
  180 +| &nbsp;&nbsp;&nbsp; lat | String | 是 | 36.221825 | 纬度 |
  181 +| &nbsp;&nbsp;&nbsp; lng | String | 是 | 120.632908 | 经度 |
  182 +| &nbsp;&nbsp;&nbsp; contactName | String | 否 | 张三 | 联系人 |
  183 +| &nbsp;&nbsp;&nbsp; contactMobile | String | 否 | 18801000001 | 联系人电话 |
  184 +| &nbsp;&nbsp;&nbsp; loadFlag | String | 是 | true | 装货标识 |
  185 +| &nbsp;&nbsp;&nbsp; unloadFlag | String | 是 | false | 卸货标识 |
  186 +| &nbsp;&nbsp;&nbsp; expectArrivalTime | Number | 否 | 1643251533306 | 预计到达时间,时间戳毫秒值 |
  187 +| &nbsp;&nbsp;&nbsp;expectDepartTime | Number | 否 | 1643251533306 | 预计发车时间,时间戳毫秒值 |
  188 +| &nbsp;&nbsp;&nbsp; sort | Number | 否 | 1 | 经停点顺序,如果不传则默认按数组顺序 |
  189 +| goods | OrderGoods[] | 否 | | 订单货物信息 |
  190 +| &nbsp;&nbsp;&nbsp; barCode | String | 否 | 21616162626 | 商品条码 |
  191 +| &nbsp; &nbsp;&nbsp;skuId | String | 否 | 1223233536436 | 商品sku_id |
  192 +| &nbsp;&nbsp;&nbsp;&nbsp;name | String | 是 | 鞋子 | 货物名称 |
  193 +| &nbsp;&nbsp;&nbsp;&nbsp;packageType | String | 否 | | 包装规格 |
  194 +| &nbsp;&nbsp;&nbsp;&nbsp;piece | Number | 否 | 200 | 件数 |
  195 +| &nbsp;&nbsp;&nbsp;&nbsp;weight | Number | 否 | 200000 | 重量 |
  196 +| &nbsp;&nbsp;&nbsp;&nbsp;volume | Number | 否 | 50 | 体积 |
  197 +| addService | OrderAddService[] | 否 | | 增值服务 |
  198 +| &nbsp;&nbsp;&nbsp;&nbsp;serviceType | String | 否 | | 服务类型 |
  199 +| &nbsp;&nbsp;&nbsp;&nbsp;serviceName | String | 是 | 包装服务 | 服务名称 |
  200 +| &nbsp;&nbsp;&nbsp;&nbsp;serviceDemand | String | 否 | 纸箱包装 | 服务要求 |
  201 +| tags | OrderTag[] | 否 | | 订单标签 |
  202 +| &nbsp;tagName | String | 是 | 易碎物品 | 标签名称 |
  203 +| vehicleDemands | OrderVehicleDemand[] | 否 | | 车辆需求 |
  204 +| &nbsp;demandVanType | String | 是 | MOTOR_VAN | 需求厢型:MOTOR_VAN/厢车,GAOLAN_VAN/高栏,SLAB_VAN/平板,REFRIGERATOR_CAR/冷藏,IVECO/依维柯,JINBEI/金杯,MINI_VAN/小面包,ELSE_VAN/其他 |
  205 +| &nbsp;&nbsp;demandSpecification | String | 是 | 9.6 | 需求车型:2.7/3.8/4.2/6.8/7.6/9.6/11/12.5/13.5/15/16.5/17.5/19/21 |
  206 +| &nbsp;demandNumber | Number | 否 | 1 | 为空则默认1 |
  207 +| &nbsp;vehicleDemand | String | 否 | 车辆需要带雨布 | 车辆要求描述 |
  208 +
  209 +##### 请求示例
  210 +
  211 +###### Java-sdk方式 [下载SDK](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)
  212 +
  213 +```java
477 214 public class Sample {
478   -
479   -`    `public static void main(String[] args\_) {
480   -
481   -`        `String appKey = "appkey";
482   -
483   -`        `String appSecret = "appSecret";
484   -
485   -`        `String jsonData = "下单Body参数JSON数据";
486   -
487   -`        `ZYClient zyClient = new ZYClient(appKey, appSecret);
488   -
489   -`        `HttpResponseData httpResponseData =
490   -
491   -zyClient.doPost(Constants.TEST\_HOST + "/oms-service-api/order/add", "accessToken", jsonData);
492   -
493   -`        `if(httpResponseData == null) {    
494   -
495   -`            `throw new BusinessException("则一请求失败,返回结果为空!");
496   -
497   -`         `}
498   -
499   -`        `if(httpResponseData.getStatus() == HttpURLConnection.HTTP\_UNAUTHORIZED) {  
500   -
501   -`        `//重新获取token再次请求    
502   -
503   -`        `httpResponseData = zyClient.doPost(Constants.TEST\_HOST +
504   -
505   -`        `"/oms-service-api/order/add", "accessToken", jsonData);
506   -
507   -`       `}
508   -
509   -`   `}
510   -
  215 + public static void main(String[] args_) {
  216 + String appKey = "appkey";
  217 + String appSecret = "appSecret";
  218 + String jsonData = "下单Body参数JSON数据";
  219 + ZYClient zyClient = new ZYClient(appKey, appSecret);
  220 + HttpResponseData httpResponseData =
  221 +zyClient.doPost(Constants.TEST_HOST + "/oms-service-api/order/add", "accessToken", jsonData);
  222 + if(httpResponseData == null) {
  223 + throw new BusinessException("则一请求失败,返回结果为空!");
  224 + }
  225 + if(httpResponseData.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
  226 + //重新获取token再次请求
  227 + httpResponseData = zyClient.doPost(Constants.TEST_HOST +
  228 + "/oms-service-api/order/add", "accessToken", jsonData);
  229 + }
  230 + }
511 231 }
  232 +```
512 233  
513   -**返回示例**
514   -
515   -
  234 +##### 返回示例
516 235  
  236 +```json
517 237 {
518   -
519   -`    `"success": true,
520   -
521   -`    `"businessException": false,
522   -
523   -`    `"errorCode": null,
524   -
525   -`    `"message": null,
526   -
527   -`    `"result": {
528   -
529   -`        `"code": "则一订单号",
530   -
531   -`        `"customerOrderCode": "客户订单号"
532   -
533   -`   `}
534   -
  238 + "success": true,
  239 + "businessException": false,
  240 + "errorCode": null,
  241 + "message": null,
  242 + "result": {
  243 + "code": "则一订单号",
  244 + "customerOrderCode": "客户订单号"
  245 + }
535 246 }
  247 +```
536 248  
537   -**确认中标**
  249 +#### 确认中标
538 250  
539   -**接口信息**
  251 +##### 接口信息
540 252  
541   -**请求方式:**
  253 +###### 请求方式:
542 254  
543 255 post
544 256  
545   -**请求地址:**
  257 +###### 请求地址:
546 258  
547   -- 生产:<https://gw.shjiuze.cn/oms-service-api/order/confirmBid>
548   -- 测试:<https://test.shjiuze.cn/oms-service-api/order/confirmBid>
  259 +* 生产:https://gw.shjiuze.cn/oms-service-api/order/confirmBid
  260 +* 测试:https://test.shjiuze.cn/oms-service-api/order/confirmBid
549 261  
550   -**Headers参数**
  262 +###### Headers参数
551 263  
552   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
553   -| :- | :- | :- | :- | :- |
554   -|Authorization|String|是    |Bearer a2c5680001|调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。|
555   -|appKey|String|是|0867ef5f23ef6483749e19e1692b|则一提供|
556   -|timestamp|String|是|1643251533306|当前时间戳毫秒值|
557   -|nonce|String|是|gdst9t|6位小写字母数字组合随机串|
558   -|sign|String|是|fa3ed338d6dfe18e7273c8692234ee70|签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成|
559   -**Body参数**
  264 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  265 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  266 +| Authorization | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | Bearer a2c5680001 | 调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。 |
  267 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  268 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  269 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  270 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
560 271  
561   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
562   -| :- | :- | :- | :- | :- |
563   -|code|String|否|220101000001|则一订单号|
564   -|customerOrderCode|String|是    |220101000001|客户订单号,订单唯一标识|
565   -|confirmId|String|是|220101000001|中标报价id|
566   -|quotePrice|Number|是|10000|中标价格|
567   -**请求示例**
  272 +###### Body参数
568 273  
569   -**Java-sdk方式 [下载SDK**](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)**
  274 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  275 +| ----------------- | ------ | -------------------------- | ------------ | ------------------------ |
  276 +| code | String | 是 | 220101000001 | 则一订单号 |
  277 +| customerOrderCode | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | 220101000001 | 客户订单号,订单唯一标识 |
  278 +| confirmId | String | 是 | 220101000001 | 中标报价id |
  279 +| quotePrice | Number | 是 | 10000 | 中标价格 |
570 280  
  281 +##### 请求示例
571 282  
  283 +###### Java-sdk方式 [下载SDK](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)
572 284  
  285 +```java
573 286 public class Sample {
574   -
575   -`    `public static void main(String[] args\_) {
576   -
577   -`        `String appKey = "appkey";
578   -
579   -`        `String appSecret = "appSecret";
580   -
581   -`        `String jsonData = "确认中标Body参数JSON数据";
582   -
583   -`        `ZYClient zyClient = new ZYClient(appKey, appSecret);
584   -
585   -`        `HttpResponseData httpResponseData =
586   -
587   -zyClient.doPost(Constants.TEST\_HOST + "/oms-service-api/order/confirmBid", "accessToken", jsonData);
588   -
589   -`        `if(httpResponseData == null) {    
590   -
591   -`            `throw new BusinessException("则一请求失败,返回结果为空!");
592   -
593   -`         `}
594   -
595   -`        `if(httpResponseData.getStatus() == HttpURLConnection.HTTP\_UNAUTHORIZED) {  
596   -
597   -`        `//重新获取token再次请求    
598   -
599   -`        `httpResponseData = zyClient.doPost(Constants.TEST\_HOST +
600   -
601   -`        `"/oms-service-api/order/confirmBid", "accessToken", jsonData);
602   -
603   -`       `}
604   -
605   -`   `}
606   -
  287 + public static void main(String[] args_) {
  288 + String appKey = "appkey";
  289 + String appSecret = "appSecret";
  290 + String jsonData = "确认中标Body参数JSON数据";
  291 + ZYClient zyClient = new ZYClient(appKey, appSecret);
  292 + HttpResponseData httpResponseData =
  293 +zyClient.doPost(Constants.TEST_HOST + "/oms-service-api/order/confirmBid", "accessToken", jsonData);
  294 + if(httpResponseData == null) {
  295 + throw new BusinessException("则一请求失败,返回结果为空!");
  296 + }
  297 + if(httpResponseData.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
  298 + //重新获取token再次请求
  299 + httpResponseData = zyClient.doPost(Constants.TEST_HOST +
  300 + "/oms-service-api/order/confirmBid", "accessToken", jsonData);
  301 + }
  302 + }
607 303 }
  304 +```
608 305  
609   -**返回示例**
610   -
611   -
  306 +##### 返回示例
612 307  
  308 +```json
613 309 {
614   -
615   -`    `"success": true,
616   -
617   -`    `"businessException": false,
618   -
619   -`    `"errorCode": null,
620   -
621   -`    `"message": null,
622   -
623   -`    `"result": {
624   -
625   -`        `"code": "则一订单号",
626   -
627   -`        `"customerOrderCode": "客户订单号",
628   -
629   -`        `"confirmId": "中标报价id",
630   -
631   -`        `"quotePrice": "中标价格"
632   -
633   -`   `}
634   -
  310 + "success": true,
  311 + "businessException": false,
  312 + "errorCode": null,
  313 + "message": null,
  314 + "result": {
  315 + "code": "则一订单号",
  316 + "customerOrderCode": "客户订单号",
  317 + "confirmId": "中标报价id",
  318 + "quotePrice": "中标价格"
  319 + }
635 320 }
  321 +```
636 322  
637   -**取消订单**
  323 +#### 取消订单
638 324  
639   -**接口信息**
  325 +##### 接口信息
640 326  
641   -**请求方式:**
  327 +###### 请求方式:
642 328  
643 329 post
644 330  
645   -**请求地址:**
  331 +###### 请求地址:
646 332  
647   -- 生产:<https://gw.shjiuze.cn/oms-service-api/order/cancel>
648   -- 测试:<https://test.shjiuze.cn/oms-service-api/order/cancel>
  333 +* 生产:https://gw.shjiuze.cn/oms-service-api/order/cancel
  334 +* 测试:https://test.shjiuze.cn/oms-service-api/order/cancel
649 335  
650   -**Headers参数**
  336 +###### Headers参数
651 337  
652   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
653   -| :- | :- | :- | :- | :- |
654   -|Authorization|String|是    |Bearer a2c5680001|调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。|
655   -|appKey|String|是|0867ef5f23ef6483749e19e1692b|则一提供|
656   -|timestamp|String|是|1643251533306|当前时间戳毫秒值|
657   -|nonce|String|是|gdst9t|6位小写字母数字组合随机串|
658   -|sign|String|是|fa3ed338d6dfe18e7273c8692234ee70|签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成|
659   -**Body参数**
  338 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  339 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  340 +| Authorization | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | Bearer a2c5680001 | 调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。 |
  341 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  342 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  343 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  344 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
660 345  
661   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
662   -| :- | :- | :- | :- | :- |
663   -|code|String|否|220101000001|则一订单号|
664   -|customerOrderCode|String|是    |220101000001|客户订单号,订单唯一标识|
665   -|cancelRemark|String|否|货量不足|取消原因|
666   -**请求示例**
  346 +###### Body参数
667 347  
668   -**Java-sdk方式 [下载SDK**](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)**
  348 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  349 +| ----------------- | ------ | -------------------------- | ------------ | ------------------------ |
  350 +| code | String | 是 | 220101000001 | 则一订单号 |
  351 +| customerOrderCode | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | 220101000001 | 客户订单号,订单唯一标识 |
  352 +| cancelRemark | String | 否 | 货量不足 | 取消原因 |
669 353  
  354 +##### 请求示例
670 355  
  356 +###### Java-sdk方式 [下载SDK](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)
671 357  
  358 +```java
672 359 public class Sample {
673   -
674   -`    `public static void main(String[] args\_) {
675   -
676   -`        `String appKey = "appkey";
677   -
678   -`        `String appSecret = "appSecret";
679   -
680   -`        `String jsonData = "取消订单Body参数JSON数据";
681   -
682   -`        `ZYClient zyClient = new ZYClient(appKey, appSecret);
683   -
684   -`        `HttpResponseData httpResponseData =
685   -
686   -zyClient.doPost(Constants.TEST\_HOST + "/oms-service-api/order/cancel", "accessToken", jsonData);
687   -
688   -`        `if(httpResponseData == null) {    
689   -
690   -`            `throw new BusinessException("则一请求失败,返回结果为空!");
691   -
692   -`         `}
693   -
694   -`        `if(httpResponseData.getStatus() == HttpURLConnection.HTTP\_UNAUTHORIZED) {  
695   -
696   -`        `//重新获取token再次请求    
697   -
698   -`        `httpResponseData = zyClient.doPost(Constants.TEST\_HOST +
699   -
700   -`        `"/oms-service-api/order/cancel", "accessToken", jsonData);
701   -
702   -`       `}
703   -
704   -`   `}
705   -
  360 + public static void main(String[] args_) {
  361 + String appKey = "appkey";
  362 + String appSecret = "appSecret";
  363 + String jsonData = "取消订单Body参数JSON数据";
  364 + ZYClient zyClient = new ZYClient(appKey, appSecret);
  365 + HttpResponseData httpResponseData =
  366 +zyClient.doPost(Constants.TEST_HOST + "/oms-service-api/order/cancel", "accessToken", jsonData);
  367 + if(httpResponseData == null) {
  368 + throw new BusinessException("则一请求失败,返回结果为空!");
  369 + }
  370 + if(httpResponseData.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
  371 + //重新获取token再次请求
  372 + httpResponseData = zyClient.doPost(Constants.TEST_HOST +
  373 + "/oms-service-api/order/cancel", "accessToken", jsonData);
  374 + }
  375 + }
706 376 }
  377 +```
707 378  
708   -**返回示例**
709   -
710   -
  379 +##### 返回示例
711 380  
  381 +```json
712 382 {
713   -
714   -`    `"success": true,
715   -
716   -`    `"businessException": false,
717   -
718   -`    `"errorCode": null,
719   -
720   -`    `"message": null,
721   -
722   -`    `"result": {
723   -
724   -`        `"code": "则一订单号",
725   -
726   -`        `"customerOrderCode": "客户订单号"
727   -
728   -`   `}
729   -
  383 + "success": true,
  384 + "businessException": false,
  385 + "errorCode": null,
  386 + "message": null,
  387 + "result": {
  388 + "code": "则一订单号",
  389 + "customerOrderCode": "客户订单号"
  390 + }
730 391 }
  392 +```
731 393  
732   -**查询车辆定位**
  394 +#### 查询车辆定位
733 395  
734   -**接口信息**
  396 +##### 接口信息
735 397  
736   -**概述**
  398 +###### 概述
737 399  
738 400 可以通过该接口查询车辆当前位置,该接口为收费接口。
739 401  
740   -**请求方式:**
  402 +###### 请求方式:
741 403  
742 404 post
743 405  
744   -**请求地址:**
  406 +###### 请求地址:
745 407  
746   -- 生产:<https://gw.shjiuze.cn/oms-service-api/vehicle/location>
747   -- 测试:<https://test.shjiuze.cn/oms-service-api/vehicle/location>
  408 +* 生产:https://gw.shjiuze.cn/oms-service-api/vehicle/location
  409 +* 测试:https://test.shjiuze.cn/oms-service-api/vehicle/location
748 410  
749   -**Headers参数**
  411 +###### Headers参数
750 412  
751   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
752   -| :- | :- | :- | :- | :- |
753   -|Authorization|String|是    |Bearer a2c5680001|调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。|
754   -|appKey|String|是|0867ef5f23ef6483749e19e1692b|则一提供|
755   -|timestamp|String|是|1643251533306|当前时间戳毫秒值|
756   -|nonce|String|是|gdst9t|6位小写字母数字组合随机串|
757   -|sign|String|是|fa3ed338d6dfe18e7273c8692234ee70|签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成|
758   -**Body参数**
  413 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  414 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  415 +| Authorization | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | Bearer a2c5680001 | 调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。 |
  416 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  417 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  418 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  419 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
759 420  
760   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
761   -| :- | :- | :- | :- | :- |
762   -|code|String|是|D220101000001|则一订单号|
763   -|waybillCode|String|是|Y220101000001|则一运单号|
764   -|customerOrderCode|String|是|220101000001|客户订单号,订单唯一标识|
765   -|licenseNumber|String|是|沪DP2312|车牌号|
766   -**请求示例**
  421 +###### Body参数
767 422  
768   -**Java-sdk方式 [下载SDK**](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)**
  423 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  424 +| ----------------- | ------ | ---- | ------------- | ------------------------ |
  425 +| code | String | 是 | D220101000001 | 则一订单号 |
  426 +| waybillCode | String | 是 | Y220101000001 | 则一运单号 |
  427 +| customerOrderCode | String | 是 | 220101000001 | 客户订单号,订单唯一标识 |
  428 +| licenseNumber | String | 是 | 沪DP2312 | 车牌号 |
769 429  
  430 +##### 请求示例
770 431  
  432 +###### Java-sdk方式 [下载SDK](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)
771 433  
  434 +```java
772 435 public class Sample {
773   -
774   -`    `public static void main(String[] args\_) {
775   -
776   -`        `String appKey = "appkey";
777   -
778   -`        `String appSecret = "appSecret";
779   -
780   -`        `String jsonData = "车辆位置查询Body参数JSON数据";
781   -
782   -`        `ZYClient zyClient = new ZYClient(appKey, appSecret);
783   -
784   -`        `HttpResponseData httpResponseData =
785   -
786   -zyClient.doPost(Constants.TEST\_HOST + "/oms-service-api/vehicle/location", "accessToken", jsonData);
787   -
788   -`        `if(httpResponseData == null) {    
789   -
790   -`            `throw new BusinessException("则一请求失败,返回结果为空!");
791   -
792   -`         `}
793   -
794   -`        `if(httpResponseData.getStatus() == HttpURLConnection.HTTP\_UNAUTHORIZED) {  
795   -
796   -`        `//重新获取token再次请求    
797   -
798   -`        `httpResponseData = zyClient.doPost(Constants.TEST\_HOST +
799   -
800   -`        `"/oms-service-api/vehicle/location", "accessToken", jsonData);
801   -
802   -`       `}
803   -
804   -`   `}
805   -
  436 + public static void main(String[] args_) {
  437 + String appKey = "appkey";
  438 + String appSecret = "appSecret";
  439 + String jsonData = "车辆位置查询Body参数JSON数据";
  440 + ZYClient zyClient = new ZYClient(appKey, appSecret);
  441 + HttpResponseData httpResponseData =
  442 +zyClient.doPost(Constants.TEST_HOST + "/oms-service-api/vehicle/location", "accessToken", jsonData);
  443 + if(httpResponseData == null) {
  444 + throw new BusinessException("则一请求失败,返回结果为空!");
  445 + }
  446 + if(httpResponseData.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
  447 + //重新获取token再次请求
  448 + httpResponseData = zyClient.doPost(Constants.TEST_HOST +
  449 + "/oms-service-api/vehicle/location", "accessToken", jsonData);
  450 + }
  451 + }
806 452 }
  453 +```
807 454  
808   -**返回示例**
809   -
810   -
  455 +##### 返回示例
811 456  
  457 +```json
812 458 {
813   -
814   -`    `"success":true,
815   -
816   -`    `"businessException":false,
817   -
818   -`    `"result":{
819   -
820   -`        `"lng":"106.1722328011559", //经度
821   -
822   -`        `"lat":"37.94834927106783", //纬度
823   -
824   -`        `"speed":0, //速度,km/h
825   -
826   -`        `"time":"2022-02-07 19:33:19", //定位时间
827   -
828   -`        `"address":"宁夏回族自治区吴忠市利通区清二沟,东方向,296.5米" //定位地点
829   -
830   -`   `}
831   -
  459 + "success":true,
  460 + "businessException":false,
  461 + "result":{
  462 + "lng":"106.1722328011559", //经度
  463 + "lat":"37.94834927106783", //纬度
  464 + "speed":0, //速度,km/h
  465 + "time":"2022-02-07 19:33:19", //定位时间
  466 + "address":"宁夏回族自治区吴忠市利通区清二沟,东方向,296.5米" //定位地点
  467 + }
832 468 }
  469 +```
833 470  
834   -**查询车辆历史轨迹**
  471 +#### 查询车辆历史轨迹
835 472  
836   -**接口信息**
  473 +##### 接口信息
837 474  
838   -**概述**
  475 +###### 概述
839 476  
840 477 可以通过该接口查询车辆历史运行轨迹数据,该接口为收费接口。
841 478  
842   -**请求方式:**
  479 +###### 请求方式:
843 480  
844 481 post
845 482  
846   -**请求地址:**
  483 +###### 请求地址:
847 484  
848   -- 生产:<https://gw.shjiuze.cn/oms-service-api/vehicle/track>
849   -- 测试:<https://test.shjiuze.cn/oms-service-api/vehicle/track>
  485 +* 生产:https://gw.shjiuze.cn/oms-service-api/vehicle/track
  486 +* 测试:https://test.shjiuze.cn/oms-service-api/vehicle/track
850 487  
851   -**Headers参数**
  488 +###### Headers参数
852 489  
853   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
854   -| :- | :- | :- | :- | :- |
855   -|Authorization|String|是    |Bearer a2c5680001|调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。|
856   -|appKey|String|是|0867ef5f23ef6483749e19e1692b|则一提供|
857   -|timestamp|String|是|1643251533306|当前时间戳毫秒值|
858   -|nonce|String|是|gdst9t|6位小写字母数字组合随机串|
859   -|sign|String|是|fa3ed338d6dfe18e7273c8692234ee70|签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成|
860   -**Body参数**
  490 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  491 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  492 +| Authorization | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | Bearer a2c5680001 | 调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。 |
  493 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  494 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  495 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  496 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
861 497  
862   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
863   -| :- | :- | :- | :- | :- |
864   -|code|String|是|D220101000001|则一订单号|
865   -|waybillCode|String|是|Y220101000001|则一运单号|
866   -|customerOrderCode|String|是|220101000001|客户订单号,订单唯一标识|
867   -|licenseNumber|String|是|沪DP2312|车牌号|
868   -|startTime|Number|是|1643251533306|开始时间|
869   -|endTime|Number|是|1643251533308|结束时间|
870   -**请求示例**
  498 +###### Body参数
871 499  
872   -**Java-sdk方式 [下载SDK**](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)**
  500 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  501 +| ----------------- | ------ | ---- | ------------- | ------------------------ |
  502 +| code | String | 是 | D220101000001 | 则一订单号 |
  503 +| waybillCode | String | 是 | Y220101000001 | 则一运单号 |
  504 +| customerOrderCode | String | 是 | 220101000001 | 客户订单号,订单唯一标识 |
  505 +| licenseNumber | String | 是 | 沪DP2312 | 车牌号 |
  506 +| startTime | Number | 是 | 1643251533306 | 开始时间 |
  507 +| endTime | Number | 是 | 1643251533308 | 结束时间 |
873 508  
  509 +##### 请求示例
874 510  
  511 +###### Java-sdk方式 [下载SDK](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)
875 512  
  513 +```java
876 514 public class Sample {
877   -
878   -`    `public static void main(String[] args\_) {
879   -
880   -`        `String appKey = "appkey";
881   -
882   -`        `String appSecret = "appSecret";
883   -
884   -`        `String jsonData = "车辆轨迹查询Body参数JSON数据";
885   -
886   -`        `ZYClient zyClient = new ZYClient(appKey, appSecret);
887   -
888   -`        `HttpResponseData httpResponseData =
889   -
890   -zyClient.doPost(Constants.TEST\_HOST + "/oms-service-api/vehicle/track", "accessToken", jsonData);
891   -
892   -`        `if(httpResponseData == null) {    
893   -
894   -`            `throw new BusinessException("则一请求失败,返回结果为空!");
895   -
896   -`         `}
897   -
898   -`        `if(httpResponseData.getStatus() == HttpURLConnection.HTTP\_UNAUTHORIZED) {  
899   -
900   -`        `//重新获取token再次请求    
901   -
902   -`        `httpResponseData = zyClient.doPost(Constants.TEST\_HOST +
903   -
904   -`        `"/oms-service-api/vehicle/track", "accessToken", jsonData);
905   -
906   -`       `}
907   -
908   -`   `}
909   -
  515 + public static void main(String[] args_) {
  516 + String appKey = "appkey";
  517 + String appSecret = "appSecret";
  518 + String jsonData = "车辆轨迹查询Body参数JSON数据";
  519 + ZYClient zyClient = new ZYClient(appKey, appSecret);
  520 + HttpResponseData httpResponseData =
  521 +zyClient.doPost(Constants.TEST_HOST + "/oms-service-api/vehicle/track", "accessToken", jsonData);
  522 + if(httpResponseData == null) {
  523 + throw new BusinessException("则一请求失败,返回结果为空!");
  524 + }
  525 + if(httpResponseData.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
  526 + //重新获取token再次请求
  527 + httpResponseData = zyClient.doPost(Constants.TEST_HOST +
  528 + "/oms-service-api/vehicle/track", "accessToken", jsonData);
  529 + }
  530 + }
910 531 }
  532 +```
911 533  
912   -**返回示例**
913   -
914   -
  534 +##### 返回示例
915 535  
  536 +```json
916 537 {
  538 + "success":true,
  539 + "businessException":false,
  540 + "result":[
  541 + {
  542 + "lon":"116.6709722499687", //经度
  543 + "lat":"39.64092201495669", //纬度
  544 + "gtm":"2022-02-07 18:55:13", //gps时间
  545 + "spd":"249", //速度 除以10为km/h
  546 + "hgt":"4", //海拔m
  547 + "agl":"257" //正北方向夹角
  548 + },
  549 + {
  550 + "lon":"116.66919560752942",
  551 + "lat":"39.64070361333219",
  552 + "gtm":"2022-02-07 18:55:33",
  553 + "spd":"272",
  554 + "hgt":"6",
  555 + "agl":"260"
  556 + }
  557 + ]
  558 +}
  559 +```
917 560  
918   -`    `"success":true,
919   -
920   -`    `"businessException":false,
921   -
922   -`    `"result":[
923   -
924   -`       `{
925   -
926   -`            `"lon":"116.6709722499687", //经度
927   -
928   -`            `"lat":"39.64092201495669", //纬度
929   -
930   -`            `"gtm":"2022-02-07 18:55:13", //gps时间
931   -
932   -`            `"spd":"249", //速度 除以10为km/h
933   -
934   -`            `"hgt":"4", //海拔m
935   -
936   -`            `"agl":"257" //正北方向夹角
937   -
938   -`       `},
939   -
940   -`       `{
941   -
942   -`            `"lon":"116.66919560752942",
943   -
944   -`            `"lat":"39.64070361333219",
945   -
946   -`            `"gtm":"2022-02-07 18:55:33",
947   -
948   -`            `"spd":"272",
949   -
950   -`            `"hgt":"6",
951   -
952   -`            `"agl":"260"
953   -
954   -`       `}
955   -
956   -`   `]
957 561  
958   -}
959 562  
960   -**查询订单操作记录**
  563 +#### 查询订单操作记录
961 564  
962   -**接口信息**
  565 +##### 接口信息
963 566  
964   -**概述**
  567 +###### 概述
965 568  
966 569 可以通过该接口查询订单的操作记录。
967 570  
968   -**请求方式:**
  571 +###### 请求方式:
969 572  
970 573 post
971 574  
972   -**请求地址:**
  575 +###### 请求地址:
973 576  
974   -- 生产:<https://gw.shjiuze.cn/oms-service-api/order/getOperateList>
975   -- 测试:<https://test.shjiuze.cn/oms-service-api/order/getOperateList>
  577 +* 生产:https://gw.shjiuze.cn/oms-service-api/order/getOperateList
  578 +* 测试:https://test.shjiuze.cn/oms-service-api/order/getOperateList
976 579  
977   -**Headers参数**
  580 +###### Headers参数
978 581  
979   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
980   -| :- | :- | :- | :- | :- |
981   -|Authorization|String|是    |Bearer a2c5680001|调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。|
982   -|appKey|String|是|0867ef5f23ef6483749e19e1692b|则一提供|
983   -|timestamp|String|是|1643251533306|当前时间戳毫秒值|
984   -|nonce|String|是|gdst9t|6位小写字母数字组合随机串|
985   -|sign|String|是|fa3ed338d6dfe18e7273c8692234ee70|签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成|
986   -**Body参数**
  582 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  583 +| ------------- | ------ | -------------------------- | -------------------------------- | ------------------------------------------------------------ |
  584 +| Authorization | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | Bearer a2c5680001 | 调用服务端API的应用凭证accessToken,通过调用获取访问凭证接口获取。 |
  585 +| appKey | String | 是 | 0867ef5f23ef6483749e19e1692b | 则一提供 |
  586 +| timestamp | String | 是 | 1643251533306 | 当前时间戳毫秒值 |
  587 +| nonce | String | 是 | gdst9t | 6位小写字母数字组合随机串 |
  588 +| sign | String | 是 | fa3ed338d6dfe18e7273c8692234ee70 | 签名:appKey(则一提供) + appSecret(则一提供) + timestamp + nonce(6位随机码) + data(body参数)通过md5(32位小写)算法生成 |
987 589  
988   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
989   -| :- | :- | :- | :- | :- |
990   -|code|String|否|220101000001|则一订单号|
991   -|customerOrderCode|String|是|220101000001|客户订单号,订单唯一标识|
992   -**请求示例**
  590 +###### Body参数
993 591  
994   -**Java-sdk方式 [下载SDK**](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)**
  592 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  593 +| ----------------- | ------ | ---- | ------------ | ------------------------ |
  594 +| code | String | 否 | 220101000001 | 则一订单号 |
  595 +| customerOrderCode | String | 是 | 220101000001 | 客户订单号,订单唯一标识 |
995 596  
  597 +##### 请求示例
996 598  
  599 +###### Java-sdk方式 [下载SDK](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)
997 600  
  601 +```java
998 602 public class Sample {
999   -
1000   -`    `public static void main(String[] args\_) {
1001   -
1002   -`        `String appKey = "appkey";
1003   -
1004   -`        `String appSecret = "appSecret";
1005   -
1006   -`        `String jsonData = "订单操作记录Body参数JSON数据";
1007   -
1008   -`        `ZYClient zyClient = new ZYClient(appKey, appSecret);
1009   -
1010   -`        `HttpResponseData httpResponseData =
1011   -
1012   -zyClient.doPost(Constants.TEST\_HOST + "/oms-service-api/orderOperateRecord/getList", "accessToken", jsonData);
1013   -
1014   -`        `if(httpResponseData == null) {    
1015   -
1016   -`            `throw new BusinessException("则一请求失败,返回结果为空!");
1017   -
1018   -`         `}
1019   -
1020   -`        `if(httpResponseData.getStatus() == HttpURLConnection.HTTP\_UNAUTHORIZED) {  
1021   -
1022   -`        `//重新获取token再次请求    
1023   -
1024   -`        `httpResponseData = zyClient.doPost(Constants.TEST\_HOST +
1025   -
1026   -`        `"/oms-service-api/orderOperateRecord/getList", "accessToken", jsonData);
1027   -
1028   -`       `}
1029   -
1030   -`   `}
1031   -
  603 + public static void main(String[] args_) {
  604 + String appKey = "appkey";
  605 + String appSecret = "appSecret";
  606 + String jsonData = "车辆轨迹查询Body参数JSON数据";
  607 + ZYClient zyClient = new ZYClient(appKey, appSecret);
  608 + HttpResponseData httpResponseData =
  609 +zyClient.doPost(Constants.TEST_HOST + "/oms-service-api/orderOperateRecord/getList", "accessToken", jsonData);
  610 + if(httpResponseData == null) {
  611 + throw new BusinessException("则一请求失败,返回结果为空!");
  612 + }
  613 + if(httpResponseData.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
  614 + //重新获取token再次请求
  615 + httpResponseData = zyClient.doPost(Constants.TEST_HOST +
  616 + "/oms-service-api/orderOperateRecord/getList", "accessToken", jsonData);
  617 + }
  618 + }
1032 619 }
  620 +```
1033 621  
1034   -**返回示例**
1035   -
1036   -
  622 +##### 返回示例
1037 623  
  624 +```json
1038 625 {
  626 + "success": true,
  627 + "businessException": false,
  628 + "errorCode": null,
  629 + "message": null,
  630 + "result": [
  631 + {
  632 + "orderCode": "220101000001",
  633 + "operateType": "ORDER_XXX",
  634 + "operateContent": "操作详情XXXX1",
  635 + "operateTime": "2022-02-10 18:23:30",
  636 + "operateUser": "张三"
  637 + },
  638 + {
  639 + "orderCode": "220101000001",
  640 + "operateType": "ORDER_XXX",
  641 + "operateContent": "操作详情XXXX2",
  642 + "operateTime": "2022-02-08 12:43:30",
  643 + "operateUser": "李四"
  644 + }
  645 + ]
  646 +}
  647 +```
1039 648  
1040   -`    `"success": true,
1041   -
1042   -`    `"businessException": false,
1043   -
1044   -`    `"errorCode": null,
1045   -
1046   -`    `"message": null,
1047   -
1048   -`    `"result": [
1049   -
1050   -`       `{
1051   -
1052   -`            `"orderCode": "220101000001",
1053   -
1054   -`            `"operateType": "ORDER\_XXX",
1055   -
1056   -`            `"operateContent": "操作详情XXXX1",
1057   -
1058   -`            `"operateTime": "2022-02-10 18:23:30",
1059   -
1060   -`            `"operateUser": "张三"
1061   -
1062   -`       `},
1063   -
1064   -`       `{
1065   -
1066   -`            `"orderCode": "220101000001",
1067   -
1068   -`            `"operateType": "ORDER\_XXX",
1069   -
1070   -`            `"operateContent": "操作详情XXXX2",
1071   -
1072   -`            `"operateTime": "2022-02-08 12:43:30",
1073   -
1074   -`            `"operateUser": "李四"
1075 649  
1076   -`       `}
1077 650  
1078   -`   `]
1079 651  
1080   -}
1081 652  
1082 653  
1083 654  
1084   -**以下接口需要对接方提供**
  655 +### 以下接口需要对接方提供
1085 656  
1086   -**报价接口**
  657 +#### 报价接口
1087 658  
1088   -**接口信息**
  659 +##### 接口信息
1089 660  
1090   -**概述**
  661 +###### 概述
1091 662  
1092 663 则一调用该接口进行报价,可以进行多次报价。
1093 664  
1094   -**请求方式:**
  665 +###### 请求方式:
1095 666  
1096 667 post
1097 668  
1098   -**请求路径:**
  669 +###### 请求路径:
1099 670  
1100 671 /quotePrice
1101 672  
1102   -**Body参数**
1103   -
1104   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
1105   -| :- | :- | :- | :- | :- |
1106   -|code|String|是|220101000001|则一订单号|
1107   -|customerOrderCode|String|是    |220101000001|客户订单号,订单唯一标识|
1108   -|quoteId|String|是|1a2111bacd56|报价id,报价唯一标识|
1109   -|quotePrice|Number|是|10000|报价金额|
1110   -|contactName|String|否|张三|报价联系人|
1111   -|contactMobile|String|否|18801000000|报价联系电话|
1112   -|quoteInvalidTime|Number|否|1643251533306|报价有效期,时间戳毫秒值|
1113   -|operateTime|Number|是|1643251533306|操作时间戳|
1114   -**返回示例**
  673 +###### Body参数
1115 674  
  675 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  676 +| ----------------- | ------ | -------------------------- | ------------- | ------------------------ |
  677 +| code | String | 是 | 220101000001 | 则一订单号 |
  678 +| customerOrderCode | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | 220101000001 | 客户订单号,订单唯一标识 |
  679 +| quoteId | String | 是 | 1a2111bacd56 | 报价id,报价唯一标识 |
  680 +| quotePrice | Number | 是 | 10000 | 报价金额 |
  681 +| contactName | String | 否 | 张三 | 报价联系人 |
  682 +| contactMobile | String | 否 | 18801000000 | 报价联系电话 |
  683 +| quoteInvalidTime | Number | 否 | 1643251533306 | 报价有效期,时间戳毫秒值 |
  684 +| operateTime | Number | 是 | 1643251533306 | 操作时间戳 |
1116 685  
  686 +###### 返回示例
1117 687  
  688 +```json
1118 689 {
  690 + "success": true,
  691 + "businessException": false,
  692 + "errorCode": null,
  693 + "message": null,
  694 + "result": {
  695 + "code": "则一订单号",
  696 + "customerOrderCode": "客户订单号"
  697 + }
  698 +}
  699 +```
1119 700  
1120   -`    `"success": true,
1121   -
1122   -`    `"businessException": false,
1123   -
1124   -`    `"errorCode": null,
1125   -
1126   -`    `"message": null,
1127   -
1128   -`    `"result": {
1129   -
1130   -`        `"code": "则一订单号",
1131   -
1132   -`        `"customerOrderCode": "客户订单号"
1133   -
1134   -`   `}
1135 701  
1136   -}
1137 702  
1138   -**接单接口**
  703 +#### 接单接口
1139 704  
1140   -**接口信息**
  705 +##### 接口信息
1141 706  
1142   -**概述**
  707 +###### 概述
1143 708  
1144 709 则一调用该接口推送运单号及参考运费范围。
1145 710  
1146   -**请求方式:**
  711 +###### 请求方式:
1147 712  
1148 713 post
1149 714  
1150   -**请求路径:**
  715 +###### 请求路径:
1151 716  
1152 717 /receiveOrder
1153 718  
1154   -**Body参数**
1155   -
1156   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
1157   -| :- | :- | :- | :- | :- |
1158   -|code|String|是|220101000001|则一订单号|
1159   -|customerOrderCode|String|是    |220101000001|客户订单号,订单唯一标识|
1160   -|startTotalPrice|Number|是|18100|参考总金额起始值|
1161   -|endTotalPrice|Number|是|21000|参考总金额结束值|
1162   -|WaybillList|Waybill[]|是| |运单集合|
1163   -|`    `waybillCode|String|是|Y220101000001|则一运单号|
1164   -|`    `startPrice|Number|是|18100|参考金额起始值|
1165   -|`    `endPrice|Number|是|21000|参考金额结束值|
1166   -|`    `vanType|String|是|MOTOR\_VAN|厢型|
1167   -|`    `specification|String|是|9.6|车型|
1168   -**返回示例**
  719 +###### Body参数
1169 720  
  721 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  722 +| -------------------------------- | --------- | -------------------------- | ------------- | ------------------------ |
  723 +| code | String | 是 | 220101000001 | 则一订单号 |
  724 +| customerOrderCode | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | 220101000001 | 客户订单号,订单唯一标识 |
  725 +| startTotalPrice | Number | 是&nbsp;&nbsp;&nbsp; | 18100 | 参考总金额起始值 |
  726 +| endTotalPrice | Number | 是&nbsp;&nbsp;&nbsp; | 21000 | 参考总金额结束值 |
  727 +| WaybillList | Waybill[] | 是 | | 运单集合 |
  728 +| &nbsp;&nbsp;&nbsp; waybillCode | String | 是 | Y220101000001 | 则一运单号 |
  729 +| &nbsp;&nbsp;&nbsp; startPrice | Number | 是 | 18100 | 参考金额起始值 |
  730 +| &nbsp;&nbsp;&nbsp; endPrice | Number | 是 | 21000 | 参考总金额结束值 |
  731 +| &nbsp;&nbsp;&nbsp; vanType | String | 是 | MOTOR_VAN | 厢型 |
  732 +| &nbsp;&nbsp;&nbsp; specification | String | 是 | 9.6 | 车型 |
1170 733  
  734 +###### 返回示例
1171 735  
  736 +```json
1172 737 {
  738 + "success": true,
  739 + "businessException": false,
  740 + "errorCode": null,
  741 + "message": null,
  742 + "result": {
  743 + "code": "则一订单号",
  744 + "customerOrderCode": "客户订单号"
  745 + }
  746 +}
  747 +```
1173 748  
1174   -`    `"success": true,
1175   -
1176   -`    `"businessException": false,
1177   -
1178   -`    `"errorCode": null,
1179   -
1180   -`    `"message": null,
1181   -
1182   -`    `"result": {
1183   -
1184   -`        `"code": "则一订单号",
1185   -
1186   -`        `"customerOrderCode": "客户订单号"
1187   -
1188   -`   `}
1189 749  
1190   -}
1191 750  
1192 751  
1193 752  
1194   -**推送司机车辆信息**
  753 +#### 推送司机车辆信息
1195 754  
1196   -**接口信息**
  755 +##### 接口信息
1197 756  
1198   -**概述**
  757 +###### 概述
1199 758  
1200 759 则一调用该接口推送订单司机和车辆信息,可以进行多次推送,以操作时间戳最新一次推送的司机车辆信息为准。
1201 760  
1202   -**请求方式:**
  761 +###### 请求方式:
1203 762  
1204 763 post
1205 764  
1206   -**请求路径:**
  765 +###### 请求路径:
1207 766  
1208 767 /assignVehicle
1209 768  
1210   -**Body参数**
1211   -
1212   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
1213   -| :- | :- | :- | :- | :- |
1214   -|code|String|是|220101000001|则一订单号|
1215   -|waybillCode|String|是|Y220101000001|则一运单号|
1216   -|customerOrderCode|String|是    |220101000001|客户订单号,订单唯一标识|
1217   -|driverName|String|是|张三|司机姓名|
1218   -|driverMobile|String|是|18801000000|司机手机号|
1219   -|licenseNumber|String|是|沪DP2312|车牌号|
1220   -|trailerLicenseNumber|String|否|陕K7C72挂|挂车车牌号|
1221   -|operateTime|Number|是|1643251533306|操作时间戳|
1222   -|weight|Number|否|200000|重量|
1223   -|volume|Number|否|16|体积|
1224   -**返回示例**
  769 +###### Body参数
1225 770  
  771 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  772 +| -------------------- | ------ | -------------------------- | ------------- | ------------------------ |
  773 +| code | String | 是 | 220101000001 | 则一订单号 |
  774 +| waybillCode | String | 是&nbsp; | Y220101000001 | 则一运单号 |
  775 +| customerOrderCode | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | 220101000001 | 客户订单号,订单唯一标识 |
  776 +| driverName | String | 是 | 张三 | 司机姓名 |
  777 +| driverMobile | String | 是 | 18801000000 | 司机手机号 |
  778 +| licenseNumber | String | 是 | 沪DP2312 | 车牌号 |
  779 +| trailerLicenseNumber | String | 否 | 陕K7C72挂 | 挂车车牌号 |
  780 +| operateTime | Number | 是 | 1643251533306 | 操作时间戳 |
  781 +| weight | Number | 否 | 200000 | 重量 |
  782 +| volume | Number | 否 | 16 | 体积 |
1226 783  
  784 +###### 返回示例
1227 785  
  786 +```json
1228 787 {
1229   -
1230   -`    `"success": true,
1231   -
1232   -`    `"businessException": false,
1233   -
1234   -`    `"errorCode": null,
1235   -
1236   -`    `"message": null,
1237   -
1238   -`    `"result": {
1239   -
1240   -`        `"code": "则一订单号",
1241   -
1242   -`        `"customerOrderCode": "客户订单号"
1243   -
1244   -`   `}
1245   -
  788 + "success": true,
  789 + "businessException": false,
  790 + "errorCode": null,
  791 + "message": null,
  792 + "result": {
  793 + "code": "则一订单号",
  794 + "customerOrderCode": "客户订单号"
  795 + }
1246 796 }
  797 +```
1247 798  
1248 799  
1249 800  
1250   -**推送发车信息**
  801 +#### 推送发车信息
1251 802  
1252   -**接口信息**
  803 +##### 接口信息
1253 804  
1254   -**概述**
  805 +###### 概述
1255 806  
1256 807 则一调用该接口推送发车运输数据。
1257 808  
1258   -**请求方式:**
  809 +###### 请求方式:
1259 810  
1260 811 post
1261 812  
1262   -**请求路径:**
  813 +###### 请求路径:
1263 814  
1264 815 /departVehicle
1265 816  
1266   -**Body参数**
1267   -
1268   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
1269   -| :- | :- | :- | :- | :- |
1270   -|code|String|是|220101000001|则一订单号|
1271   -|waybillCode|String|是|Y220101000001|则一运单号|
1272   -|customerOrderCode|String|是    |220101000001|客户订单号,订单唯一标识|
1273   -|departTime|Number|是|1643251533306|发车时间戳|
1274   -|operateTime|Number|是|1643251533306|操作时间戳|
1275   -|weight|Number|否|200000|重量|
1276   -|volume|Number|否|16|体积|
1277   -**返回示例**
  817 +###### Body参数
1278 818  
  819 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  820 +| ----------------- | ------ | -------------------------- | ------------- | ------------------------ |
  821 +| code | String | 是 | 220101000001 | 则一订单号 |
  822 +| waybillCode | String | 是&nbsp;&nbsp; | Y220101000001 | 则一运单号 |
  823 +| customerOrderCode | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | 220101000001 | 客户订单号,订单唯一标识 |
  824 +| departTime | Number | 是 | 1643251533306 | 发车时间戳 |
  825 +| operateTime | Number | 是 | 1643251533306 | 操作时间戳 |
  826 +| weight | Number | 否 | 200000 | 重量 |
  827 +| volume | Number | 否 | 16 | 体积 |
1279 828  
  829 +###### 返回示例
1280 830  
  831 +```json
1281 832 {
1282   -
1283   -`    `"success": true,
1284   -
1285   -`    `"businessException": false,
1286   -
1287   -`    `"errorCode": null,
1288   -
1289   -`    `"message": null,
1290   -
1291   -`    `"result": {
1292   -
1293   -`        `"code": "则一订单号",
1294   -
1295   -`        `"customerOrderCode": "客户订单号"
1296   -
1297   -`   `}
1298   -
  833 + "success": true,
  834 + "businessException": false,
  835 + "errorCode": null,
  836 + "message": null,
  837 + "result": {
  838 + "code": "则一订单号",
  839 + "customerOrderCode": "客户订单号"
  840 + }
1299 841 }
  842 +```
1300 843  
1301   -**推送到车信息**
  844 +#### 推送到车信息
1302 845  
1303   -**接口信息**
  846 +##### 接口信息
1304 847  
1305   -**概述**
  848 +###### 概述
1306 849  
1307 850 则一调用该接口推送到达数据。
1308 851  
1309   -**请求方式:**
  852 +###### 请求方式:
1310 853  
1311 854 post
1312 855  
1313   -**请求路径:**
  856 +###### 请求路径:
1314 857  
1315 858 /arriveVehicle
1316 859  
1317   -**Body参数**
1318   -
1319   -|**名称**|**类型**|**必填**|**示例值**|**描述**|
1320   -| :- | :- | :- | :- | :- |
1321   -|code|String|是|220101000001|则一订单号|
1322   -|waybillCode|String|是|Y220101000001|则一运单号|
1323   -|customerOrderCode|String|是    |220101000001|客户订单号,订单唯一标识|
1324   -|arriveTime|Number|是|1643251533306|到车时间戳|
1325   -|operateTime|Number|是|1643251533306|操作时间戳|
1326   -**返回示例**
  860 +###### Body参数
1327 861  
  862 +| 名称 | 类型 | 必填 | 示例值 | 描述 |
  863 +| ----------------- | ------ | -------------------------- | ------------- | ------------------------ |
  864 +| code | String | 是 | 220101000001 | 则一订单号 |
  865 +| waybillCode | String | 是&nbsp;&nbsp;&nbsp; | Y220101000001 | 则一运单号 |
  866 +| customerOrderCode | String | 是&nbsp;&nbsp;&nbsp;&nbsp; | 220101000001 | 客户订单号,订单唯一标识 |
  867 +| arriveTime | Number | 是 | 1643251533306 | 到车时间戳 |
  868 +| operateTime | Number | 是 | 1643251533306 | 操作时间戳 |
1328 869  
  870 +###### 返回示例
1329 871  
  872 +```json
1330 873 {
1331   -
1332   -`    `"success": true,
1333   -
1334   -`    `"businessException": false,
1335   -
1336   -`    `"errorCode": null,
1337   -
1338   -`    `"message": null,
1339   -
1340   -`    `"result": {
1341   -
1342   -`        `"code": "则一订单号",
1343   -
1344   -`        `"customerOrderCode": "客户订单号"
1345   -
1346   -`   `}
1347   -
  874 + "success": true,
  875 + "businessException": false,
  876 + "errorCode": null,
  877 + "message": null,
  878 + "result": {
  879 + "code": "则一订单号",
  880 + "customerOrderCode": "客户订单号"
  881 + }
1348 882 }
  883 +```
1349 884  
1350   -**Java-sdk下载**
  885 +### Java-sdk下载
1351 886  
1352 887 [zy-java-sdk](https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/file/jar/java-sdk/zy-java-sdk-1.0.0.jar)
1353 888  
1354 889  
1355 890  
1356   -**2022-03-09更新日志**
  891 +### 2022-03-09更新日志
1357 892  
1358 893 为了保证接口的通用性,本次涉及到改动的信息如下
1359 894  
1360   -1. [下单](#下单): 接口返回值移除子单集合,通过接单接口推送。
1361   -1. [接单接口](#接单接口):由推送参考价改为接单接口,推送运单集合及每个运单的参考价格。
1362   -1. 对接接口中子单号subCode参数命名更改为运单号waybillCode。
1363   -
1364   -
  895 +1. [下单](http://open-doc.shjiuze.cn/order.html#下单): 接口返回值移除子单集合,通过接单接口推送。
  896 +2. [接单接口](http://open-doc.shjiuze.cn/order.html#接单接口):由推送参考价改为接单接口,推送运单集合及每个运单的参考价格。
  897 +3. 对接接口中子单号subCode参数命名更改为运单号waybillCode。
1365 898 \ No newline at end of file
... ...