Transfer Receive — 宛先側の入荷照合
発送確定されたバルクを宛先倉庫が受け取り、箱の中身をユニットQR で 1 点ずつスキャン照合します。1 スキャン = 1 単位の受領で、受領した単位は return_received(unit は allocated に戻り通常フロー再開)になります。遷移は単発の POST /api/routing/change-source の受領(return_received)と同一実装を共用し、現在在庫の新拠点への確定・新出荷元への出荷指示(create dispatch)・自己在庫の再計算まで同じ副作用が走ります。
Base URL
https://api.lmile.io· 認証 operator JWT(Authorization: Bearer)(詳細) ·shopはリクエストボディに含めます
全所属単位が終端(return_received / cancelled)になった受領で、バルクは自動的に received で締まります。
スキャン照合とは別に、返送ラベルの配送完了(キャリアの delivered)を検知した
dispatchedバルクはステータスのみreceivedに自動遷移します(unit をallocatedに戻す再フルフィルメントは行いません)。詳細は Transfer Batches を参照。
エンドポイント
POST
/api/operator/transfer/batches/receive
宛先側の入荷照合(1 点ずつスキャン受領)
lm_transfer_batches / lm_fulfillment_source_changes / lm_fulfillment_units
POST /api/operator/transfer/batches/receive
リクエスト
POST https://api.lmile.io/api/operator/transfer/batches/receive
Authorization: Bearer {OPERATOR_JWT}
Content-Type: application/json{
"shop": "demo-store.myshopify.com",
"batchId": "0d9c5a8e-1234-4abc-9def-0123456789ab",
"qr": "4912345678901|aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
}ボディパラメータ
shop
string
✓
店舗ドメイン(スタッフの束縛 shop 内)
batchId
string (uuid)
✓
受領中のバルク(内容物リストのバルクID バーコードから)
qr
string
✓
ユニットQR の生値(`
note
string
ケースに残すメモ(任意)
レスポンス
unit.status
受領後は allocated(新出荷元での確保 → 出荷の通常フローへ合流)
createDispatches
新出荷元への出荷指示(WMS 設定が無ければ skipped)
remainingUnits
バルク内の未受領(未終端)単位数。0 でバルクが received に
batchStatus
受領後のバルク status
挙動・冪等性
解決は add-unit と同じ
shipmentId → 注文 → 同 barcode の単位の経路で、当該バルク所属のケースだけが照合対象です。受領済み単位の再スキャンは
200の no-op(received: false, alreadyReceived: true)。バルクが
open(未発送)の場合は409 batch_not_dispatched。受領で現在在庫が新拠点に確定し、新拠点が自己在庫(MFC)なら
availableの再計算 + 在庫変動 webhook が発火します。現物の棚への配置(棚入庫)は本 API では行いません — Shelf Inventory / MFC Inventory で別途反映してください。
エラー
エンドポイント固有:
404
バルク / shipment / unit が存在しない
{ "ok": false, "error_kind": "batch_not_found" } 等
409
バルクが未発送(open)
{ "ok": false, "error_kind": "batch_not_dispatched" }
422
ユニットQR 形式不正 / 旧規格
{ "ok": false, "error_kind": "invalid_qr" } / { "error_kind": "legacy_qr" }
422
スキャンした単位が当該バルク所属でない
{ "ok": false, "error_kind": "not_in_this_batch" }
409
受領可能(return_in_transit)でない(caseStatuses[] 同梱)
{ "ok": false, "error_kind": "unit_not_receivable", "caseStatuses": [...] }
共通エラー(401 / 400 共通形 / 403 / 405 / 500 / 503)は Error Codes を参照。
データモデル
sot.lm_transfer_batches— 全単位終端でstatus='received'/received_at。操作者監査は単位側lm_fulfillment_source_changes.updated_by_staff_user_id(LM-850)。sot.lm_fulfillment_source_changes— 受領ケースがreturn_received+received_at。sot.lm_fulfillment_units— 受領単位がallocated・current_inventory_location_id= 新拠点。
Last updated
Was this helpful?