电商网站接入快递查询

网页跳转格式

适用场景:在管理后台中,订单列表点击显示快递详情 和 订单详情页显示快递详情,使用 iframe 嵌入该URL

http://www.kuaidi100.com/chaxun?com=快递名称(可以中文英文)&nu=快递单号

快递名称:可以为中文或英文

快递单号:大小写不敏感

手机页跳转格式

适用场景:手机页在订单详情页中点击物流详情栏时跳转

http://m.kuaidi100.com/index_all.html?type=快递名称(可以中文英文)&postid=快递单号&callbackurl=返回按钮的网址

快递名称:可以为中文或英文

快递单号:大小写不敏感

返回网址:以http://或https://开头的完整网址

手机页跳转2,但这个不含返回按钮,在苹果上无法返回 http://m.kuaidi100.com/result.jsp?nu=快递单号

JSON格式

适用场景:显示在用户或/和后台中的 订单列表页、订单详情页,类似于淘宝手机网页版中的订单详情页

http://www.kuaidi100.com/query?type=快递英文名&postid=快递单号

快递英文名:英文名称,参考对照表

快递单号:大小写不敏感

JSON返回信息示例

其中的参数 "ischeck":"1"  表示已经签收

{
    "message": "ok",
    "nu": "100486292177",
    "ischeck": "1",
    "com": "yuantong",
    "status": "200",
    "condition": "F00",
    "state": "3",
    "data": [
        {
            "time": "2015-10-15 13:08:58",
            "context": "客户 签收人: 邵雯雯 已签收 感谢使用圆通速递,期待再次为您服务",
            "ftime": "2015-10-15 13:08:58"
        },
        {
            "time": "2015-10-15 10:16:16",
            "context": "广东省广州市天平架公司(点击查询电话)周** 派件中 派件员电话18002211198",
            "ftime": "2015-10-15 10:16:16"
        },
        {
            "time": "2015-10-15 08:23:10",
            "context": "广东省广州市天平架公司 已收入",
            "ftime": "2015-10-15 08:23:10"
        },
        {
            "time": "2015-10-15 05:15:00",
            "context": "广州转运中心 已发出,下一站 广东省广州市天平架",
            "ftime": "2015-10-15 05:15:00"
        },
        {
            "time": "2015-10-15 04:44:29",
            "context": "广州转运中心 已收入",
            "ftime": "2015-10-15 04:44:29"
        },
        {
            "time": "2015-10-14 23:33:08",
            "context": "虎门转运中心 已发出,下一站 广州转运中心",
            "ftime": "2015-10-14 23:33:08"
        },
        {
            "time": "2015-10-14 23:32:20",
            "context": "虎门转运中心 已收入",
            "ftime": "2015-10-14 23:32:20"
        },
        {
            "time": "2015-10-13 20:32:22",
            "context": "泰州转运中心 已发出,下一站 虎门转运中心",
            "ftime": "2015-10-13 20:32:22"
        },
        {
            "time": "2015-10-13 20:30:54",
            "context": "泰州转运中心 已收入",
            "ftime": "2015-10-13 20:30:54"
        },
        {
            "time": "2015-10-13 18:04:50",
            "context": "江苏省扬州市公司 已发出,下一站 江苏省泰州市",
            "ftime": "2015-10-13 18:04:50"
        },
        {
            "time": "2015-10-13 18:00:17",
            "context": "江苏省扬州市公司 已打包",
            "ftime": "2015-10-13 18:00:17"
        },
        {
            "time": "2015-10-13 17:58:27",
            "context": "江苏省扬州市公司(点击查询电话) 已揽收",
            "ftime": "2015-10-13 17:58:27"
        },
        {
            "time": "2015-10-13 15:44:59",
            "context": "江苏省扬州市公司 取件人: 王莹莹 已收件",
            "ftime": "2015-10-13 15:44:59"
        }
    ]
}

快递JSON接口返回数据

PHP后台查询物流信息返回JSON数组的处理类

<?php
namespace Home\Controller;
use Think\Controller;

//物流查询控制器
class ExpController extends Controller {

