前言
目标:串接虾皮商品,目前串接虾皮 OpenAPI 2.0 版本,串接手册
这次要串接商品资料会用到的有
上一篇 已经用 get_item_list 取得商品的 item_id,这一篇要来串接 get_item_base_info & get_model_list
get_item_base_info
这个 API 可以取得虾皮的商品的基本资讯
公共参数
业务参数
以 PHP 为例
// 取得商品清单function getItemBaseInfo($host,$partnerId,$partnerKey,$timestamp,$access_token,$shop_id, $parameter){$path='/api/v2/product/get_item_base_info'; $base_string=strval($partnerId.$path.$timestamp.$access_token.$shop_id);$sign=hash_hmac('sha256',$base_string,$partnerKey,false);$url=$host.$path.'?partner_id='.$partnerId.'×tamp='.$timestamp.'&sign='.$sign.'&access_token='.$access_token.'&shop_id='.$shop_id.$paremeter;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);$res = curl_exec($ch);return $res;}//取得商品资讯$parameter='&item_id_list=[1234567,1234568]';getItemBaseInfo($host,$partnerId,$partnerKey,$timestamp,$access_token,$shop_id,$parameter);
你会取得所有商品清单的资讯,但最多好像只能 50 笔
有一个状况很特别,如果这个商品有设定其他规格(尺寸、大小),那么 price_info、stock_info 就不会有资料,而是要再去串接 get_model_list 才可以取的每个规格对应的 price_info、stock_info
get_model_list
这个 API 可以取得虾皮商品的规格资料
公共参数
业务参数
以 PHP 为例
// 取得商品清单function getModelList($host,$partnerId,$partnerKey,$timestamp,$access_token,$shop_id, $parameter){$path='/api/v2/product/get_model_list'; $base_string=strval($partnerId.$path.$timestamp.$access_token.$shop_id);$sign=hash_hmac('sha256',$base_string,$partnerKey,false);$url=$host.$path.'?partner_id='.$partnerId.'×tamp='.$timestamp.'&sign='.$sign.'&access_token='.$access_token.'&shop_id='.$shop_id.$paremeter;$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);$res = curl_exec($ch);return $res;}//取得商品规格资讯$parameter='&item_id=1234567';getItemBaseInfo($host,$partnerId,$partnerKey,$timestamp,$access_token,$shop_id,$parameter);
在 get_item_base_info 没有取得 price_info、stock_info 的话就可以从这边取得
有一点很特别,option_list 是规格清单,model 的 tier_index 是 option 对应的 index,要用这个 index 才可以取得对应的规格名称
小小心得
一开始串接订单的时候一直不明白为甚么有 model 这个栏位,后来才发现是跟商品有关
然后规格如果被删掉了,不会有跟 item_status 一样有 DELETE 的状态,删掉就只是 option_list 少掉这个规格而已