Api-批量获取库存与价格 ¶
该api为通过接口批量获取产品基本信息(库存、价格、上下架状态)
库存更新的原则是 库存为3以下的产品尽量不上架,请每6个小时去从Quarkscm.com抓取库存数据,当前不支持Quarkscm有库存更新就会推送数据去贵公司ERP这边
备注:skus数量限制在100个以下。超过将报错
准备工作 ¶
登录获取access-token,并将access-token设置为请求头参数,如何获取access-token,请参考“获取token文档”
API说明: ¶
URL: https://dpapi.quarkscm.com/v1/myproduct/multi-get
格式:JSON
方式:POST
请求参数说明: ¶
请求头参数: ¶
参数名称 | 是否必须 | 类型 | 描述 |
---|---|---|---|
access-token | 必须 | string | 登录后获取的token,此接口access-token必填 |
Body Form-Data: ¶
参数名称 | 是否必须 | 类型 | 描述 |
---|---|---|---|
skus | 必须 | Array | sku数组,不超过100个 |
warehouse_name | 必须 | String | 仓库名称 |
请求参数示例如下:
{
"skus":[
"H13589",
"WW13853",
"G2341"
],
"warehouse_name":"CN"
}
返回参数说明 : ¶
格式:json
参数名称 | 是否必须 | 类型 | 描述 |
---|---|---|---|
code | 必须 | integer | 状态码 |
data | 不必须 | array | 请求成功为data数组数据,请求失败则无此参数 |
message | 不必须 | string | 请求失败返回错误信息,请求成功则无此参数 |
返回数据data数组参数说明: ¶
参数名称 | 类型 | 描述 |
---|---|---|
sku | string | sku |
quantity | int | 产品库存 |
price | int | 产品价格 |
status | int | 1为上架 2为下架 |
返回参数示例: ¶
返回参数详细:
1.成功:返回参数
{
"code": 200,
"data": [{
"sku": "D3381-2",
"price": "64.58",
"status": 1,
"quantity": 17
}, {
"sku": "Y5534-47",
"price": "14.16",
"status": 1,
"quantity": 21
}, {
"sku": "Y7021PU",
"price": "9.75",
"status": 1,
"quantity": 23
}
]
}
2.失败:返回参数
2.1 参数不完整
{
"code": 401,
"message": "Parameter missing",
}
2.2 skus长度超过限制
{
"code": 403,
"message": "limit skus",
}
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/multi-get';
$data['access-token'] = "c_xyXeQgyKcWHM9kS0yukwlC5bgMVJST";
$data['skus'] = ["H10513","WW13853","G2341"];
$data['warehouse_name'] = "CN";
$res = getCurlData($url,'post',$data);
echo $res;
?>
返回json结果:
{
"code": 200,
"data": [{
"sku": "D3381-2",
"price": "64.58",
"status": 1,
"quantity": 17
}, {
"sku": "Y5534-47",
"price": "14.16",
"status": 1,
"quantity": 21
}, {
"sku": "Y7021PU",
"price": "9.75",
"status": 1,
"quantity": 23
}
]
}