Beispielcode-Sharing der PHP-Smart Logistics Interface-Demo

黄舟
Freigeben: 2023-03-06 20:44:01
Original
1495 Leute haben es durchsucht

PHP-Smart Logistics Interface Demo-Beispielcode-Sharing

<?php
//电商ID
defined(&#39;EBusinessID&#39;) or define(&#39;EBusinessID&#39;, &#39;请到快递鸟官网申请http://kdniao.com/reg&#39;);
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
defined(&#39;AppKey&#39;) or define(&#39;AppKey&#39;, &#39;请到快递鸟官网申请http://kdniao.com/reg&#39;);
//请求url
//测试地址
defined(&#39;ReqURL&#39;) or define(&#39;ReqURL&#39;, &#39;http://testapi.kdniao.cc:8081/Ebusiness/EbusinessOrderHandle.aspx&#39;);
//正式地址
//defined(&#39;ReqURL&#39;) or define(&#39;ReqURL&#39;, &#39;http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx&#39;);
 
 //调用获取物流轨迹
//-------------------------------------------------------------
 
$logisticResult = getExpRecommendByJson();
echo $logisticResult;
 
//-------------------------------------------------------------
  
/**
 * Json方式 智选物流
 */
function getExpRecommendByJson(){
    $requestData= "{&#39;MemberID&#39;:&#39;123456&#39;,&#39;WarehouseID&#39;:&#39;1&#39;,&#39;Detail&#39;:[{&#39;OrderCode&#39;:&#39;12345&#39;,&#39;IsCOD&#39;:0,
    &#39;Sender&#39;:{&#39;ProvinceName&#39;:&#39;广东省&#39;,&#39;CityName&#39;:&#39;广州&#39;,&#39;ExpAreaName&#39;:&#39;龙岗区&#39;,&#39;Subdistrict&#39;:&#39;布吉街道&#39;,&#39;Address&#39;:&#39;518000&#39;},
    &#39;Receiver&#39;:{&#39;ProvinceName&#39;:&#39;广东&#39;,&#39;CityName&#39;:&#39;梅州&#39;,&#39;ExpAreaName&#39;:&#39;丰顺&#39;,&#39;Subdistrict&#39;:&#39;布吉街道&#39;,&#39;Address&#39;:&#39;518000&#39;},
    &#39;Goods&#39;:[{&#39;ProductName&#39;:&#39;包&#39;,&#39;Volume&#39;:&#39;&#39;,&#39;Weight&#39;:&#39;1&#39;}]},{&#39;OrderCode&#39;:&#39;12346&#39;,&#39;IsCOD&#39;:0,&#39;Sender&#39;:{&#39;ProvinceName&#39;:&#39;广东省&#39;,
    &#39;CityName&#39;:&#39;广州&#39;,&#39;ExpAreaName&#39;:&#39;龙岗区&#39;,&#39;Subdistrict&#39;:&#39;布吉街道&#39;,&#39;Address&#39;:&#39;518000&#39;},&#39;Receiver&#39;:{&#39;ProvinceName&#39;:&#39;湖南&#39;,
    &#39;CityName&#39;:&#39;长沙&#39;,&#39;ExpAreaName&#39;:&#39;龙岗区&#39;,&#39;Subdistrict&#39;:&#39;布吉街道&#39;,&#39;Address&#39;:&#39;518000&#39;},&#39;Goods&#39;:[{&#39;ProductName&#39;:&#39;包&#39;,&#39;Volume&#39;:&#39;&#39;,&#39;Weight&#39;:&#39;1&#39;}]}]}";
    $datas = array(
        &#39;EBusinessID&#39; => EBusinessID,
        &#39;RequestType&#39; => &#39;2006&#39;,
        &#39;RequestData&#39; => urlencode($requestData) ,
        &#39;DataType&#39; => &#39;2&#39;,
    );
    $datas[&#39;DataSign&#39;] = encrypt($requestData, AppKey);
    $result=sendPost(ReqURL, $datas); 
     
    //根据公司业务处理返回的信息......
     
    return $result;
}
  
/**
 * Json方式 导入运费模板
 */
function importCostTemplateByJson(){
    $requestData= "{&#39;MemberID&#39;:&#39;123456&#39;,&#39;Detail&#39;:[{&#39;ShipperCode&#39;:&#39;YD&#39;,&#39;SendProvince&#39;:&#39;广东&#39;,&#39;SendCity&#39;:&#39;广州&#39;,&#39;SendExpArea&#39;:&#39;天河&#39;,
    &#39;ReceiveProvince&#39;:&#39;湖南&#39;,&#39;ReceiveCity&#39;:&#39;长沙&#39;,&#39;ReceiveExpArea&#39;:&#39;龙岗&#39;,&#39;FirstWeight&#39;:&#39;1&#39;,&#39;FirstFee&#39;:&#39;8&#39;,&#39;AdditionalWeight&#39;:&#39;1&#39;,
    &#39;AdditionalFee&#39;:&#39;10&#39;,&#39;WeightFormula&#39;:&#39;&#39;},{&#39;ShipperCode&#39;:&#39;YD&#39;,&#39;SendProvince&#39;:&#39;广东&#39;,&#39;SendCity&#39;:&#39;广州&#39;,&#39;SendExpArea&#39;:&#39;天河&#39;,
    &#39;ReceiveProvince&#39;:&#39;湖南&#39;,&#39;ReceiveCity&#39;:&#39;长沙&#39;,&#39;ReceiveExpArea&#39;:&#39;雨花&#39;,&#39;FirstWeight&#39;:&#39;1&#39;,&#39;FirstFee&#39;:&#39;8&#39;,
    &#39;AdditionalWeight&#39;:&#39;1&#39;,&#39;AdditionalFee&#39;:&#39;10&#39;,&#39;WeightFormula&#39;:&#39;{{w-0}-0.4}*{{{1000-w}-0.4}+1}*4.700+ {{w-1000}-0.6}*[(w-1000)/1000]*4.700)&#39;,
    &#39;ShippingType&#39;:&#39;1&#39;,&#39;IntervalList&#39;:[{&#39;StartWeight&#39;: 1.0,&#39;EndWeight&#39;: 2.0, &#39;Fee&#39;: 3.0}]}]}";
    $datas = array(
        &#39;EBusinessID&#39; => EBusinessID,
        &#39;RequestType&#39; => &#39;2004&#39;,
        &#39;RequestData&#39; => urlencode($requestData) ,
        &#39;DataType&#39; => &#39;2&#39;,
    );
    $datas[&#39;DataSign&#39;] = 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(&#39;%s=%s&#39;, $key, $value);     
    }  
    $post_data = implode(&#39;&&#39;, $temps);
    $url_info = parse_url($url);
    if(empty($url_info[&#39;port&#39;]))
    {
        $url_info[&#39;port&#39;]=80;  
    }
    $httpheader = "POST " . $url_info[&#39;path&#39;] . " HTTP/1.0\r\n";
    $httpheader.= "Host:" . $url_info[&#39;host&#39;] . "\r\n";
    $httpheader.= "Content-Type:application/x-www-form-urlencoded\r\n";
    $httpheader.= "Content-Length:" . strlen($post_data) . "\r\n";
    $httpheader.= "Connection:close\r\n\r\n";
    $httpheader.= $post_data;
    $fd = fsockopen($url_info[&#39;host&#39;], $url_info[&#39;port&#39;]);
    fwrite($fd, $httpheader);
    $gets = "";
    $headerFlag = true;
    while (!feof($fd)) {
        if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {
            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)));
}
 
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonBeispielcode-Sharing der PHP-Smart Logistics Interface-Demo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!