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