快递查询API接口(trackingmore)
快递查询接口
目前提供快递查询的接口平台有:
- Trackingmore
- 快递100
- 快递网
不同接口的区别:
(1)Trackingmore支持380家快递公司,其中有55家为国内的快递,其余325家为国际快递。具体的价格为0.6分钱/单号左右,新注册用户可以免费测试12小时。
(2)快递100属于在国内做得比较早的平台,可以申请每天最多2000次的API调用,但需要给快递100做一个友链。超过2000次收费,每次0.06~0.1元不等。
(3)快递网可以申请每天最多500次的API调用,但同样需要做一个友链。超过部分,每次0.05元。
快递API的应用场景与用途
1. 最常见的应用场景如下:
(1)电商网站:例如B2C、团购、B2B、批发分销站、C2C、本地生活交易等网站。
(2)管理系统:订单处理平台、订货平台、发货平台、分销系统、渠道管理系统、客户管理系统、ERP等。
2. 快递API的用途如下:
(1)让顾客登录网站后,直接在“我的订单”页面内就能看到订单的物流状态。
(2)自动筛选出“已签收”、“疑难件”等状态的单号,减轻物流跟单人员的压力。
(3)改变订单的状态和交易流程,例如单号变为“已签收”,就能让订单变为可以确认退换货等。
(4)评估选择快递公司,根据“已签收”的运单数,可以算出销售人员的业绩,且便于应对货到付款的结算。
(5)邮件、短信提醒用户运单的最新状态,可以安抚用户,也可以利用邮件短信二次营销。
对接示例
这里以Trackingmore为例,不同的接口的对接方式比较类似,都需要注册,并生成自己的API key。以下以Trackingmore的实时查询API为例。
接口支持的消息接收方式为HTTP POST
请求方法的编码格式为 utf-8
请求body部分的参数的数据格式为json 格式
接口参数
接口请求地址
http://api.trackingmore.com/v2/trackings/realtime
请求头部信息参数
参数名称 | 类型 | 说明 | 是否必须 |
|
|
定义请求头部的数据格式 | 是 |
|
string | Trackingmore 后台获取的API | 是 |
请求body参数说明
参数说明 | 类型 | 说明 | 是否必须 |
|
string | 查询快递的快递单号 | 是 |
|
string | trackingmore定义的快递商简码,比如china ems 就是china-ema | 是 |
carrier_code 参数是trackingmore 自己定义的快递商家的简码,具体的可以在这里查看。
还有需要注意的就是body部分这两个参数需要时json数据格式。大概样子就是这样的
{
"tracking_number": "LK664578623CN",
"carrier_code": "china-ems"
}
返回参数定义
参数名称 | 参数类型 | 参数说明 | 是否一定要返回该项值 |
code |
数字 | 返回码 | 成功返回200,失败有其他队列的错误码 |
type | string | 接口类型 | 成功返回Success |
message | string | 返回信息说明 | 成功返回Succes,失败返回队列的错误信息 |
data | json | 查询到的物流信息 | 成功返回物流信息,失败返回空 |
其他的状态响应简码可以在这里看到。
返回示例
{
"meta": {
"code": 200,
"type": "Success",
"message": "Success"
},
"data": {
"items": [{
"id": "442f798ea35749e7605d1a73d4181a01",
"tracking_number": "RE113184005HK",
"carrier_code": "hong-kong-post",
"status": "transit",
"original_country": "Hong Kong [CN]",
"destination_country": "Colombia",
"itemTimeLength": null,
"origin_info": {
"weblink": "http:\/\/www.hongkongpost.hk\/",
"phone": "852 2921 2222",
"carrier_code": "hong-kong-post",
"trackinfo": [{
"Details": "CO",
"StatusDescription": "The item ( RE113184005HK ) left Hong Kong for its destination on 10-Oct-2015 ",
"Date": "2015-10-09 00:00"
}]
},
"destination_info": {
"weblink": "http:\/\/www.4-72.com.co\/",
"phone": "(57-1) 4722000",
"carrier_code": "colombia-post",
"trackinfo": [{
"Date": "2015-10-22 20:52",
"StatusDescription": "DIGITALIZADO",
"Details": "CTP.CENTRO A"
}, {
"Date": "2015-10-22 17:02",
"StatusDescription": "Registro de entrega exitosa",
"Details": ""
}, {
"Date": "2015-10-22 16:55",
"StatusDescription": "ENTREGADO",
"Details": "CD.MONTEVIDEO"
}, {
"Date": "2015-10-22 09:31",
"StatusDescription": "REASIGNADO",
"Details": "CD.NORTE"
}, {
"Date": "2015-10-22 08:52",
"StatusDescription": "REASIGNADO",
"Details": "CD.NORTE"
}, {
"Date": "2015-10-22 02:39",
"StatusDescription": "En proceso",
"Details": "CTP.CENTRO A"
}, {
"Date": "2015-10-21 16:36",
"StatusDescription": "En proceso",
"Details": "CTP.CENTRO A"
}, {
"Date": "2015-10-20 06:29",
"StatusDescription": "Envío Recibido en la oficina de cambio internacional",
"Details": "COBOGC"
}]
}
}]
}
}
PHP接入示例
$url = "http://api.trackingmore.com/v2/trackings/realtime";
$header = array(
'Content-Type:application/json',
'Trackingmore-Api-Key:b7a0009f-6cd2-43ee-9d1d-ed7135ad460f'
);
$postData = array(
'tracking_number'=>'LK664578623CN',
'carrier_code'=>'china-ems'
); $res = curl_post($url,json_encode($postData),$header);
print_r($res); function curl_post($url, $postData,$header=array(),$cookie_file='',$isheader=0,$proxy='',$debug=0,$autoRedirect=0,$time=89){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if(!empty($isheader)){
curl_setopt($ch, CURLOPT_HEADER, $isheader);
}
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT,$time);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:44.0) Gecko/20100101 Firefox/44.0');
if(!empty($header)){
curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
} if(!empty($autoRedirect)){
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
}
if(!empty($cookie_file)){
// 读取文件所储存的Cookie信息
curl_setopt ( $ch, CURLOPT_COOKIEFILE, $cookie_file );
}
if(!empty($proxy)){
curl_setopt($ch, CURLOPT_PROXY, $proxy);
}
//curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
if(!empty($debug)){
curl_setopt($ch,CURLOPT_VERBOSE,1);
curl_setopt($ch,CURLOPT_FAILONERROR,TRUE);
print_r(curl_error($ch));
print_r(curl_getinfo($ch));
}
$html = curl_exec($ch);
curl_close($ch);
return $html;
}
快递查询API接口(trackingmore)的更多相关文章
- 快递查询API接口对接方法
各类接口 快递查询API有即时查询和订阅查询两种,即时是请求即返回数据,订阅则是订阅快递单号到接口,有物流轨迹更新则全量返回数据.目前常用的有快递鸟.快递100.快递网等. 快递鸟即时API可以查询3 ...
- 各种快递查询--Api接口
授权成功我的密钥 爱查快递API使用说明文档 API地址: 以前:http://api.ickd.cn/?com=[]&nu=[]&id=[]&type=[]&enco ...
- 快递查询API接口集成,有需要的可以直接用
适用于涉及经常发货.寄快递的人群.企业.电商网站.微信公众号平台等对接使用.支持国内外三百多家快递及物流公司的快递单号一站式查询. 使用说明: 1.KuadidiAPI.php 不需要修改改任何东西 ...
- 物流一站式单号查询之快递鸟API接口(附Demo源码)
连载篇提前看 物流一站式单号查询之快递鸟API接口 物流一站式查询之TrackingMore篇 物流一站式查询之顺丰接口篇 物流一站式查询之快递100 前情提要 前三篇中,我们已经从注册.申请接口.调 ...
- 快递查询api(多接口方案)
/** 本环境使用php+smarty,结合两种快递api调取快递数据 * 说明,先快递鸟调取数据,失败后再调取快递网的数据* 快递鸟 http://www.kdniao.com 快递网 http:/ ...
- 常用免费快递查询API对接案例
现在许多电商公司和ERP都会寻找比较适用的集成快递查询接口,减少对接难度,现在整理一下常用的免费快递查询接口,并附上调用案例,如果有觉得不对的地方,望能够一起沟通探讨! 一.快递查询接口 目前有提供免 ...
- 免费的手机号码归属地查询API接口文档
聚合数据手机号码归属四查询API接口,根据手机号码或手机号码的前7位,查询手机号码归属地信息,包括省份 .城市.区号.邮编.运营商和卡类型. 通过链接https://www.juhe.cn/docs/ ...
- 分享几个免费IP地址查询API接口
几个免费IP地址查询API接口 1.IP地址查询接口:http://apis.juhe.cn/ip/ip2addr要先去https://www.juhe.cn/docs/api/...申请APPKEY ...
- 如何使用Postman快速简单的调用快递物流平台快递鸟API接口
前沿 快递鸟是一家聚合类的第三方快递物流平台,目前该平台提供的产品主要以API为主.由于API不能直观的看到产品效果,需要进行API对接联调成功后才能真实的看到产品的实际效果.但是如果一上来就写代码进 ...
随机推荐
- Android 动画 6问6答
1.view 动画有哪些需要注意的? 答:view动画 本身比较简单.http://www.cnblogs.com/punkisnotdead/p/5179115.html 看这篇文章的第五问就可以了 ...
- 收缩Mysql的ibdata1文件大小方法
ibdata1是mysql数据库中一个数据文件了,你会发现它来越大了,下面我来介绍收缩Mysql的ibdata1文件大小方法 如果你有使用InnoDB来存储你的Mysql表,使用默认设置应该会碰到个非 ...
- 使用java写入excel文件
要操作excle文件,首先要下载jxl.jar文件,我用的版本是2.6.下载地址:http://www.andykhan.com/jexcelapi/download.html. Java Excel ...
- [转]linux之partprobe命令
转自:http://www.7edown.com/edu/article/soft_48647_1.html linux上,在安装系统之后,可否创建分区并且在不重新启动机器的情况下系统能够识别这些分区 ...
- 【LeetCode】202 - Happy Number
Write an algorithm to determine if a number is "happy". A happy number is a number defined ...
- Ubuntu/CentOS使用BIND配置DNS服务器
------ubuntu server 12---------- 1.安装bind9 sudo apt-get -y install bind9 bind9utils 2.配置 /etc/bind/ ...
- 理解KMP
KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法.简单匹配算法的时间复杂度为O(m*n),KMP匹配算法,可以证明它的时间复杂度为O(m+n).. 一.简单匹配算法 先来看一个 ...
- GitHub--git push出错解决
当使用GitHub进行代码push是,出现了下面的错误,该如何是好? 错误描述: ! [rejected] master -> master (non-fast-forward)e ...
- gradle使用eclipse debug 代码
设置环境变量 unix,linux export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,s ...
- 自建存储与使用微软Azure、七牛等第三方云存储综合考察分析
http://www.cnblogs.com/sennly/p/4136734.html 各种云服务这两年炒的火热,加之可以降低成本,公司想先在部分业务上尝试使用下,刚好最近有个项目有大量小文件需要存 ...