2026-04 出荷Webhook shadow lane 補足仕様¶
位置づけ¶
本仕様は、基幹システムから Vendure へ通知する出荷Webhookについて、productionでの安全な比較検証を行うための追加合意事項を定義する。
対象は system-integration/shipment/notify の受信経路とし、production
verification の補助レーンとして運用する。
合意事項¶
- 分離単位
- 初期段階の shadow test は channel 追加ではなく execution mode によるレーン分離とする。
-
productionを正本処理、shadowを比較専用処理として扱う。 -
適用範囲
- v1 の対象は出荷Webhook (
system-integration/shipment/notify) のみとする。 -
SMILE export、決済 callback、その他Webhookには本仕様を直ちには適用しない。
-
入力条件
- production と shadow は同一の受信 payload(注文番号、配送会社名、追跡番号)を用いる。
-
order 解決や重複判定など、比較価値のある読取は production 相当のデータを用いる。
-
副作用の扱い
- shadow 実行では以下の本番副作用を起こしてはならない。
- fulfillment 作成
- fulfillment の
Shipped遷移 - 注文履歴メモ追記
- 出荷完了メールなど、前記副作用を起点とする通知
-
shadow では「実行予定だった内容」を比較用に記録し、本番系の永続化は行わない。
-
レスポンス責務
- HTTP レスポンスは常に production 側の結果を正本とする。
-
shadow 側の失敗は production レスポンスを失敗させる理由にしない。
-
観測
- shadow 実行結果は production 結果と突合できる形で記録する。
- 少なくとも以下を比較可能にする。
- orderCode
- carrierName
- trackingNumber
- duplicateDetected
- plannedLineCount
- sideEffectsApplied
-
shadow failure は production の主系アラートと混線しない形で記録する。
-
運用制御
- shadow 実行は設定フラグで ON/OFF できること。
- kill switch として即時に無効化できること。
受け入れ観点¶
- 出荷Webhook呼び出し時に production 側は従来どおり fulfillment 作成と shipped 遷移を行えること。
- shadow 有効時も、本番DB上の fulfillment 数や注文履歴が追加で増えないこと。
- shadow failure が発生しても、production 成功時の HTTP レスポンスが維持されること。
- shadow ON/OFF を設定だけで切り替えられること。
- production / shadow の比較結果を、注文番号・追跡番号単位で観測できること。