List return inventories with pagination
退貨庫存
列出 Return Inventories(分頁)
GET
List return inventories with pagination
回傳退件庫存紀錄的分頁列表——即倉庫側的逐項狀態。每筆紀錄代表一件已收到的物品,包含目前的處理決定、RMA、SKU 對映與所屬倉庫。
僅在以下情況呼叫
- 一次性回填:首次整合時,於訂閱 webhook 之前,將既有庫存寫入本地資料庫。
- 定期對帳:用以偵測遺漏或亂序的 webhook 傳遞——將本地快取與本端點結果比對。
必要參數
createFrom/createTo— 均必填,ISO 8601 時間戳。範圍上限為 62 天(SearchConfig.simpleRecordsMaxDays),超出會傳回軟錯誤。實際語義請見下方的 視窗語義。pageSize— 介於1與50之間。offset— 非負整數。搭配pageSize用於位移分頁。
回應備註
totalNumberOfRecords(頂層欄位,與data同層)為目前視窗的總筆數——分頁時以此作為上限。handlingCode反映目前的處理決定——可呼叫 更新退件庫存處理 變更。handlingStatusCode反映該處理決定的工作流狀態;可透過 取得所有處理狀態 轉譯。- 物品的 RMA(
rma)是倉庫指派的識別碼,並非您賣家端的參考號。
歷史庫存回填
可用本端點將每一筆既有的退件庫存載入您的本地資料庫,之後一律改用 webhook 接收後續事件。由於 API 對每次請求的時間範圍上限為 62 天,整體流程是「以 62 天為一格的滑動視窗,每格視窗內分頁、視窗依序往前推」,直至覆蓋帳號開通日。視窗語義
開始撰寫迴圈前,請先理解以下兩條規則——這是「乾淨回填」與「靜默漏一天」之間的分界線。-
驗證器規則(日曆日差):
比較前會先把兩端的時分秒歸零。所以
createFrom = 2024-03-13T15:00:00Z、createTo = 2024-05-14T09:00:00Z的請求仍然有效(May 14 − Mar 13 = 62天),即使實際牆鐘時長略短於 62 × 24 小時。 -
資料過濾(兩端整日皆包含):
也就是說,伺服器會把
createFrom擴張到當日00:00:00.000,createTo擴張到當日23:59:59.999,再進行過濾。因此一次合法請求實際覆蓋 63 個連續日曆日的資料(createFrom 當日整天、createTo 當日整天、以及之間所有天)。
createFrom 直接作為視窗 N+1 的 createTo,那一天會同時出現在兩個視窗的結果中。這是重複,不是漏單——演算法絕不會漏單,只是在每個視窗接縫處多抓約一天的資料。只要本地資料表以 returnInventoryId 作為主鍵並使用 UPSERT(或 INSERT IGNORE),重複自動合併,最終資料完全正確。
如要徹底避免重複抓取,每次迭代後改成 windowEnd = windowStart − 1 day(而非 windowEnd = windowStart),每個視窗就是無重疊的全新 63 天切片。兩種寫法都正確;下方範例採用「容許接縫重疊」版本,因為它對客戶端與伺服器之間的時鐘漂移更寬容,是建議的預設。
回填演算法
- 選定
historyStart(例如帳號開通日)。 - 以
windowEnd = now()起步。 - 計算
windowStart = max(windowEnd − 62 天, historyStart)。 - 在視窗內,從
offset = 0開始按pageSize翻頁,直到offset ≥ totalNumberOfRecords。每筆紀錄以returnInventoryId為主鍵 UPSERT 進入本地資料庫。 - 設
windowEnd = windowStart,回到第 3 步繼續,直至windowEnd ≤ historyStart。 - 之後改由
newInventoryCreatedwebhook(以及其他庫存生命週期事件)維護本地資料;除非懷疑 webhook 資料遺失,否則無須重跑本回填。
程式範例
相關
- 取得退件庫存詳情 — 當 webhook 提及未快取的
returnInventoryId時,依 ID 取得單筆紀錄。 - 依行項目 ID 取得退件庫存 — 依您的
returnRequestLineItemId查詢。 - 更新退件庫存處理 — 寫入側端點。
- 取得所有處理狀態 與 取得所有處理類型 — 代碼至標籤對映。
- Webhooks — 庫存生命週期事件的標準通道。請先設定 webhook 再使用本端點。
授權
Your API key
Your API token — keep this private
查詢參數
Number of records per page (1–50)
必填範圍:
1 <= x <= 50