冰河系统快递路由信息查询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
上一篇下一篇

猜你喜欢

热点阅读