MintJams Commerce は、Shopify の Webhook を受け取り、リポジトリに正規化し、BPMN ワークフローで処理する——ヘッドレスコマースのオーケストレーション層。しきい値を割った在庫、レビューが必要な注文、監査したい返金だけを、担当者のタスクと通知に変えます。MintJams CMS と同じ Docker イメージに同梱、あとは設定するだけ。
Shopify からのイベントは、検証され、正規化され、ワークフローに乗り、必要なときだけ人へ。受け取りから通知まで、ひと続きのパイプラインで動きます。
商品更新・注文確定・返金など。Webhook が飛ぶ。
Groovy エンドポイントが HMAC-SHA256 で検証。
共通の取り込み核へ。生ペイロードを保存。
版管理・全文検索・ACL を備えたリポジトリへ。
しきい値・スクリーニングを評価。自動か、人か。
担当者へタスクを起票し、各チャネルへ通知。
外部 EC との接続も、業務プロセスも、人への引き渡しも。これまで別々だった仕掛けを、MintJams CMS の同じデスクトップの上に揃えます。
すべてのトピックを単一の取り込み核へ。生ペイロードは保存され、いつでも再処理できます。
BPMN 2.0 準拠のプロセスで在庫・注文・返金を判定。ルールに当たらないものは自動で通します。
判断が必要なときだけ、担当者のタスクに。誰が引き取ったかまで追跡し、各チャネルへ通知します。
Shopify の在庫がバリアントごとのしきい値を下回ると、手動レビュータスクを起票し、設定済みのチャネルへ通知。撃ちっぱなしのアラートではなく、誰がフォローを担うかまで追跡します。
初めて見る商品には、バリアント単位で「何個を切ったら警告するか」を担当者が決定。
在庫割れを検知して起票。担当者が状況をレビューし、対応済みにマーク。
処理中の商品が二重にワークフローを起動しないよう抑止。最新データは保存され続けるので取りこぼしなし。
取り込みは EIP ルートとして設計・デプロイ。生ペイロードを durable なイベントログに残すから、失敗イベントは自動リトライされ、どのイベントも手動でリプレイできます。書き戻しは Admin API でゲート付き。
Shopify 固有はトピック→ルートの小さな表だけ。新しいバックエンドはアダプタを足すだけ。
ルートごとの成功 / エラー / 遅延を交換履歴とメトリクスで可視化。ボトルネックも一目で。
在庫・価格・公開状態を Admin API で書き戻し。dryRun と監査証跡付きで安全に。
業務ワークフローの外側で、Webhook 受信・ルート処理・Admin API 呼び出しを観測。KPI を 1 画面に束ね、劣化や滞留を検知したら同じ通知チャネルへ知らせます。
売上・在庫・予測・発注・タスク・連携健全性まで、リアルタイムの読み取り専用 KPI カード。
トピック別の成功 / エラー / レイテンシを観測し、劣化時にアラート。
滞留したレビュータスクを定期スキャンでエスカレーション。優先度を上げて通知。
すべての設定は管理者専用の Commerce アプリから。Connection / Intake & sync / Inventory / Workflows / Storefront / Monitoring のグループ化されたサイドバーで編集し、ひとつの Save でまとめて永続化。接続情報と通知先は別ファイルに分けてあるので、API シークレットに触れずに通知先だけを管理できます。
各セクションが未保存マーカーを持ち、まとめて 1 つの Save で反映。
Slack・Discord・Teams・LINE・Email・汎用 Webhook を、それぞれ独立して有効化。
notifications.yml と shopify.yml を別管理。安全に運用を委譲。
Shopify の商品に、多言語タイトル・リッチな説明・カスタム属性・メタフィールドを CMS 権威のオーバーレイとして付与。商品ノードに保存されるので、JCR の版管理・全文検索・ACL をそのまま継承します。Shopify ベース+メタフィールド+オーバーレイを合成した統一ビューで編集し、CMS 由来のメタフィールドは同期エンドポイント経由で書き戻し。
ロケール別のタイトルと HTML 説明を、商品ごとに作り込み。
商品ノードに保存し、履歴・全文検索・ACL を継承。安全に編集。
同じミラーが、ドリフト突合や売上・監査エクスポートの土台にもなる。
各機能は独立して設定でき、入力が無ければ穏やかに縮退します。必要な分だけ採用してください。
しきい値割れを検知し、Manual Inventory Check を起票・通知。
高額・リスク決済・大量数量などを審査し、要審査だけ人へ。
金は動かさない監査 / 不正監視。注文の返金サマリも更新。
動的しきい値・需要予測・自動発注で在庫切れを先回り。
行単位の入荷待ちを FIFO で追跡し、入荷時に解放タスク。
多言語タイトル・説明・メタフィールドを版管理付きで上書き。
CMS ミラーと Shopify を定期比較。ドリフトを検出・報告・自己修復。
売上と書き出し監査を JSON / CSV で。JCR の証跡から生成。
購入履歴から new / repeat / vip / at_risk / dormant に分類。
売上・在庫・予測・連携健全性を束ねる読み取り専用 KPI。
受信・処理・API 呼び出しを観測し、劣化時にアラート。
楽天 / BASE / 自社EC / ERP。同じ封筒を投げるアダプタを足すだけ。
EC 運用は、全部自動化すると取りこぼしが怖い。かといって全部手作業では回らない。MintJams Commerce は、その境界を設計可能にするために生まれました。
統合処理は無制限のスーパーユーザーではなく、専用のアイデンティティ・グループ・ACL を初回起動時に付与された、リポジトリ ACL に従う通常のプリンシパルとして動きます。書き込みは、プラットフォームが所有するパスにだけ追加されます。
Commerce 専用のイメージはありません。資産は mintjams/cms イメージに同梱済み。CMS を起動すれば、Commerce ツールも一緒に立ち上がります。
Commerce の資産は同じイメージに同梱。追加インストールは不要です。
http://localhost:8080 を開き、admin でサインイン。
Webtop メニューから Commerce を開いて連携を設定。
Webhook の共有シークレットを登録。Admin API は任意で有効化。
docker run --rm \ -p 8080:8080 \ -e CMS_PUBLIC_BASE_URL=http://localhost:8080 \ -v cms-repository:/data/repository \ -v cms-secrets:/data/secrets \ --tmpfs /opt/felix/tmp:size=512m,mode=0700 \ mintjams/cms:latest # → http://localhost:8080/ を開き、admin でサインイン # → Webtop メニューから「Commerce」を開いて設定
取り込み核は Shopify を知りません。知っているのは小さなトピック→ルートの表だけ。新しいバックエンドは、同じ封筒(event_source / event_topic / event_id + ペイロード)を核へ投げるアダプタを足すだけで、下流はそのまま動きます。
source-agnostic な取り込み核 — 下流のワークフローは不変
direct:commerce-ingest は source-agnostic です。event_source / event_topic / event_id +ペイロードという同じ封筒を投げるアダプタを足せば、楽天・BASE・自社EC・ERP などを下流変更なしで接続できます。現在同梱の実装は Shopify です。mintjams/cms Docker イメージに事前デプロイ済み。CMS を起動すれば Commerce ツールも一緒に立ち上がり、あとは設定するだけです。commerce-service-user という専用の非対話プリンシパルとして動き、リポジトリ ACL に完全に従います。書き込みは /content/commerce など、プラットフォームが所有するパスにだけ追加されます。github.com/mintjamsinc/commerce、ランタイム基盤は cms0、UI フレームワークは ichigo.js。なお本プロダクトは public preview 段階で、1.0 までに API や設定キーが変わる可能性があります。