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}
}