物流查询实现

引 言:目前快递公司太多了,不可能一个一个去申请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. mrp功能分类

    mrp主要有六大功能子系统:[工程管理子系统].[销售管理子系统].[计划管理子系统].[采购管理子系统].[库存管理子系统].[MRP运行管理子系统].[工程管理子系统]主要功能:产品/物料编码表. ...

  2. 使ViewStub 来提高UI的加载的性能

    首先看下API中的ViewStub 根据的文档的说明,ViewStub是一种默认不可见的试图,它没有大小,所以不能被改变,也不能通过某些把viewstub添加到布局当中来, 不过我们可以使用infla ...

  3. js上移、下移、置顶、置底功能实现

    实现页面上列表内容上移.下移.置顶.置底 功能,主要实现思路是节点操作,比如说:上移,直接把点击项移动到前一个节点,以此类推,当然实际代码实现还要加些判断,如当前点击操作项是否已经是置底或置底了,如果 ...

  4. ios8消息快捷处理——暂无输入框

    if (isiOS8) { //ios8的远程推送注册 NSSet *set = nil; #if 1 //1.创建消息上面要添加的动作(按钮的形式显示出来) UIMutableUserNotific ...

  5. ios6和ios7禁止屏幕旋转

    ios6和ios7禁止屏幕旋转 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOr ...

  6. arm-linux-objcopy

    被用来复制一个目标文件的内容到另一个文件中,可用于不同源文件的之间的格式转换示例: arm-linux-objcopy –O binary –S file.elf file.bin 常用的选项(大写) ...

  7. stat 查看文件修改时间

    Ø  访问时间(accesstime):读取一次文件的内容,该时间便会更新 Ø  修改时间(modifytime):对文件内容修改一次便会更新该时间. Ø  改变时间(changetime):更改文件 ...

  8. menu({postion:{my:"left top"},at:"right bottom"})里的my与at会冲突吗

    my(默认值:"center")类型:String描述:定义被定位元素上对准目标元素的位置:"horizontal vertical" 对齐方式.一个单一的值, ...

  9. js替换字符串中全部“-”

    alert("2014-03-22".replace('-','')); alert("2014-03-22".replace(/-/g,'')); 第一个运行 ...

  10. 9.链式A+B

    题目描述 有两个用链表表示的整数,每个结点包含一个数位.这些数位是反向存放的,也就是个位排在链表的首部.编写函数对这两个整数求和,并用链表形式返回结果. 给定两个链表ListNode* A,ListN ...