API文档/
物流跟踪/
物流查询
应用场景
1.在电商平台购物后,通过购物订单跟踪物流时,调用此API获取物流信息详情

2.处理运费对账时,一键获取运单物流状态

3.批量跟踪及获取运单物流信息

支持品牌列表下载并查看详情

技术咨询请加微信:kuaibao135

接口名称
express.info.get

公共参数
请求地址
环境名称 HTTPS请求地址
正式地址 https://kop.kuaidihelp.com/api
公共请求参数
名称 类型 是否必须 描述
method string 是
API接口名称
app_id string 是
用户ID(注册开放平台时分配,在控制台中查看)
sign string 是
按照规则(md5(app_id + method + ts + api_key))生成的合法性验证签名(32位字符串,字母小写)如:10000cloud.print.do1524209949bdf3b5f50865ac813cbdfd6c9b572b79加密后5030cae3388ecdc2e686379753a0564c
ts string 是
当前请求的时间戳(10位或13位)
data string 是
JSON格式请求参数
公共响应参数
名称 类型 是否必须 描述
code int 是
响应状态码。0-成功,非0-失败下载并查看详情
msg string 是
返回结果说明
uid string 是
本次请求唯一业务流水号
data string 是
JSON格式响应数据
请求参数
名称 类型 是否必须 描述
waybill_codes string 是
运单号,多个单号之间用”,”隔开(英文逗号),最多支持10条
cp_code string 否
运单号所属快递品牌,需传简称;支持品牌的简称请查看品牌列表下载并查看详情,不传输品牌字段时接口会自动识别品牌后返回结果
result_sort string 是
返回的物流信息排序(根据物流时间,0-降序排列,1-升序排列,默认值0)
phone string 否
查顺丰快递时,必填。收发件人,手机号码,后4位(如电话号码13900001234,填写1234即可)
响应参数
名称 类型 是否必须 描述
waybill_code string 是
运单号
cp_code string 是
快递公司品牌;支持品牌列表下载并查看详情
status string 是
物流状态(collected-已揽收;sending-运输中;delivering-派件中;allorgraph-已代收;signed-已签收;question-问题件;)
data array 是
详细物流信息
order string 是
物流轨迹顺序,desc 代表降序排列, asc 代表升序排列
请求示例
Java
C#
Python
PHP
Node.js
Curl
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import java.util.Map;
import java.util.HashMap;

import java.util.Date;

public class Request {

public static void main(String[] args) {
String host = “http://kop.kuaidihelp.com“;
String path = “/api”;
String requestMethod = “POST”;
Map<String, String> headers = new HashMap<String, String>();
//根据API的要求,定义相对应的Content-Type
headers.put(“Content-Type”, “application/x-www-form-urlencoded; charset=UTF-8”);
Map<String, String> querys = new HashMap<String, String>();
Map<String, String> bodys = new HashMap<String, String>();

String appId = “50001”;
String method = “express.info.get”;
// 当前时间戳
String ts = new Date().getTime() + “”;
String appKey = “bdf3b5f50865ac813cbdfd6c9b572b79”;

// 计算签名
String signStr = appId + method + ts + appKey;
String sign = Request.getMD5(signStr, 32);

bodys.put(“app_id”, appId);
bodys.put(“method”, method);
bodys.put(“ts”, ts);
bodys.put(“sign”, sign);
// data参数是个json格式的字符串 建议使用函数或方法去生成
bodys.put(“data”, “{ “waybill_codes”:”物流单号多个的以英文逗号分隔”, “cp_code”:”品牌简称”,”result_sort”:”0”}”);

try {
/**

  1. * 重要提示如下:
  2. * HttpUtils请从
  3. * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
  4. * 下载
  5. *
  6. * 相应的依赖请参照
  7. * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
  8. */
  9. HttpResponse response = HttpUtils.doPost(host, path, requestMethod, headers, querys, bodys);
  10. System.out.println(response.toString());
  11. //获取response的body
  12. System.out.println(EntityUtils.toString(response.getEntity()));
  13. } catch (Exception e) {
  14. e.printStackTrace();
  15. }

}

  1. // 计算md5
  2. public static String getMD5(String plainText, int length) {
  3. try {
  4. MessageDigest md = MessageDigest.getInstance("MD5");//获取MD5实例
  5. md.update(plainText.getBytes());//此处传入要加密的byte类型值
  6. byte[] digest = md.digest();//此处得到的是md5加密后的byte类型值
  7. /*
  8. 下边的运算就是自己添加的一些二次小加密,记住这个千万不能弄错乱,
  9. 否则在解密的时候,你会发现值不对的(举例:在注册的时候加密方式是一种,
  10. 在我们登录的时候是不是还需要加密它的密码然后和数据库的进行比对,但是
  11. 最后我们发现,明明密码对啊,就是打不到预期效果,这时候你就要想一下,你是否
  12. 有改动前后的加密方式)
  13. */
  14. int i;
  15. StringBuilder sb = new StringBuilder();
  16. for (int offset = 0; offset < digest.length; offset++) {
  17. i = digest[offset];
  18. if (i < 0)
  19. i += 256;
  20. if (i < 16)
  21. sb.append(0);
  22. sb.append(Integer.toHexString(i));//通过Integer.toHexString方法把值变为16进制
  23. }
  24. return sb.toString().substring(0, length);//从下标0开始,length目的是截取多少长度的值
  25. } catch (NoSuchAlgorithmException e) {
  26. e.printStackTrace();
  27. return null;
  28. }
  29. }

}
响应示例
成功响应示例
JSON示例
{
“code”:int0
“msg”:string”查询成功”
“data”:[
0:{
“waybill_code”:string”3339809700595”
“cp_code”:string”sto”
“status”:string”signed”
“data”:[
0:{
“time”:string”2017-10-03 19:11:00”
“context”:string”已签收,签收人是代签”
}
1:{
“time”:string”2017-10-03 08:14:33”
“context”:string”快件已到达 浙江浦江公司”
}
2:{
“time”:string”2017-10-03 01:09:41”
“context”:string”由浙江义乌中转部 发往 浙江浦江公司”
}
]
“order”:string”desc”
}
]
}
异常响应示例
JSON示例
{
“code”:string”错误代码”
“msg”:string”错误信息”
“data”:{}
}
错误代码
错误码 描述
201101 查询暂无记录
201102 请求参数错误
201103 不支持的快递品牌

更多相关文章

  1. 农村物流配送管理如何走出困境?捷码有方案
  2. 快递100企业版物流快递接口使用流程
  3. 调用快递100接口物流信息错误常见问题和解决方法
  4. 物流查询API在电商行业中最常见的2个用途
  5. 国内外7款好用的快递物流查询API工具
  6. 技术人员如何评估物流信息API服务商合不合格?可从这5点因素切入
  7. 接入超过100家快递物流查询API接口调用指南
  8. 电商和物流行业的程序员需要学习的行业资料包
  9. 一键批量查询快递物流信息的软件有哪种

随机推荐

  1. android 圆角图标 和不规则圆角(边框)
  2. [Android Pro] PackageManager#getPackag
  3. 一些非常实用的 Android 开发资源 【转】
  4. android 4.0 for windows 7 开发环境搭建
  5. Android中Gallery的应用
  6. 自定义 SeekBar 样式 详解
  7. Rockie's Android Porting Guide(3)——Add
  8. 关于Android音频、视频录制类MediaRecord
  9. Android自动化测试工具——Monkey
  10. android点滴