    //快递中英文对照数组
    //注意因为本身数据库中的快递名称可能并不统一,使用正则表达式来匹配,所以这里的名称要尽量简短
    //更多快递的对应参考快递100的对照文档 http://www.kuaidi100.com/openapi/api_post.shtml
    var $expNameArr = array(
        ‘圆通‘=>‘yuantong‘,
        ‘申通‘=>‘shentong‘,
        ‘中通‘=>‘zhongtong‘,
        ‘顺丰‘=>‘shunfeng‘,
        ‘韵达‘=>‘yunda‘,
        ‘邮政‘=>‘ems‘,
        ‘EMS‘=>‘ems‘,
        ‘ems‘=>‘ems‘,
        ‘天天‘=>‘tiantian‘,
        ‘百世汇通‘=>‘huitongkuaidi‘,
        ‘联昊通‘=>‘lianhaowuliu‘,
    );

    /**
     * 获得物流信息JSON
     * @param string $expName 快递名称:中文
     * @param string $expNum 快递单号:大小写不敏感
     * @return array 快递100查询回来的信息JSON转换而成
     */
    function getExpJSON($expName, $expNum){
        //快递名匹配算法
        $expNameEn = ‘‘;
        foreach( $this->expNameArr as $key=>$val){
            $pattern = ‘/‘.$key.‘/‘;
            if( preg_match($pattern, $expName) ){
                $expNameEn = $val;
            }
        }
//        var_dump($expNameEn);
//        $expNameEn = ‘shentong‘;
//        $expNum = ‘220494269655‘;

        //CURL方式获得JSON
        $url = ‘http://www.kuaidi100.com/query?type=‘.$expNameEn.‘&postid=‘.$expNum;
        $resStr = $this->curl_get_contents($url);
        //转为array
        return json_decode($resStr, TRUE);
    }

