物流查询实现

引 言:目前快递公司太多了,不可能一个一个去申请api查询。这个时候,就可以通过合作,找一些中间商合作。我试了两家,一家是快递100,一家是快递网。 他们都需要申请key。但是快递100有点变态,不允许查询热门物流,什么三通一达,顺丰等等都查询不了。快递网就很好了。至少都可以查到。

1.申请key

到快递网,填写申请,一般都会通过的。

2.物流管理,建表把物流公司管理起来

3.配置参数

把一些定量,配置起来,方便统一管理

<?php
// 物流 采用快递网http://www.kuaidi.com的api数据
return array(
    'kuaidi_key'=>'xxxxxxxxxxxxxx', // 这是申请的key值,支持每天2000次查询。是次,不是件。如果正式使用,可以跟快递网申请企业号。
    'kuaidi_iframe'=>'http://www.kuaidi.com/cominterface1616.html',
    'kuaidi_api'=>'http://api.kuaidi.com/openapi.html'
);
?>

4.编写函数

因为这是一个通用的函数,最好放到基类中,并且具有灵活性,可以传递参数,注释要清晰,方便他人使用。

/**
     * 获取物流信息
     * @author jim
     * @param String $com 物流公司编号
     * @param String $nu  物流单号,快递单号
     * @param String $show 0表示返回json,1表示返回xml
     * @param String $muti 0表示多行完整信息,1表示一行信息
     * @param String $order desc asc 按时间降序,升序
     * @return Array
     * status
     * 0:物流单号暂无结果;
     * 3:在途,快递处于运输过程中;
     * 4:揽件,快递已被快递公司揽收并产生了第一条信息;
     * 5:疑难,快递邮寄过程中出现问题;
     * 6:签收,收件人已签收;
     * 7:退签,快递因用户拒签、超区等原因退回,而且发件人已经签收;
     * 8:派件,快递员正在同城派件;
     * 9:退回,货物处于退回发件人途中;
     *
     */
    protected function getExpress($com,$nu,$show = '0',$muti = '0',$order = 'desc') { //子类以及子类的子类可以访问
        $id         = trim(C('kuaidi_key'));
        $kuaidi_api = trim(C('kuaidi_api'));

        $url = $kuaidi_api.'?id='.$id.'&com='.$com.'&nu='.$nu.'&show='.$show.'&muti='.$muti.'&order='.$order;
        $result = json_decode(file_get_contents($url),true);
        return $result;
    }

tips: 别的地方,想用就可以调用了。返回纯净的数组数据,自己去处理成美丽的网页吧!

附上:快递网,快递公司对应的编号

分类  快递公司代码  公司名称
A
    aae AAE快递
    aramex  Aramex快递
B
    bht BHT快递
    youzhengguonei  包裹/平邮/挂号信
    baifudongfang   百福东方物流
    huitongkuaidi   百世汇通快递
C
    coe COE(东方快递)
    city100 城市100
D
    depx    DPEX
    disifang    递四方
    dsukuaidi   D速物流
    debangwuliu 德邦物流
    datianwuliu 大田物流
    dhl DHL国际快递
E
    ems EMS快递
    emsguoji    EMS国际
F
    fedex   FedEx(国际)
    fedexus FedEx(美国)
    rufengda    凡客如风大
    feikangda   飞康达物流
    feibaokuaidi    飞豹快递
G
    gangzhongnengda 港中能达物流
    youzhengguonei  挂号信
    youzhengguoji   国际邮件
    youzhengguonei  国内邮件
    gongsuda    共速达
    guotongkuaidi   国通快递
H
    hengluwuliu 恒路物流
    huaxialongwuliu 华夏龙物流
J
    jiayiwuliu  佳怡物流
    jiayunmeiwuliu  加运美快递
    jixianda    急先达物流
    jialidatong 嘉里大通
    jd  京东快递
    jindawuliu  金大物流
K
    kuaijiesudi 快捷快递
    kangliwuliu 康力物流
    kuayue  跨越物流
L
    lianhaowuliu    联昊通物流
    longbangwuliu   龙邦速递
    lianbangkuaidi  联邦快递
    lejiedi 乐捷递
    lijisong    立即送
M
    minghangkuaidi  民航快递
    meiguokuaidi    美国快递
    menduimen   门对门
    mingliangwuliu  明亮物流
N
    ganzhongnengda  能达速递
P
    pingandatengfei 平安达腾飞
    peixingwuliu    陪行物流
Q
    quanfengkuaidi  全峰快递
    quanyikuaidi    全一快递
    quanritongkuaidi    全日通快递
    quanchenkuaidi  全晨快递
    sevendays   7天连锁物流
R
    rufengda    如风达快递
S
    shentong    申通快递
    shunfeng    顺丰速运
    suer    速尔快递
    haihongwangsong 山东海红
    shenghuiwuliu   盛辉物流
    shengfengwuliu  盛丰物流
    shangda 上大物流
    santaisudi  三态速递
    shenganwuliu    圣安物流
T
    tnt TNT快递
    tiantian    天天快递
    tiandihuayu 天地华宇
    tonghetianxia   通和天下
    tianzong    天纵物流
U
    youshuwuliu UC优速快递
W
    wanxiangwuliu   万象物流
    wanjiawuliu 万家物流
X
    xinbangwuliu    新邦物流
    xinfengwuliu    信丰物流
