Apps 概要
LMile 上で発生したイベント(在庫引き当ての暫定確定など)を検知して、コードで書いた自動処理(外部システム連携・通知・LMile API への write-back)を実行する仕組みです。アプリは LMile がホストする専用の実行環境(1 アプリ = 1 VM、相互に隔離)で動くため、受け手のサーバーを自前で運用する必要がありません。
ステータス: プレビュー — アプリの登録・デプロイ・環境変数の設定は現在 LMile 運用が行います(admin@lmile.io)。開発者は SDK(
@lmile/app-kit)でアプリ本体のコードだけを書きます。
Webhooks との使い分け
受け手
自前のサーバー(宛先 URL を登録)
LMile がホストする専用 VM
実装
任意の言語・任意の処理
TypeScript(@lmile/app-kit の handler)
ペイロード
テンプレートで自由に整形
型付きイベント(固定スキーマ)
明細の properties(名入れ等)
同梱される
含まれない(PII 保護)
向く用途
既存システムへの直接通知・取込
「検知 → 判断 → LMile API を呼び返す」自動処理
同じ発火点から両方へ並走して配信されるため、併用できます。
動作モデル
購読 — アプリは manifest で購読イベントを宣言します
配信 — イベント発生時、購読アプリの VM へ型付き JSON が配信されます。イベントは送信前に outbox へ記録され、失敗しても回収・再送できます
実行 — handler が実行されます。LMile API の呼び返しは
ctx.api(認証キーは実行環境が注入し、アプリのコードには書きません)記録 — 実行結果(成功 / 失敗 / timeout・所要時間・構造化ログ)が実行ログに記録されます
配信の性質
at-least-once / 順序保証なし — handler は冪等・順序非依存で書きます(SDK / Idempotency)
handler の失敗(例外 / timeout)は配信失敗として記録され、再送で回収されます(silent skip しません)
PII 保護 — 明細の
properties(名入れ等の任意キー/値)と配送先住所は、アプリ向けイベントに含まれません
購読できるイベント
fulfillment_shipment_status_changed
出荷元(shipment)の出荷ステータスが遷移
準備中
fulfillment_source_inventory_changed
出荷元の合算販売可能在庫が変動
準備中
利用開始
SDK — アプリの書き方を読んでアプリを書く
LMile(admin@lmile.io)にアプリの登録・デプロイを依頼する(アプリ名 / 対象 shop / 購読イベント / 必要な環境変数キーを共有)
配信開始後の実行結果・配信状態は LMile 側で確認できます(失敗イベントの再送も LMile 運用が行います)
次のステップ
Idempotency — 配信と handler の冪等性
Last updated
Was this helpful?