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

Apps 概要

LMile 上で発生したイベント(在庫引き当ての暫定確定など)を検知して、コードで書いた自動処理(外部システム連携・通知・LMile API への write-back)を実行する仕組みです。アプリは LMile がホストする専用の実行環境(1 アプリ = 1 VM、相互に隔離)で動くため、受け手のサーバーを自前で運用する必要がありません。

ステータス: プレビュー — アプリの登録・デプロイ・環境変数の設定は現在 LMile 運用が行います(admin@lmile.io)。開発者は SDK(@lmile/app-kit)でアプリ本体のコードだけを書きます。

Webhooks との使い分け

Webhooks

Apps

受け手

自前のサーバー(宛先 URL を登録)

LMile がホストする専用 VM

実装

任意の言語・任意の処理

TypeScript(@lmile/app-kit の handler)

ペイロード

テンプレートで自由に整形

型付きイベント(固定スキーマ)

明細の properties(名入れ等)

同梱される

含まれない(PII 保護)

向く用途

既存システムへの直接通知・取込

「検知 → 判断 → LMile API を呼び返す」自動処理

同じ発火点から両方へ並走して配信されるため、併用できます。

動作モデル

  1. 購読 — アプリは manifest で購読イベントを宣言します

  2. 配信 — イベント発生時、購読アプリの VM へ型付き JSON が配信されます。イベントは送信前に outbox へ記録され、失敗しても回収・再送できます

  3. 実行 — handler が実行されます。LMile API の呼び返しは ctx.api(認証キーは実行環境が注入し、アプリのコードには書きません)

  4. 記録 — 実行結果(成功 / 失敗 / timeout・所要時間・構造化ログ)が実行ログに記録されます

配信の性質

  • at-least-once / 順序保証なし — handler は冪等・順序非依存で書きます(SDK / Idempotency)

  • handler の失敗(例外 / timeout)は配信失敗として記録され、再送で回収されます(silent skip しません)

  • PII 保護 — 明細の properties(名入れ等の任意キー/値)と配送先住所は、アプリ向けイベントに含まれません

購読できるイベント

イベント
内容
状態

ルーティングで在庫引き当てが暫定確定

配信中

fulfillment_shipment_status_changed

出荷元(shipment)の出荷ステータスが遷移

準備中

fulfillment_source_inventory_changed

出荷元の合算販売可能在庫が変動

準備中

利用開始

  1. SDK — アプリの書き方を読んでアプリを書く

  2. LMile(admin@lmile.io)にアプリの登録・デプロイを依頼する(アプリ名 / 対象 shop / 購読イベント / 必要な環境変数キーを共有)

  3. 配信開始後の実行結果・配信状態は LMile 側で確認できます(失敗イベントの再送も LMile 運用が行います)

次のステップ

  1. Idempotency — 配信と handler の冪等性

Last updated

Was this helpful?