目前提供快递查询的接口平台有:

不同接口的区别:

(1)51tracking支持380家快递公司,其中有55家为国内的快递,其余325家为国际快递。具体的价格为0.8分钱/单号左右,新注册用户可以免费测试12小时。

(2)快递100属于在国内做得比较早的平台,可以申请每天最多2000次的API调用,但需要给快递100做一个友链。超过2000次收费,每次0.06~0.1元不等。

(3)快递网可以申请每天最多500次的API调用,但同样需要做一个友链。超过部分,每次0.05元。

 

1. 最常见的应用场景如下:

(1)电商网站:例如B2C、团购、B2B、批发分销站、C2C、本地生活交易等网站。

(2)管理系统:订单处理平台、订货平台、发货平台、分销系统、渠道管理系统、客户管理系统、ERP等。

2. 快递API的用途如下:

(1)让顾客登录网站后,直接在“我的订单”页面内就能看到订单的物流状态。

(2)自动筛选出“已签收”、“疑难件”等状态的单号,减轻物流跟单人员的压力。

(3)改变订单的状态和交易流程,例如单号变为“已签收”,就能让订单变为可以确认退换货等。

(4)评估选择快递公司,根据“已签收”的运单数,可以算出销售人员的业绩,且便于应对货到付款的结算。

(5)邮件、短信提醒用户运单的最新状态,可以安抚用户,也可以利用邮件短信二次营销。

 

这里以51tracking为例,不同的接口的对接方式比较类似,都需要注册,并生成自己的API key。以下以51tracking的查询API为例。

  接口支持的消息接收方式为HTTP POST

  请求方法的编码格式为 utf-8

  请求body部分的参数的数据格式为json 格式

 

接口请求地址

https://api.51tracking.com/v2/trackings/get

 

请求头部信息参数

参数名称 类型 说明 是否必须
  1. Content-Type:
  1. application/json
定义请求头部的数据格式
  1. Trackingmore-Api-Key:
string 后台获取的API

 

 

 

 

 

请求body参数说明

参数说明 类型 说明 是否必须
  1. tracking_number
string 查询快递的快递单号
  1. carrier_code
string 51tracking定义的快递商简码,比如china ems 就是china-ema

 

 

 

 

 

carrier_code 参数是51tracking 自己定义的快递商家的简码。

还有需要注意的就是body部分这两个参数需要时json数据格式。大概样子就是这样的

  1. 1 {
  2. 2 "tracking_number": "LK664578623CN",
  3. 3 "carrier_code": "china-ems"
  4. 4 }

 

返回参数定义

参数名称 参数类型 参数说明 是否一定要返回该项值
  1. code
数字 返回码 成功返回200,失败有其他队列的错误码
type string 接口类型 成功返回Success
message string 返回信息说明 成功返回Succes,失败返回队列的错误信息
data json 查询到的物流信息 成功返回物流信息,失败返回空

 

 

 

 

 

其他的状态响应简码可以在这里看到。

 

