zoukankan      html  css  js  c++  java
  • php快递鸟单号查询api接口免费对接调用

    快递鸟集成快递单号查询API接口,可以同时对接顺丰快递查询,中通、申通、圆通、韵达、百世、EMS等国内外418家物流快递公司接口查询等。这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等快递物流服务。对于电商企业,ERP服务企业,集成此接口到自己的软件中,增加了企业的竞争力。

    一、接口应用场景
    1.在电商平台购物后,通过购物订单跟踪物流时,调用此API获取物流信息详情
    2.处理运费对账时,一键获取运单物流状态
    3.批量跟踪及获取运单物流信息

    对接流程

    快递鸟网站申请接口KEY并认证-对接接口-调试-上线使用

    二、对接准备
    1.登录快递鸟注册快账号
    2.获取开发者账号信息(ID ,API Key),登录快递鸟后台中查看
    3.进行技术联调,并完成调试,物流查询api地址:http://www.kdniao.com/api-track
    4.在您的软件中集成快递物流查询接口

    三、技术对接
    快递鸟提供的快递查询接口,支持418家快递物流查询,涵盖了国内外主流快递服务企业的单号查询,信息及时,数据完整。

    登录快递鸟官网支持多种开发语言对接,包括JAVA,C#,PHP等。根据您的开发语言,选择参考对应的代码示例,下面以PHP代码为例:

    <?php
    //电商ID
    defined('EBusinessID') or define('EBusinessID', '123456');
    //电商加密私钥,快递鸟提供,注意保管,不要泄漏
    defined('AppKey') or define('AppKey', '1234567890');
    //请求url:测试地址
    //defined('ReqURL') or define('ReqURL', 'http://sandboxapi.kdniao.cc:8080/kdniaosandbox/gateway/exterfaceInvoke.json');
    //请求url:正式地址
    defined('ReqURL') or define('ReqURL', 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx');
    
    $kgs = "JD";//快递公司简称,官方有文档
    $number = "12345678";//快递单号
    
    //调用查询物流轨迹
    //---------------------------------------------
    $logisticResult=getOrderTracesByJson($kgs,$number);
    echo $logisticResult;
    
    //解析数据
    $data = json_decode($logisticResult,true);
    
    
    if($data['Success'] == true){//返回信息成功
        $str = "";
    
    if(isset($data['Traces']) && !empty($data['Traces'])){
        for($i=0;$i<count($data['Traces']);$i++){
            $str .= "时间:".$data['Traces'][$i]['AcceptTime']."<br/>地址:".$data['Traces'][$i]['AcceptStation']."<br/>";
        }
    }
    echo "您查询的单号是:".$data['LogisticCode']."<br/>
    物流信息:<br/>".$str."";
    }
    
    //---------------------------------------------
     
    /**
     * Json方式 查询订单物流轨迹
     */
    function getOrderTracesByJson($kgs,$number){
    
        $requestData= "{'OrderCode':'','ShipperCode':'$kgs','LogisticCode':'$number'}";
        
        $datas = array(
            'EBusinessID' => EBusinessID,
            'RequestType' => '1002',
            'RequestData' => urlencode($requestData) ,
            'DataType' => '2',
        );
        $datas['DataSign'] = encrypt($requestData, AppKey);
        $result=sendPost(ReqURL, $datas);    
        
        //根据公司业务处理返回的信息......
        return $result;
    }
     
    /**
     *  post提交数据 
     * @param  string $url 请求Url
     * @param  array $datas 提交的数据 
     * @return url响应返回的html
     */
    function sendPost($url, $datas) {
        $temps = array();    
        foreach ($datas as $key => $value) {
            $temps[] = sprintf('%s=%s', $key, $value);        
        }    
        $post_data = implode('&', $temps);
        $url_info = parse_url($url);
        if(empty($url_info['port']))
        {
            $url_info['port']=80;    
        }
        $httpheader = "POST " . $url_info['path'] . " HTTP/1.0
    ";
        $httpheader.= "Host:" . $url_info['host'] . "
    ";
        $httpheader.= "Content-Type:application/x-www-form-urlencoded
    ";
        $httpheader.= "Content-Length:" . strlen($post_data) . "
    ";
        $httpheader.= "Connection:close
    
    ";
        $httpheader.= $post_data;
        $fd = fsockopen($url_info['host'], $url_info['port']);
        fwrite($fd, $httpheader);
        $gets = "";
        $headerFlag = true;
        while (!feof($fd)) {
            if (($header = @fgets($fd)) && ($header == "
    " || $header == "
    ")) {
                break;
            }
        }
        while (!feof($fd)) {
            $gets.= fread($fd, 128);
        }
        fclose($fd);  
        
        return $gets;
    }
    
    /**
     * 电商Sign签名生成
     * @param data 内容   
     * @param appkey Appkey
     * @return DataSign签名
     */
    function encrypt($data, $appkey) {
        return urlencode(base64_encode(md5($data.$appkey)));
    }
    
    ?>
  • 相关阅读:
    5-python基础—获取某个目录下的文件列表(适用于任何系统)
    Automated, Self-Service Provisioning of VMs Using HyperForm (Part 1) (使用HyperForm自动配置虚拟机(第1部分)
    CloudStack Support in Apache libcloud(Apache libcloud中对CloudStack支持)
    Deploying MicroProfile-Based Java Apps to Bluemix(将基于MicroProfile的Java应用程序部署到Bluemix)
    Adding Persistent Storage to Red Hat CDK Kit 3.0 (在Red Hat CDK Kit 3.0添加永久性存储)
    Carve Your Laptop Into VMs Using Vagrant(使用Vagran把您笔记本电脑刻录成虚拟机)
    使用Python生成一张用于登陆验证的字符图片
    Jupyter notebook的安装方法
    Ubuntu16.04使用Anaconda5搭建TensorFlow使用环境 图文详细教程
    不同时区的换算
  • 原文地址:https://www.cnblogs.com/kdn2019/p/11571970.html
Copyright © 2011-2022 走看看