冰河系统快递路由信息查询API.md
2017-07-27 本文已影响0人
higoIT
冰河系统快递路由信息查询API用于第三方通过API查询快递路由信息
API授权请参考 冰河系统授权访问流程
冰河系统使用http基本认证(http basic auth)方式进行认证,以及绑定ip;每次API调用必须在http请求头中必须包含名为:accessToken(由黑狗提供)的头信息,对应的值由黑狗提供,java中类似:
header("accessToken", "由黑狗提供")
accssToken与之前的userValue一致
测试前,请联系黑狗相关人员获得授权码,联系方式:http://www.jianshu.com/p/da0afb071d8a
快递路由信息查询API
方法名: /express/api/v1/trackExpress.do
测试地址为: http://test.higo-express.cn/express/api/v1/trackExpress.do
正式地址为: http://oms.higo-express.cn/express/api/v1/trackExpress.do
请求参数(POST请求)
"waybillID": "4000005415"
参考代码
jar包依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.2.14.RELEASE</version>
</dependency>
代码示例
package com.higo.action.api;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import com.higo.query.express.ExpressQuery;
import com.higo.utils.HigoLogUtils;
import com.higo.utils.JacksonUtils;
/**
* yulongs 2015年11月3日 下午5:39:08
*
**/
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(locations = {"file:src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml","file:src/main/webapp/WEB-INF/spring/root-context.xml"})
public class ExpressTrackingAPIActionTest {
@Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}
@Test
public void testTrackExpress() throws Exception {
ExpressQuery expressQuery = new ExpressQuery();
expressQuery.setWaybillID("4000328507");
String accsstoken = "3f4873cab8eb5c24c1901fa3302a4043";
HigoLogUtils.debug(JacksonUtils.writeValue(expressQuery));
this.mockMvc.perform(post("http://test.higo-express.cn/express/api/v1/trackExpress.do").param("waybillID", expressQuery.getWaybillID())
.header("Content-Type",MediaType.APPLICATION_FORM_URLENCODED_VALUE +";charset=utf-8").
header("accessToken", accsstoken)).andDo(print());
}
}
请求参数说明
参数名 | 描述 | 类型 | 长度 | 是否必填 | 示例 |
---|---|---|---|---|---|
waybillID | 黑狗快递单号 | string | 32 | 是 | 4000005415 |
返回示例
{
"requestValid": 1,
"message": null,
"callStatus": "success",
"data": [
{
"timestamp": "2015/12/16 16:36:06",
"trackingDetail": "您的快递已在【大兴RDC】站点收件",
"expressStatus": 0
}
]
}
返回参数说明
参数名 | 描述 | 类型 | 长度 | 是否必填 | 示例 |
---|---|---|---|---|---|
callStatus | 调用成功失败 | string | 32 | 是 | fail/success |
message | 失败提示信息 | string | 32 | 否 | 授权失败 |
data | 路由信息 | 数组 | 是 | 是 | |
data.timestamp | 路由信息发生时间 | string | 是 | 是 | |
data.trackingDetail | 路由信息 | string | 是 | 您的快递已在【大兴RDC】站点收件 | |
data.expressStatus | 是否已经签收 0:未签收 1:签收 | int | 是 | 0/1 |