six-shop / aliyun-wuliu
阿里云物流扩展
Installs: 18
Dependents: 0
Suggesters: 0
Security: 0
Type:sixshop-extension
pkg:composer/six-shop/aliyun-wuliu
Requires
- php: >=8.3
 - six-shop/core: >=0.5 <1.0
 - symfony/http-client: >=7.3
 
README
扩展说明
参考: https://market.aliyun.com/apimarket/detail/cmapi021863#sku=yuncode15863000017
<?php
error_reporting(E_ALL || ~E_NOTICE);
$host = "https://wuliu.market.alicloudapi.com";//api访问链接
$path = "/kdi";//API访问后缀
$method = "GET";
$appcode = "你自己的AppCode";//开通服务后 买家中心-查看AppCode
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
$querys = "no=780098068058&type=zto";  //参数写在这里
$bodys = "";
$url = $host . $path . "?" . $querys;
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
if (1 == strpos("$" . $host, "https://")) {
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
$out_put = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
list($header, $body) = explode("\r\n\r\n", $out_put, 2);
if ($httpCode == 200) {
    print("正常请求计费(其他均不计费)<br>");
    print($body);
} else {
    if ($httpCode == 400 && strpos($header, "Invalid Param Location") !== false) {
        print("参数错误");
    } elseif ($httpCode == 400 && strpos($header, "Invalid AppCode") !== false) {
        print("AppCode错误");
    } elseif ($httpCode == 400 && strpos($header, "Invalid Url") !== false) {
        print("请求的 Method、Path 或者环境错误");
    } elseif ($httpCode == 403 && strpos($header, "Unauthorized") !== false) {
        print("服务未被授权(或URL和Path不正确)");
    } elseif ($httpCode == 403 && strpos($header, "Quota Exhausted") !== false) {
        print("套餐包次数用完");
    } elseif ($httpCode == 403 && strpos($header, "Api Market Subscription quota exhausted") !== false) {
        print("套餐包次数用完,请续购套餐");
    } elseif ($httpCode == 500) {
        print("API网关错误");
    } elseif ($httpCode == 0) {
        print("URL错误");
    } else {
        print("参数名错误 或 其他错误");
        print($httpCode);
        $headers = explode("\r\n", $header);
        $headList = array();
        foreach ($headers as $head) {
            $value = explode(':', $head);
            $headList[$value[0]] = $value[1];
        }
        print($headList['x-ca-error-message']);
    }
}