Skip to main content
POST
Create resend by SKU
このページはAIによって自動翻訳されています。API技術仕様は英語が正式です。不明点がある場合は英語版を参照してください。
これは Enterprise 専用 機能で、SKU 在庫モジュールが有効な Return Helper Enterprise のお客様のみ利用できます。有効化されていないアカウントからのリクエストは拒否されます。詳しくは enterprise-solution@returnhelper.com までお問い合わせください。
明示的な返品在庫 ID ではなく、倉庫単位の SKU 数量を指定して resend を作成します。 リクエストはアトミックに処理されます。要求されたすべての単位が割り当てられて 1 件の resend が作成されるか、何も作成されずリクエストが失敗するかのいずれかです。部分的な resend は発生しません。

Create resend order ではなく本エンドポイントを使う場合

  • SKU と数量で在庫を管理しており、個々の returnInventoryId 値を扱いたくない場合は、SKU で Resend を作成を使用します。
  • resend したい特定の returnInventoryId 値をすでに保持している場合(例: newInventoryCreated webhook からキャッシュ)は、Create resend order を使用します。

前提条件

  • アカウントで SKU 在庫モジュール(Enterprise)が有効になっている。
  • その倉庫に、要求された各 SKU について resend 対象として十分な在庫がある。まず SKU 在庫を検索availableQuantity)でサマリーを確認してください。ただし、サマリーチェックの通過は保証ではありません(下記参照)。
  • shipmentServiceTypeShipment Service TypeReturn Service Type ではありません)。有効なコードは Warehouse で利用可能な Shipment Service Types を取得 から取得してください。

選択の仕組み

割り当ては 3 段階で行われ、権威を持つのは最後の段階のみです。
  1. 検証。 リクエスト行が正規化され(SKU の trim + 大文字化)、重複する SKU が結合されます。検証は warehouseId + 正規化後 SKU ごとに availableQuantity をチェックします。これを通過しても、サマリー上十分に見えることを確認するだけで、何も予約・割り当てされません
  2. 選択。 システムは warehouseId と正規化 SKU に一致し、resend 対象となる実際の返品在庫レコードを照会し、ピックアップ戦略に従って要求された数量をちょうど選択します。対象レコードが要求数より少ない場合、リクエスト全体が拒否されます。
  3. 割り当て。 トランザクション内で、選択された行をロックして再チェックします。いずれかが対象外になっていればトランザクションをロールバックし、リクエストが失敗します。そうでなければ、選択されたすべてのレコードが resend / in-progress に進められ、同じトランザクション内で resend が作成されます。
SkuInventory.availableQuantity事前チェックであり、予約ではありません。 複数の並行リクエストが同じサマリーチェックを通過し得ますが、基礎レコードのロードとロックに成功したリクエストのみがコミットします。他は検証エラーで失敗し、再試行できます。ロックされた割り当てが常に最終的な権威です。

対象条件

返品在庫レコードは、次の条件をすべて満たす場合にのみ選択対象になります。
  • 要求された warehouseId と正規化後 SKU に一致する。
  • handlingStatusCode = pending
  • resend / in-progress に遷移できる。かつ
  • 保留中の VAS がない(未完了の VAS Split を含む)。
対象条件がステータスベースであるため、MySQL 上の対象件数はサマリーの availableQuantity より少なくなることがあります(後者は保留中の VAS を持つレコードを数える場合があります)。その場合、対象外の項目を resend するのではなく、リクエストは fail-closed で失敗します。

ピックアップ戦略

選択はデフォルトで LIFO を使用します。最新の createOn を優先し、タイブレークには最大の返品在庫 ID を用います。この戦略はファクトリの背後に置かれており、割り当てロジックを変更せずに将来 FIFO に切り替えられます。

エラーと再試行

  • 検証失敗は HTTP 200 と meta.status: 400 で返されます(標準のソフトエラーエンベロープ。エラー処理を参照)。
  • ある SKU の可用量が不足している場合、リクエストは全体として拒否されます。セキュリティのため、エラーは残りの可用量を開示しません
  • 並行リクエストが同じ在庫を奪い合う場合、レコードのロックに失敗したリクエストは拒否され、再試行できます。
  • SKU 在庫を検索 — リクエスト前に availableQuantity を確認します。
  • Create resend order — 明示的な返品在庫 ID で resend します。ラベル生成(自動 vs 手動サービスタイプ)とキャンセル締切もカバーしており、ここで作成される resend にも適用されます。
  • Resend Order をキャンセル — 倉庫が出荷する前に中止します。
  • 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.