前一阵子用PHP取订单号的物流信息,用的是极速数据的一个插件,收费的。这个是其调用的接口链接:http://www.jisuapi.com/api/express。接口很简单很容易看懂,处理起来也不麻烦。麻烦的有两点:1、这个是收费的,49元/10000次,需要注册,注册账号会给定一个appkey,通过这个appkey进行调用,注册的第一天不限制次数,从第二天开始计数。第二点:调用的接口中需要一个php文件,需要找客服要或者加他们的工作群去里面找。我这个就是从群里下的。
以下的两个例子来自官网。
1、查看合作的快递公司:
通过该接口能知道极速数据能查看哪些物流公司的物流信息以及这些物流公司的基本信息。
接口地址:http://api.jisuapi.com/express/type
支持格式:JSON,JSONP
请求方法:GET
请求示例:http://api.jisuapi.com/express/type?appkey=yourappkey
返回参数:
参数名称 | 类型 | 说明 |
name | string | 快递名称 |
type | string | 快递代号 |
letter | string | 首字母 |
tel | string | 电话 |
number | string | 测试单号 |
请求代码:
<?php
require_once 'curl.func.php';
$appkey = 'your_appkey_here';//你的appkey
$url = "http://api.jisuapi.com/express/type?appkey=$appkey";
$result = curlOpen($url);
$jsonarr = json_decode($result, true);
//exit(var_dump($jsonarr));
if($jsonarr['status'] != 0)
{
echo $jsonarr['msg'];
exit();
}
foreach($jsonarr['result'] as $val)
{
echo $val['name'].' '.$val['type'].'<br>';
}
JSON返回示例:
{ "status": "0", "msg": "ok", "result": [ { "name": "安信达", "type": "ANXINDA", "letter": "A", "tel": "", "number": "" }, { "name": "AAE", "type": "AAEWEB", "letter": "A", "tel": "400-6100-400", "number": "150502359" } ] }
2、快递查询:
接口地址:http://api.jisuapi.com/express/query
支持格式:JSON,JSONP
请求方法:GET,POST
请求示例:http://api.jisuapi.com/express/query?appkey=yourappkey&type=sfexpress&number=931658943036
支持格式:JSON,JSONP
请求方法:GET,POST
请求示例:http://api.jisuapi.com/express/query?appkey=yourappkey&type=sfexpress&number=931658943036
请求参数:
参数名称 | 类型 | 必填 | 说明 |
type | string | 是 | 快递公司,自动识别请写auto |
number | string | 是 | 快递单号 |
参数名称 | 类型 | 说明 |
time | string | 时间 |
status | string | 状态 |
issign | string | 是否签收 |
type | string | 快递公司 |
number | string | 快递单号 |
请求代码:
<?php
require_once 'curl.func.php';
$appkey = 'your_appkey_here';//你的appkey
$url = "http://api.jisuapi.com/express/query?appkey=$appkey";
$type = 'sfexpress';
$number = '931658943036';
$post = array('type'=>$type,
'number'=>$number
);
$result = curlOpen($url, array('post'=>$post));
$jsonarr = json_decode($result, true);
//exit(var_dump($jsonarr));
if($jsonarr['status'] != 0)
{
echo $jsonarr['msg'];
exit();
}
$result = $jsonarr['result'];
if($result['issign'] == 1) echo '已签收'.'<br>';
else echo '未签收'.'<br>';
foreach($result['list'] as $val)
{
echo $val['time'].' '.$val['status'].'<br>';
}
JSON返回示例:
{ "status": "0", "msg": "ok", "result": { "list": [ { "time": "2015-10-20 10:24:04", "status": "顺丰速运 已收取快件" }, { "time": "2015-10-20 11:49:26", "status": "快件离开【广州龙怡服务点】,正发往 【广州番禺集散中心】" } { "time": "2015-10-21 09:22:10", "status": "已签收,感谢使用顺丰,期待再次为您服务" }, { "time": "2015-10-21 09:22:10", "status": "在官网\"运单资料&签收图\",可查看签收人信息" } ], "issign": "1" } }3、错误码参照:
API错误码:
201 快递单号为空
202 快递公司为空
203 快递公司不存在
205 没有信息
204 快递公司识别失败
系统错误码:
101 APPKEY为空或不存在
102 APPKEY已过期
103 APPKEY无请求此数据权限
104 请求超过次数限制
105 IP被禁止
106 IP请求超过限制
107 接口维护中
108 接口已停用
101 APPKEY为空或不存在
102 APPKEY已过期
103 APPKEY无请求此数据权限
104 请求超过次数限制
105 IP被禁止
106 IP请求超过限制
107 接口维护中
108 接口已停用