dop德邦物流
1 对接准备
1.1 注册
登录地址:http://dop.deppon.com/#/login/loginTab
1.2 完善信息
完善企业信息,获取测试环境信息,如companyCode,appkey,sign值
1.3 获取jdk
选择对应语言,下载sdk
http://dop.deppon.com/#/apiDocs/downloads/relatedDownloads
2 开发
2.1 依赖注入
在resources下新建lib文件夹,将dop-sdk-1.0-SNAPSHOT.jar导入
pom.xml中注入依赖
<!--尝试对接德邦-->
<dependency>
<groupId>db.sdk</groupId>
<artifactId>dop</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${
project.basedir}/src/main/resources/lib/dop-sdk-1.0-SNAPSHOT.jar</systemPath>
</dependency>
接下来,看文档,看接口说明,开始测试。
2.2 新标准轨迹查询
2.2.1 报文校验
在dop平台配置接口,并进行报文校验
请求路径:http://dpsanbox.deppon.com/sandbox-web/standard-order/newTraceQuery.action
消息类型:NEW_TRACE_QUERY
2.2.2 后台@Test
@Test
public void mailNoQuery() throws UnsupportedEncodingException {
String url = "http://dpsanbox.deppon.com/sandbox-web/standard-order/newTraceQuery.action";
String params = "{\"mailno\":\"DPK6546599321298\"}";
String result = DBUtils.postHttp(url,params,companyCode,appkey);
System.out.println(result);
}
成功返回:(之前下单测试)
uniquerRequestNumber:唯一值
{
"result":"true",
"reason":"",
"resultCode":"1000",
"responseParam":{
"trace_list":[
{
"city":"**市(测试)",
"description":"正常签收,签收人类型:本人/同事/门卫 等",
"site":"【***】营业部",
"status":"SIGNED",
"time":"2022-04-14 03:05:28"
},
{
"city":"**市(测试)",
"description":"此货已滞留,与客户预约改日派送",
"site":"【***】营业部",
"status":"ERROR",
"time":"2022-04-14 06:05:28"
},
{
"city":"**市(测试)",
"description":"拒绝签收:原因",
"site":"【***】营业部",
"status":"FAILED",
"time":"2022-04-14 03:05:28"
},
{
"city":"**市(测试)",
"description":"派送中,派送人:**,派送人电话:***********",
"site":"【***】营业部",
"status":"SENT_SCAN",
"time":"2022-04-14 00:05:28"
},
{
"city":"**市(测试)",
"description":"货物已到达【***营业部】部门",
"site":"【***】营业部",
"status":"ARRIVAL",
"time":"2022-04-13 21:05:28"
},
{
"city":"**市(测试)",
"description":"运输中,离开【上海市转运中心】,下一站【***营业部】(出发到达对应多个)",
"site":"****转运中心/营业部/枢纽中心",
"status":"DEPARTURE",
"time":"2022-04-13 18:05:28"
},
{
"city":"**市(测试)",
"description":"您的订单已被收件员揽收,【上海市青浦区***营业部】库存中",
"site":"上海市转运中心/营业部/枢纽中心",
"status":"GOT",
"time":"2022-04-13 16:05:28"
}
],
"tracking_number":"DPK6546599321298"
},
"uniquerRequestNumber":"26049436618692637"
}
2.3 估算价格接口
请求路径:http://dpsanbox.deppon.com/sandbox-web/standard-order/queryPriceTime.action
消息类型:QUERY_PRICE_TIME
2.3.1 估算参数
估算价格、时效参数如下
package com.hc.store.dop;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author chajintao
* @date 2022/4/13 10:49
*/
@Data
@ApiModel("估算价格、时效参数")
public class DbEstimatedPriceVO {
@ApiModelProperty(value = "提货方式", notes = "DELIVER_NOUP汽运送货(不含上楼);DELIVER_UP汽运送货(上楼);SELF_PICKUP汽运自提;DELIVER_INGA汽运送货进仓;LARGE_DELIVER_UP大件上楼费;DELIVER_NOUP_AIR送货不上楼")
private String receiveMethod;
@ApiModelProperty(value = "物流公司id", notes = "唯一值:DEPPON", required = true)
private String logisticCompanyID;
@ApiModelProperty(value = "出发城市", required = true)
private String originalsaddress;
@ApiModelProperty(value = "目标城市", required = true)
private String originalsStreet;
@ApiModelProperty(value = "寄件时间", required = true)
private String sendDateTime;
@ApiModelProperty(value = "总体积", required = true)
private String totalVolume;
@ApiModelProperty(value = "总重量", required = true)
private String totalWeight;
@ApiModelProperty(value = "保价", notes = "无值时默认为0")
private String insuredAmount;
}
2.3.2 @Test
@Test
public void tests() throws UnsupportedEncodingException {
String url = "http://dpsanbox.deppon.com/sandbox-web/standard-order/queryPriceTime.action";
for (int i = 0; i < 10; i++) {
DbEstimatedPriceVO db = new DbEstimatedPriceVO();
db.setOriginalsaddress("上海市-上海市-青浦区,上海上海市青浦区徐泾镇明珠路");
db.setOriginalsStreet("上海市-上海市-青浦区,上海上海市青浦区徐泾镇崧建路");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
db.setSendDateTime(simpleDateFormat.format(new Date()));
db.setTotalVolume("0.001");
db.setTotalWeight("500");
db.setLogisticCompanyID(<