iT邦幫忙

0

蝦皮商品實作串接筆記-串接 API 蝦皮商品 (1)

  • 分享至 

  • xImage
  •  

前言

目標:串接蝦皮商品,目前串接蝦皮 OpenAPI 2.0 版本,串接手冊

這次要串接商品資料會用到的有

  1. get_item_list 取得商品清單
  2. get_item_base_info 取得商品基本資料
  3. get_model_list 取得規格資料

說明一下串接商品的流程
get_item_list ,可以用來取得蝦皮的商品 id,然後再用商品 id 去串接 get_item_base_info,就會得到商品的詳細資料,如果商品有其他規格的話就要用商品 id 去串接 get_model_list

規格指的是這區塊的資料:
https://ithelp.ithome.com.tw/upload/images/20220716/20136310okPhCVWakb.png

get_item_list 取得商品清單

這個 API 可以取得蝦皮的商品 id 跟狀態

格式 HTTP/JSON
URL • 正式區:https://partner.shopeemobile.com/api/v2/product/get_item_list
• 測試區:https://partner.test-stable.shopeemobile.com/api/v2/product/get_item_list
請求方式 GET

公共參數

參數 類型 說明
sign string access_token、partner_id、api path、shop_id、timestamp HMAC-SHA256 編碼,並用 partner key 當作加密 Key (可參授權商店那一篇)
partner_id int Create App 產生的 partner_id (可參Create App 那一篇)
timestamp int 時間戳,期限 5 min
access_token string 期限 4 小時(可參取得 access token 那一篇)
shop_id int 商店 ID(可參授權商店那一篇)

業務參數

參數 類型 說明
offset int 預設 0,如果資料有超過 1 頁,就填寫,就可以取到下頁的資料
page_size int 一頁的資料數,最大 100
update_time_from timestamp 更新時間
item_status string[] 商品狀態 有 NORMAL/BANNED/DELETED/UNLIST

以 PHP 為例

// 取得商品清單
function getItemLit(
	$host,
	$partnerId,
	$partnerKey,
	$timestamp,
	$access_token,
	$shop_id,
    $parameter
){
	$path='/api/v2/product/get_item_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.'&timestamp='.$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='&offset=0&page_size=100&item_status=NORMAL&item_status=UNLIST';
getItemLit($host,$partnerId,$partnerKey,$timestamp,$access_token,$shop_id,$parameter);

可以依據狀態取得想要的商品 item_id
取得商品的 item_id 後就可以用 item_id 去串接 get_item_base_infoget_model_list 來取得其他商品資訊

小小心得:

我覺得很有趣的是串這個 get_item_list 只會給你 item id 的清單,並不會有所有商品的詳細資料,或許是為了讓你先篩選想要的商品 id 再去根據需求取得其他資料,可以更彈性也不用一次回傳過於龐大的資料。


參考資料:
v2.product.get_item_list


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言