查询快递免费api接口(PHP示例)
电商企业、微商用户和ERP可以使用集中快递查询API接口获取快递物流信息,相比于分别对接快递公司接口,这种集中查询接口的优势是,减少对接难度,以及降低了接口维护难度。
一、快递查件接口
快递查件,有不少公司提供这种集中查件接口,比如:
快宝开放平台
快递100
快递100每天可查询两千次,当日查询次数超过,将不在可查;快宝开放平台,完全免费开放,无查询次数限制,并且对接起来很方便。
二、申请流程
申请流程大同小异,以快宝开放平台为例:
1.注册,并获得开发者账号(ID,及API Key),注册地址:http://open.kuaidihelp.com/register
2.选择物流查询API对接,并在工程师的协助下完成技术调试
3.将物流查询API集成到你的软件中
三、调用案例
快宝开放平台他们支持6中开发语言(JAVA、C#、PHP、Python、Curl、Node.js),根据你的软件开发语言,参照不同的代码案例,下面以PHP为例。
接口名称:express.info.get
正式地址:https://kop.kuaidihelp.com/api
请求方式:HTTP POST
请求方法编码格式:utf-8
公共请求参数:
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
method | string | 是 | API接口名称 |
app_id | string | 是 | 用户ID(注册开放平台时分配,在控制台中查看) |
sign | string | 是 | 按照规则(md5(app_id + method + ts + api_key))生成的验证合法性签名 |
ts | string | 是 | 当前请求的时间戳 |
data | string | 是 | JSON格式请求参数设置 |
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
code | int | 是 | 响应状态码。0-成功,非0-失败下载并查看详情 |
msg | string | 是 | 返回结果说明 |
uid | string | 是 | 本次请求唯一业务流水号 |
data | string | 是 | JSON格式响应数据 |
名称 | 类型 | 是否必输 | 描述 |
waybill_no | string | 是 | 物流单号,多个单号之间用","隔开,最多支持10条 |
exp_company_code | string | 是 | 支持品牌简称 |
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
code | int | 是 | 响应状态码。0-成功,非0-失败 |
msg | string | 是 | 返回结果说明 |
data | string | 是 | JSON格式响应数据 |
$host = "https://kop.kuaidihelp.com/api";
$method = "POST";
$headers = array();
//根据API的要求,定义相对应的Content-Type
array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded;
charset=UTF-8");
$querys = "";
$bodys = [
"app_id"=>'50001',
"method"=>'express.info.get',
"sign"=>"bdf3b5f50865ac813cbdfd6c9b572b79",
"ts"=>'1524209949',
"data"=>'{ "waybill_no":"物流单号多个的以英文逗号分隔", "exp_company_code":"品牌简称"}'
];
$bodys = http_build_query($bodys);
$url = $host;
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
if (1 == strpos("$".$host, "https://"))
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
var_dump(curl_exec($curl));
成功响应示例↓
{
"code":int0
"msg":string"查询成功"
"data":[
0:{
"no":string"3339809700595"
"brand":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"
}
]
}
失败响应示例↓
{
"code":string"错误代码"
"msg":string"错误信息"
"data":{
}
}
错误码↓
【查询快递免费api接口(PHP示例)】
错误码 | 描述 |
---|---|
201102 | 请求参数错误 |
201103 | 不支持的快递品牌 |
201101 | 查询暂无记录 |
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- mybatisplus|mybatisplus where QueryWrapper加括号嵌套查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- 探索免费开源服务器tomcat的魅力
- 霍兰德职业代码对照表
- 数据库|SQL行转列方式优化查询性能实践
- 签约
- neo4j|neo4j cql语句 快速查询手册
- 京郊有处免费大峡谷,人少清幽,凉爽贯彻“小西藏”