Y
    yuantong    圆通速递
    yunda   韵达快运
    yuntongkuaidi   运通快递
    youzhengguonei  邮政国内
    youzhengguoji   邮政国际
    yuanchengwuliu  远成物流
    yafengsudi  亚风速递
    youshuwuliu 优速快递
    yuananda    源安达快递
    yuanfeihangwuliu    原飞航物流
    yuefengwuliu    越丰物流
Z
    zhongtong   中通快递
    zhaijisong  宅急送
    zhongtiewuliu   中铁快运
    ztky    中铁物流
    zhongyouwuliu   中邮物流
    zhongtianwanyun 中天万运
    zhengzhoujianhua    郑州建华
    zhimakaimen 芝麻开门

PHP实现物流查询(通过快递网API实现)的更多相关文章

  1. 物流一站式单号查询之快递鸟API接口(附Demo源码)

    连载篇提前看 物流一站式单号查询之快递鸟API接口 物流一站式查询之TrackingMore篇 物流一站式查询之顺丰接口篇 物流一站式查询之快递100 前情提要 前三篇中,我们已经从注册.申请接口.调 ...

  2. 物流跟踪 调用快递鸟API

    概要:关于调用快递鸟API,我有几句话想说,有几行代码想写 业务需求:就是做做商城,卖卖东西.然后需要做个物流跟踪的功能 需要获取的信息大概就是这个样子 现在看这个快递怎么这么慢 如何实现? 直接调用 ...

  3. APISpace 全球快递物流查询API接口 免费好用

    前言   随着我国电子商务的迅猛发展,物流行业也开始突飞猛进,人们的日常生活越来越离不开快递服务,查快递.寄快递的需求越来越大,随之而来,常用快递接口的需求也越来越大. 全国快递查询接口,支持各大快递 ...

  4. 微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等

    微信小程序最近比较热门,再加上自然语义理解也越来越被人关注,于是我想赶赶潮流,做一个小程序试试.想来想去快递查询应该是一种比较普遍的需求. 如果你也在通过自然语言接口做点什么,希望我的这篇博客能帮到你 ...

  5. java物流查询接口测试代码-快递100

    测试代码 返回json格式,xml/html格式自行修改参数 import java.io.IOException; import java.io.InputStream; import java.n ...

  6. 如何使用Postman快速简单的调用快递物流平台快递鸟API接口

    前沿 快递鸟是一家聚合类的第三方快递物流平台,目前该平台提供的产品主要以API为主.由于API不能直观的看到产品效果,需要进行API对接联调成功后才能真实的看到产品的实际效果.但是如果一上来就写代码进 ...

  7. [转载]中国天气网API

    最近在做个网站要用到天气网的api,在网上找了些参考资料,这篇文章对天气网api的介绍比较详细,所以转载之,谢谢原作者的辛勤劳动和奉献精神. 原文地址:http://g.kehou.com/t1033 ...

  8. 用c#查询各快递物流信息

    前面介绍过<用快递100接口查询各快递物流信息>,里面用的是API接口,但有些快递不支持这种方式,本文介绍的HtmlAPI支持所有快递公司. 支持包括EMS.邮政.顺丰和申通在内的所有公司 ...

  9. 聚币网API[Python2版]

    聚币 现货 API [Python2版] 一.utils.py,基础类,包括HTTP 请求.签名等 # -*- coding: utf-8 -*- import hashlib import hmac ...

随机推荐

  1. DBA_基本Bash语法汇总(汇总)

     2014-06-26 Created By BaoXinjian

  2. POJ 1986 DIstance Query LCA水题

    给出一棵树,对于每一个询问,给出2个节点,输出2个节点的距离. 输入中有字母,那个是没有用的,不用管. 思路: 0.选择编号为1的节点作为树的root (注意:有些题的边是单向的,这时候我们要根据节点 ...

  3. [Tex学习]给汉字注音

    \documentclass{article} \usepackage[CJK]{ruby} \usepackage{pinyin} \begin{document} \begin{CJK*}{GBK ...

  4. 配置cwrsync实现windows2008和centos7文件定时同步

    一.准备 二.安装 1.安装cwRsyncServer_4.0.5_Installer.exe 安装过程中提示创建用于windows服务的windows用户名,需要注意的是密码一定要它自己生成的密码的 ...

  5. tuple解包给类的构造函数

    首先我们的第一步当然是将tuple解包.tuple提供了一个get函数来获取第N个元素.例如: get<1>(make_tuple(...)); 要将一个tuple全部拆解,就可以使用通过 ...

  6. python 正则表达式 demo

    1.匹配大小写和数字,并且大小写数字均要有,且字符串长度为6~20位 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d]{6,20}$ import repattern ...

  7. 30天轻松学习javaweb_模拟tomcat

    运行 javac Server.java 编译java文件 执行 java Server 运行程序 在ie中输入 http://localhost:9999/ 打开模拟的服务程序 import jav ...

  8. Eclipse中Build Workspace 优化

    在开发中,发现eclipse 的 Build Workspace 很慢很慢,只要是由于验证js, css, xml 等等静态的文件导致. 我遇到的问题是,项目中有一个js文件很大,怎么都不能Build ...

  9. [Flex] PopUpButton系列 —— 将DataGrid作为弹出内容

    <?xml version="1.0" encoding="utf-8"?> <!--Flex中如何创建一个可以弹出DataGrid作为菜单的 ...

  10. 服务器返回数组,data[0]得到的总是不对?如何处理?

    我用asp.net MVC 写了服务器代码,返回数组,ajax怎么处理返回的数组内容? 您好,首先用eval将获得的ajax数据转化成json对象并赋值给一个变量. 比如: var obj=eval( ...