    /**
     * CURL方式获得内容:通用
     * @param string $url 网址     * @param int $timeout 超时时间(可选)
     * @return string 页面内容
     */
    function curl_get_contents($url,$timeout=1) {
        $curlHandle = curl_init();
        curl_setopt( $curlHandle , CURLOPT_URL, $url );
        curl_setopt( $curlHandle , CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt( $curlHandle , CURLOPT_TIMEOUT, $timeout );
        $result = curl_exec( $curlHandle );
        curl_close( $curlHandle );
        return $result;
    } 

}
时间: 2024-10-21 09:57:56

电商网站接入快递查询的相关文章

电商网站物流快递单号查询api接口申请案例

[场景需求描述] 电商平台及ISV商家对物流api接口的需求有很多,今天我们主要分享的就是快递鸟快递单号查询接口的对接指南,快递单号查询接口对接的应用场景有很多,很多场景会遇到,最主要的就是电商网站用户打开"我的订单"时调用此API显示物流信息详情,电商管理后台的物流系统,客服在对账前查询所有运单的签收状态,并追踪问题,电商平台对商家物流管控,要求必须在多久快递必须发出要看到揽件状态,多久必须收到货物看到签收状态,根据这些状态对商家管控从而提升用户的整体满意度.[对接使用流程] 1.注

电商总结(八)如何打造一个小而精的电商网站架构

前面写过一些电商网站相关的文章,这几天有时间,就把之前写得网站架构相关的文章,总结整理一下.把以前的一些内容就连贯起来,这样也能系统的知道,一个最小的电商平台是怎么一步步搭建起来的.对以前的文章感兴趣的朋友可以看这个,http://www.cnblogs.com/zhangweizhong/category/879056.html 本文大纲: 1. 小型电商网站的架构 2. 日志与监控系统的解决方案 3. 构建数据库的主从架构 4. 基于共享存储的图片服务器架构 5. 移动M站建设 6. 系统容

DDD设计一个电商网站

DDD设计一个电商网站(十一)-- 最后的准备  阅读目录 前言 准备 实现 结语 一.前言 最近实在太忙,上周停更了一周.按流程一步一步走到现在,到达了整个下单流程的最后一公里--结算页的处理.从整个流程来看,这里需要用户填写的信息是最多的,那么在后端的设计中如何考虑到业务边界的划分,和相互之间的交互复杂度,又是我们需要考虑的地方.总体来说本篇讲述的内容在前几篇都有涉及,所以这次一次性处理的业务比较多,已经比较熟练的看官可以跳过本篇. 二.准备 主流的电商设计中结算页包含以下5个概念:选择收货

电商网站商品模型之商品详情页设计方案

如下设计方案参考淘宝和华为商城 SKU SPU的关系 SPU = Standard Product Unit (标准产品单位)SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.例如iphone4就是一个SPU,与套餐.存储容量.颜色无关. SKU=stock keeping unit(库存量单位)SKU即库存进出计量的单位, 可以是以件.盒.托盘等为单位.SKU是物理上不可分割的最小存货单元.在使用时要根据不同业态,不同管理模式来处理.例如32G

如何打造一个小而精的电商网站架构?

本文大纲: 1. 小型电商网站的架构 2. 日志与监控系统的解决方案 3. 构建数据库的主从架构 4. 基于共享存储的图片服务器架构 5. 移动M站建设 6. 系统容量预估 7. 缓存系统 一.小型电商网站的架构 刚从传统软件行业进入到电商企业时,觉得电商网站没有什么技术含量,也没有什么门槛,都是一些现有的东西堆积木似的堆出来罢了.然而,真正进入到这个行业之后,才发现并非如此.有人说过,好的架构,是演化出来的,电商网站的架构也是如此.现在好的电商网站,看似很复杂,很牛逼,其实也是从很小的架构,也

[ PHP+jQuery ] ajax 多级联动菜单的应用:电商网站的用户地址选择功能 ( 一 ) - 传统下拉菜单

/** jQuery version: 1.8.3 Author: 小dee Date: 2014.11.5 */ 说明:分析其他网站的图片较多,可以在目录跳过直接看本文 demo . 目录: 其他网站分析 亚马逊 淘宝 京东 当当 本文案例 demo1 demo2 [ 后面的博文再写 ] demo3 [ 后面的博文再写 ] 惯例,先看看他山之石,选择了四家比较大的电商网站:亚马逊.淘宝.京东.当当,看看它们的地址联动菜单是怎么做的. 1. 亚马逊[返回目录][下一节:淘宝] 图1 默认界面 说

Linux-某电商网站流量劫持案例分析与思考

[前言] 自腾讯与京东建立了战略合作关系之后,笔者网上购物就首选京东了.某天在家里访问京东首页的时候突然吃惊地发现浏览器突然跳到了第三方网站再回到京东,心里第一个反应就是中木马了. 竟然有这样的事,一定要把木马大卸八块. [原因排查] 首先在重现的情况下抓包,京东官网确实返回了一段Java让浏览器跳转到了yiqifa.com. 下图是应用层的抓包. 服务器返回的代码导致跳转,基本可以排除本地木马,推测是网络或者服务器的问题.根据笔者的经验,这种情况很大可能是链路上的流量劫持攻击.当然也不能排除京

海淘也疯狂 跨境电商网站8月监测报告

跨境电商新税制改革的全面实施,宣告海淘免税时代的终结,然而税金增长却无法阻挡消费者的购物热情.韩国统计厅8月3日发布数据,2016年第二季度韩国跨境电商出口额为4974亿韩元(约合人民币29.53亿元),同比增加83%,对华跨境电商出口额占其中的75%,增幅为103.1%.而早前挖财和网易考拉联合发布的<海淘信用数据脸谱>报告同样印证了这一事实,母婴产品.箱包等品类逆势上扬,带动整个海淘市场稳步增长. 挖财&网易考拉联合发布的<海淘族信用数据脸谱> 从 2014 年起,跨境

电商网站中添加商品到购物车功能模块2017.12.8

前言: 电商网站中添加商品到购物车功能模块实现: 根据前一篇博客的介绍,我们看到淘宝网站为了保证购物车数据的同步,直接是强制用户必须登录才可以将商品加入购物车.而京东网站是用户在未登录的状态下也可以将商品加入到购物车,此时这个是保存在了cookie中,然后用户登录后,根据商品的id判断商品是否存在,将两个购物车的商品合并,形成最终的购物车商品. 本篇文章分两个模块,分别看下这两个功能是如何实现的: 1.必须在用户登录的前提下,才可以将商品加入到购物车列表 我们今天先看下淘宝网站的状态下的添加商品