查詢商品清單

View as Markdown
分頁查詢商品清單,用於遺失 id 對照,或商品是在後台先建立時,重新在 API 端找回既有商品。可用 outerSysCode、name 篩選,兩者皆為大小寫不敏感的子字串比對(查 A100 也會比對到 A1000);用 status 篩商品狀態,接受 Active、Inactive 或 InactiveVisible 三種值中的任一種(完全比對,而且大小寫必須完全相符,帶 active 會回傳 HTTP 200 但 data 是空陣列;語意見 ProductResponse.status 說明);用 productCategoryId 篩分類;用 updatedSince 篩「異動時間等於或晚於此刻」的資料,邊界含在內,剛好等於這一刻的資料也會被回傳,須帶明確時區或 Z(例如 2026-07-01T00:00:00Z),網址中的 + 記得轉成 %2B 編碼。page 從 1 起算,pageSize 為 1–100(預設 100),超出範圍一律回 400,不會自動夾限,避免分批掃描時誤判為已經抓完全部資料。

Authentication

X-Signaturestring

每個 /v1 請求都必須帶 X-Client-Id、X-Timestamp、X-Nonce 與 X-Signature 四個標頭。X-Signature 是以 client secret 對 canonical string 做 HMAC-SHA256 後的 Base64。canonical string 的組成、可複製的簽章範例與 401 排查步驟,請參閱「驗證與簽章」。

Query parameters

outerSysCodestringOptional

依 ERP 端的商品代碼篩選。大小寫不敏感的子字串比對,查 A100 也會一併比對到 A1000;要精確命中某一筆,請在你端再比對一次完整字串。

namestringOptional

依商品名稱篩選。大小寫不敏感的子字串比對,規則與 outerSysCode 相同。

statusstringOptional

依商品狀態篩選,接受 Active、Inactive 或 InactiveVisible。這是完全比對,而且大小寫必須與這裡列出的完全相符——帶 active 不會命中任何資料,會回傳 HTTP 200 但 data 是空陣列,不是錯誤。三種狀態的語意見 ProductResponse.status 說明。

productCategoryIdlongOptional

依商品分類序號篩選,只回傳歸類在這個分類的商品。必須是可指派的(子)分類 id;帶入根分類會回傳空結果。合法的序號可由 GET /v1/product-categories 的 isAssignable: true 項目取得。

UpdatedSincestringOptional
只回傳異動時間等於或晚於此刻的商品,用於增量同步;邊界含在內,剛好等於這一刻的資料也會被回傳。必須是 ISO-8601 格式,並帶明確的時區位移或 Z(例如 2026-07-01T00:00:00Z);沒有時區資訊會回傳 400 invalid_updated_since,不會被猜成任何時區。放進網址時記得把 + 編碼成 %2B。
PageintegerOptional

頁碼,從 1 起算,省略時預設 1。小於 1 回傳 400 invalid_page;頁碼大到讓內部位移量溢位時同樣回傳 400 invalid_page。

PageSizeintegerOptional

每頁筆數,範圍 1 至 100,省略時預設 100。超出範圍一律回傳 400 invalid_page_size,不會自動夾限成合法值,避免分批掃描時誤判為已經抓完全部資料。

Response

OK
datalist of objects or nullOptional

本頁的商品資料,每一筆為一個 ProductResponse。

totalCountintegerOptional

符合篩選條件的商品總數,涵蓋所有頁,不受目前頁碼影響。

currentPageintegerOptional

目前頁碼,即請求帶入的 page,從 1 起算。

pageSizeintegerOptional

目前頁面的筆數上限,即請求帶入的 pageSize。

totalPagesintegerOptional

總頁數,等於 totalCount 除以 pageSize 後無條件進位;沒有符合的資料時為 0。

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
500
Internal Server Error