For the complete documentation index, see llms.txt. This page is also available as Markdown.

Source Members — 出荷元マッピング

出荷元(fulfillment source)に、引き当て対象の在庫ロケーションを紐付けます。ルーティング(Routing)はこのマッピングで解決されたメンバー在庫ロケーション内だけで引き当てます。設定・解除・取得を API で行えます。

Base URL https://api.lmile.io · 認証 x-ingest-secret ヘッダー(詳細) · set/detach は shop をボディ、取得はクエリに含めます(省略するとキーのアカウント)

マッピングのキーは (shop, inventoryLocationId) = 在庫ロケーションは1出荷元のみに属する(1出荷元 : N在庫)。既に別の出荷元に紐づく在庫ロケーションを set すると、その出荷元へ付け替えられます。

エンドポイント

Method
Path
用途

POST

/api/routing/source-members

マッピング設定(upsert)

POST

/api/routing/source-members/detach

マッピング解除(物理削除)

GET

/api/routing/source-members

マッピング状況の取得(ラベル付き一覧)


POST /api/routing/source-members

出荷元↔在庫ロケーションのマッピングを upsert します。

リクエスト

POST https://api.lmile.io/api/routing/source-members
x-ingest-secret: {INGEST_SECRET}
Content-Type: application/json
{
  "shop": "demo-store.myshopify.com",
  "fulfillmentSourceLocationId": "11111111-1111-1111-1111-111111111111",
  "inventoryLocationId": "22222222-2222-2222-2222-222222222222",
  "priorityRank": 1,
  "isActive": true
}

ボディパラメータ

パラメータ
型
必須
説明

shop

string

店舗ドメイン(省略するとキーのアカウント)

fulfillmentSourceLocationId

string (uuid)

✓

出荷元 location(shop 内に実在すること)

inventoryLocationId

string (uuid)

✓

紐付ける在庫ロケーション(shop 内に実在。出荷元自身も指定可 = 自己在庫を引き当て対象にする)

priorityRank

number

販売可能在庫・地域一致が同点の場合の並び順(昇順・任意。未設定は最後)。出荷元自身の在庫は SKU 拠点オーバーライド(force_first / force_only)がある場合を除き常に最優先

isActive

boolean

有効フラグ(default true。false で論理無効化)

レスポンス

挙動

  • upsert キー: (shop, inventoryLocationId)。同じ在庫ロケーションを別の出荷元で set すると出荷元が付け替わる(1:N 整合)。

  • isActive: false でマッピングを残したまま無効化(ルーティングの候補から外れる)。完全に消す場合は detach。

  • 合算在庫の再同期: マッピングの変更で出荷元の合算販売可能在庫が変わるため、設定後に影響を受けた出荷元(新規/付け替えの場合は新・旧の両出荷元)の合算 available を再計算し、変動分を Source Inventory webhook として発火します(外部在庫ミラーへ反映)。enqueued は起票した在庫変動イベント数(合算が変わらなければ 0)。


POST /api/routing/source-members/detach

マッピングを物理削除します(在庫ロケーション基準)。

パラメータ
型
必須
説明

shop

string

店舗ドメイン(省略するとキーのアカウント)

inventoryLocationId

string (uuid)

✓

解除する在庫ロケーション

レスポンス: { "ok": true, "shop": "...", "inventoryLocationId": "...", "deleted": 1, "enqueued": 8 }(deleted は削除件数。該当無しは 0)。

解除すると外した在庫ロケーション分だけ出荷元の合算が減るため、旧出荷元の合算 available を再計算し変動分を Source Inventory webhook として発火します。最後のメンバーを外した場合も合算は 0 に補正されます(外部在庫ミラーが在庫過大のまま固着しません)。enqueued は起票した在庫変動イベント数。


GET /api/routing/source-members

shop(任意で出荷元)のマッピング状況をラベル付きで取得します。

クエリ
必須
説明

shop

店舗ドメイン(省略するとキーのアカウント)

fulfillmentSourceLocationId

指定するとその出荷元のマッピングのみに絞り込み

レスポンス


エラー

エンドポイント固有:

Status
条件
レスポンス例

400

必須欠落 / 非 UUID / source==inventory / shop クエリ無し

{ "ok": false, "error": "inventoryLocationId (uuid) required" }

422

location が shop 内に存在しない

{ "ok": false, "error_kind": "location_unresolved", "error": "inventory location not found for shop" }

共通エラー(401 / 400 / 403 / 405 / 500 / 503)は Error Codes を参照。

データモデル

  • sot.lm_fulfillment_source_members — 出荷元 → 在庫ロケーション 紐付け(UNIQUE shop + inventory_location_id で 1出荷元:N在庫を強制。自己参照 = 出荷元自身をメンバーにする自己在庫は許可)

  • 読み取り view(管理 UI 用): public.lm_v_fulfillment_source_members

Last updated

Was this helpful?