快递100企业版接口(API)订阅-推送方式实现-PHP版

前面玩了一下Python,用快递100的接口实现了实时查询。这种方式在C端比较常见,拿个单号直接百度一下,看看最新的进展在哪。如果是商家呢,则多数希望通过走后台订阅-推送的方式,高效快捷,不用怎么理会,系统自动搞定,快递信息自动同步给下单客户。

考虑到电商商家多数使用宇宙最好用的PHP来实现,本帅也小试一把,大家凑合着看看哈~

记得使用前先去快递100官网申请企业版接口(API)账号

//注册地址:https://api.kuaidi100.com/register/enterprise
//按要求写清楚,会很快收到审批通过邮件,里面有账号密码等信息
// 授权信息可通过链接查看:https://api.kuaidi100.com/manager/page/myinfo/enterprise

下面是几个关键步骤:
第一步,设置好参数

<?php
    //====================================
    // 订阅请求示例代码
    // 授权信息可通过链接查看:https://api.kuaidi100.com/manager/page/myinfo/enterprise
    //====================================

    //参数设置
    $key = '';                            //客户授权key
    $param = array (
        'company' => 'yunda',             //快递公司编码
        'number' => '3950055201640',      //快递单号
        'from' => '',                     //出发地城市
        'to' => '',                       //目的地城市
        'key' => $key,                    //客户授权key
        'parameters' => array (
            'callbackurl' => '',          //回调地址
            'salt' => '',                 //加密串
            'resultv2' => '1',            //行政区域解析
            'autoCom' => '0',             //单号智能识别
            'interCom' => '0',            //开启国际版
            'departureCountry' => '',     //出发国
            'departureCom' => '',         //出发国快递公司编码
            'destinationCountry' => '',   //目的国
            'destinationCom' => '',       //目的国快递公司编码
            'phone' => ''                 //手机号
        )
    );
    
  ?>

第二步,生成订阅请求参数

<?php
      
    //请求参数
    $post_data = array();
    $post_data["schema"] = 'json';
    $post_data["param"] = json_encode($param);
    
    $url = 'http://poll.kuaidi100.com/poll';    //订阅请求地址
    
    $params = "";
    foreach ($post_data as $k=>$v) {
        $params .= "$k=".urlencode($v)."&";     //默认UTF-8编码格式
    }
    $post_data = substr($params, 0, -1);
echo '请求参数<br/>'.$post_data;
      
?>

第三步,提交订阅

<?php
     
    //发送post请求
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    $data = str_replace("\"", '"', $result );
    $data = json_decode($data);

echo '<br/><br/>返回数据<br/>';
echo var_dump($data);
?>

简单的订阅就搞定了。当然,还有个回调需要自己再倒腾一下,这个是自己内部的事情了,就不多逼逼了。

快递100后台有调试工具,整个调试过程还是很方便的,推荐大家直接使用。用之前邮箱收到的审批信息登录后台可以看到。

猜你喜欢

转载自blog.csdn.net/austin_he2020/article/details/107758045