Skip to main content
POST
Create resend by SKU
此頁面由 AI 自動翻譯。API 技術規格以英文呈現為標準。如有任何疑問,請參閱英文版本
此為 Enterprise 專屬 功能,僅對已啟用 SKU 庫存模組的 Return Helper Enterprise 客戶開放。未啟用的帳戶其請求會被拒絕。如需了解更多,請聯絡 enterprise-solution@returnhelper.com
倉庫層級的 SKU 數量(而非明確的退件庫存 ID)建立補寄。 請求以原子方式處理——要嘛每個請求單位都被配置且建立單一補寄,要嘛完全不建立且請求失敗。不會有部分補寄。

何時使用本端點,而非 Create resend order

  • 當您以 SKU 與數量追蹤庫存、且不想管理個別 returnInventoryId 值時,使用以 SKU 建立 Resend
  • 當您已握有想補寄的特定 returnInventoryId 值(例如從 newInventoryCreated webhook 快取而來)時,使用 Create resend order

前置條件

  • 您的帳戶已啟用 SKU 庫存模組(Enterprise)。
  • 該倉庫中每個請求的 SKU 都有足夠、符合補寄資格的庫存。請先以 搜尋 SKU 庫存availableQuantity)確認彙總量,但請注意通過彙總檢查並非保證——見下文。
  • shipmentServiceTypeShipment Service Type不是 Return Service Type)。有效代碼請見 取得 Warehouse 可用的 Shipment Service Types

挑選機制

配置分三個階段,且只有最後一個階段具權威性:
  1. 驗證。 您的請求行會被正規化(SKU trim + 轉大寫),重複的 SKU 會被合併。驗證會依 warehouseId + 正規化後 SKU 檢查 availableQuantity。通過此檢查代表彙總量看起來足夠——不會保留或配置任何東西。
  2. 挑選。 系統查詢符合您 warehouseId 與正規化 SKU 且具補寄資格的實際退件庫存記錄,再依挑貨策略恰好挑出所請求的數量。若符合資格的記錄少於請求量,整筆請求會被拒絕。
  3. 配置。 在交易內,將被挑選的列加鎖並重新檢查;若有任何一列不再符合資格,交易回滾且請求失敗。否則所有被挑選的記錄會被推進至 resend / in-progress,並在同一交易內建立補寄。
SkuInventory.availableQuantity提前檢查,並非保留。 多個並行請求可能同時通過相同的彙總檢查;只有成功鎖定並取得底層記錄的請求才會提交(commit)。其餘請求會以驗證錯誤失敗,並可重試。加鎖的配置始終是最終權威。

資格規則

退件庫存記錄唯有在符合以下條件時才可被挑選:
  • 符合請求的 warehouseId 與正規化後 SKU;
  • handlingStatusCode = pending
  • 可轉換至 resend / in-progress;且
  • 無待處理 VAS,包含任何未完成的 VAS Split。
由於資格以狀態為基準,MySQL 符合資格的數量可能低於彙總的 availableQuantity(後者仍可能計入帶待處理 VAS 的記錄)。當發生此情況時,請求會以 fail-closed 方式失敗,而非補寄不符資格的項目。

挑貨策略

挑選預設採 LIFO:最新 createOn 優先,並以最大的退件庫存 ID 作為決勝依據。此策略置於工廠(factory)之後,未來可切換為 FIFO 而不需更動配置邏輯。

錯誤與重試

  • 驗證失敗會以 HTTP 200 搭配 meta.status: 400 回傳(標準的軟錯誤封套——見錯誤處理)。
  • 當某個 SKU 可用量不足時,會整筆拒絕請求。基於安全考量,錯誤不會揭露剩餘可用量。
  • 當並行請求爭用相同庫存時,未能鎖定記錄的請求會被拒絕,並可重試。
  • 搜尋 SKU 庫存 — 在請求前確認 availableQuantity
  • Create resend order — 以明確的退件庫存 ID 補寄;亦涵蓋面單產生(自動 vs 手動服務類型)與取消截止時間,這些同樣適用於此處建立的補寄。
  • 取消補寄訂單 — 在倉庫出貨前中止。
  • Webhooks — resend-status-update 事件會將生命週期變更推送至您的端點。

授權

x-rr-apikey
string
header
必填

Your API key

x-rr-apitoken
string
header
必填

Your API token — keep this private

主體

application/json

Create a resend by warehouse-scoped SKU quantities. companyName is not part of this request.

warehouseId
integer<int32>
必填

Warehouse to fulfil the resend from. Must be greater than 0 and owned by the authenticated account. All selected inventory comes from this single warehouse.

shipmentServiceType
string
必填

Shipment service type code (not a return service type). Non-others values are validated against the available shipment service and service zone for the warehouse and destination.

itemList
object[]
必填

Non-empty list of SKU + quantity lines. The number of raw lines is limited to 100; the combined quantity across all lines is limited to 100.

toAddress
object
必填

Destination address for the resend shipment.

sellerReferenceNumber
string

Optional seller reference number. When provided, 1-50 characters with no invisible characters. Stored on the created resend shipment and echoed back in the response.

Maximum string length: 50
description
string

Optional free-text description for the resend order.

remarks
string

Optional free-text merchant remarks for the resend order.

warehouseRemarks
string

Optional free-text remarks addressed to the warehouse.

回應

Success

Wraps CreateResendBySkuReply under data, alongside the standard correlationId and meta envelope.

data
object

Create resend by SKU result.