Api-运费计算

该api为通过接口获取产品运费
备注:默认货币为USD,需要输入SKU,数量,仓库,物流代码,目的国家,给出相关的USD的报价

准备工作

登录获取access-token,并将access-token设置为请求头参数,如何获取access-token,请参考“获取token文档

API说明:

URL: https://dpapi.quarkscm.com/v1/myproduct/freight

格式:JSON
方式:POST

请求参数说明:

请求头参数:

参数名称 是否必须 类型 描述
access-token 必须 string 登录后获取的token,此接口access-token必填

Body Form-Data:

参数名称 是否必须 类型 描述
sku 必须 String 产品sku
warehouse_name 必须 String 仓库名称
country_code 必须 String 到货国家
quarkscm_shipping_code 必须 String Quarkscm shipping code
quantity 可选 int 产品数量, 默认为1

返回参数说明 :

格式:json

参数名称 是否必须 类型 描述
code 必须 integer 状态码
data 不必须 array 请求成功为data数组数据,请求失败则无此参数
message 不必须 string 请求失败返回错误信息,请求成功则无此参数

返回数据data参数说明:

参数名称 类型 描述
price int 运费
handlingFee int 仓库人工费
packageFee int 打包费

请求参数示例如下:

{
    "sku": "D3381-2",
    "warehouse_name":"CN",
    "country_code":"US",
    "quarkscm_shipping_code":"SRPT",
    "quantity":1
}

返回参数示例:

返回参数详细:

1.成功:返回参数

{
    "code": 200,
    "data": {"price":3.4,"handlingFee":"0.80","packageFee":"0.40}
}

2.失败:返回参数

2.1 参数不完整

{
    "code": 401,
    "message": "Parameter missing",
}

2.2 产品不存在

{
    "code": 402,
    "message": "Products that don't exist",
}

2.3 没有匹配的运费信息

{
    "code": 403,
    "message": "Not matching freight data",
}

php 代码示例:

<?php
function getCurlData($url,$type="get",$data=array(),$timeout = 10) {
    //对空格进行转义
    $http_header = array();
    if(isset($data['access-token'])){
        $http_header[] = 'access-token: ' . $data['access-token'];
        unset($data['access-token']);
    }
    $url = str_replace(' ','+',$url);
    if (strtolower($type) == "get") {
        if (!empty($data) && is_array($data)) {
            $arr = [];
            foreach ($data as $k=>$v) {
                $arr[] = $k."=".$v;
            }
            $str = implode("&",$arr);
            if (strstr($url,"?")) {
                $url .= "&".$str;
            } else {
                $url .= "?".$str;
            }
        }
    }
    
    $ch   = curl_init();
    curl_setopt($ch, CURLOPT_URL, "$url");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);  //定义超时3秒钟
    if(strtolower($type) == "post"){
        $data = json_encode($data);
        // POST数据
        curl_setopt($ch, CURLOPT_POST, 1);
        $http_header[] = 'Accept: application/json';
        $http_header[] = 'Content-Type: application/json';
        $http_header[] = 'Content-Length: ' . strlen($data);

        // 把post的变量加上
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($ch, CURLOPT_HTTPHEADER,$http_header);
    //执行并获取url地址的内容
    $output = curl_exec($ch);
    //echo $output ;
    //释放curl句柄
    curl_close($ch);
    //var_dump($output);exit;
    return $output;
}
$url = 'https://dpapi.quarkscm.com/v1/myproduct/freight';
$data['access-token'] = "c_xyXeQgyKcWHM9kS0yukwlC5bgMVJST";
$data['sku'] = "GMYR095-9";
$data['warehouse_name'] = "CN";
$data['country_code'] = "US";
$data['quarkscm_shipping_code'] = "RP";
$res = getCurlData($url,'post',$data);
echo $res;
?>

返回json结果:

{
    "code": 200,
    "data":{"price":3.4,"handlingFee":"0.80","packageFee":"0.40}
}