返回示例

  1. {
  2. "meta": {
  3. "code": 200,
  4. "type": "Success",
  5. "message": "Success"
  6. },
  7. "data": {
  8. "items": [{
  9. "id": "442f798ea35749e7605d1a73d4181a01",
  10. "tracking_number": "RE113184005HK",
  11. "carrier_code": "hong-kong-post",
  12. "status": "transit",
  13. "original_country": "Hong Kong [CN]",
  14. "destination_country": "Colombia",
  15. "itemTimeLength": null,
  16. "origin_info": {
  17. "weblink": "http:\/\/www.hongkongpost.hk\/",
  18. "phone": "852 2921 2222",
  19. "carrier_code": "hong-kong-post",
  20. "trackinfo": [{
  21. "Details": "CO",
  22. "StatusDescription": "The item ( RE113184005HK ) left Hong Kong for its destination on 10-Oct-2015 ",
  23. "Date": "2015-10-09 00:00"
  24. }]
  25. },
  26. "destination_info": {
  27. "weblink": "http:\/\/www.4-72.com.co\/",
  28. "phone": "(57-1) 4722000",
  29. "carrier_code": "colombia-post",
  30. "trackinfo": [{
  31. "Date": "2015-10-22 20:52",
  32. "StatusDescription": "DIGITALIZADO",
  33. "Details": "CTP.CENTRO A"
  34. }, {
  35. "Date": "2015-10-22 17:02",
  36. "StatusDescription": "Registro de entrega exitosa",
  37. "Details": ""
  38. }, {
  39. "Date": "2015-10-22 16:55",
  40. "StatusDescription": "ENTREGADO",
  41. "Details": "CD.MONTEVIDEO"
  42. }, {
  43. "Date": "2015-10-22 09:31",
  44. "StatusDescription": "REASIGNADO",
  45. "Details": "CD.NORTE"
  46. }, {
  47. "Date": "2015-10-22 08:52",
  48. "StatusDescription": "REASIGNADO",
  49. "Details": "CD.NORTE"
  50. }, {
  51. "Date": "2015-10-22 02:39",
  52. "StatusDescription": "En proceso",
  53. "Details": "CTP.CENTRO A"
  54. }, {
  55. "Date": "2015-10-21 16:36",
  56. "StatusDescription": "En proceso",
  57. "Details": "CTP.CENTRO A"
  58. }, {
  59. "Date": "2015-10-20 06:29",
  60. "StatusDescription": "Envío Recibido en la oficina de cambio internacional",
  61. "Details": "COBOGC"
  62. }]
  63. }
  64. }]
  65. }
  66. }

 

  1. $url = "http://api.trackingmore.com/v2/trackings/realtime";
  2. $header = array(
  3. \'Content-Type:application/json\',
  4. \'Trackingmore-Api-Key:b7a0009f-6cd2-43ee-9d1d-ed7135ad460f\'
  5. );
  6. $postData = array(
  7. \'tracking_number\'=>\'LK664578623CN\',
  8. \'carrier_code\'=>\'china-ems\'
  9. );
  10.  
  11. $res = curl_post($url,json_encode($postData),$header);
  12. print_r($res);
  13. function curl_post($url, $postData,$header=array(),$cookie_file=\'\',$isheader=0,$proxy=\'\',$debug=0,$autoRedirect=0,$time=89){
  14. $ch = curl_init();
  15. curl_setopt($ch, CURLOPT_URL, $url);
  16. curl_setopt($ch, CURLOPT_POST, true);
  17. curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
  18. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  19. if(!empty($isheader)){
  20. curl_setopt($ch, CURLOPT_HEADER, $isheader);
  21. }
  22. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  23. curl_setopt($ch, CURLOPT_TIMEOUT,$time);
  24. curl_setopt($ch, CURLOPT_USERAGENT, \'Mozilla/5.0 (Windows NT 5.1; rv:44.0) Gecko/20100101 Firefox/44.0\');
  25. if(!empty($header)){
  26. curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
  27. }
  28. if(!empty($autoRedirect)){
  29. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  30. }
  31. if(!empty($cookie_file)){
  32. // 读取文件所储存的Cookie信息
  33. curl_setopt ( $ch, CURLOPT_COOKIEFILE, $cookie_file );
  34. }
  35. if(!empty($proxy)){
  36. curl_setopt($ch, CURLOPT_PROXY, $proxy);
  37. }
  38. //curl_setopt($ch, CURLOPT_ENCODING, \'gzip,deflate\');
  39. if(!empty($debug)){
  40. curl_setopt($ch,CURLOPT_VERBOSE,1);
  41. curl_setopt($ch,CURLOPT_FAILONERROR,TRUE);
  42. print_r(curl_error($ch));
  43. print_r(curl_getinfo($ch));
  44. }
  45. $html = curl_exec($ch);
  46. curl_close($ch);
  47. return $html;
  48. }

  

版权声明:本文为trackingmore原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/trackingmore/p/6114530.html