運用ツール
MintJams Commerce は、日々の運用に必要な可視化・監視・通知・突合・レポートを備えます。設定は /etc/commerce/config/*.yml、または Webtop の各 Commerce アプリから行えます。
ダッシュボード
読み取り専用の Commerce Dashboard アプリが、売上トレンド、在庫、欠品予測、発注、拠点、入荷待ち、顧客、タスク、ヘルス、イベント取り込み、突合、送信状況を KPI カードで表示します。7d / 30d / 90d の期間切り替えと、各コンソールへのドリルダウンに対応します。
GET …/endpoints/dashboard.groovy?days=7&salesDays=30
更新は、コンテンツの SSE 購読+60 秒ポーリング+手動更新で行われます。
ヘルスモニター
Webhook・ルート・Admin API の成否とレイテンシを /content/commerce/health/metrics/{yyyy}/{MM}/{date}.json に記録し、health.yml のしきい値超過でアラートします。
| ルール | 発火条件 |
|---|---|
hmacFailures |
当日の HMAC 失敗 ≥ threshold |
apiErrorRate |
API エラー率 ≥ threshold(minSample 以上) |
routeErrorRate |
処理エラー率 ≥ threshold(minSample 以上) |
processingLatency |
単一 Webhook が maxMs を超過 |
クールダウンは cooldownMinutes(状態は state.json)。参照: GET …/endpoints/health.groovy?days=7。
通知チャネル
Slack / Discord / Teams / LINE / 汎用 Webhook / Email(SMTP)に対応します。設定は /etc/commerce/config/notifications.yml、または Webtop の Commerce → Notifications。各チャネルは enabled: false でない限り有効で、配信はベストエフォート(失敗してもログのみ、業務は止めません)。
突合(Reconciliation)
CMS のミラーと Shopify の現状の間で、商品ステータス・価格・在庫のドリフトを検出・報告し、設定に応じて修復します。
- タイマー(既定 1 時間)でラウンドロビンに点検(
maxPerRun) sourceOfTruth.{status,price,inventory}=cms/shopify、autoHeal.{...}で修復を個別に有効化(在庫は自動修復しない)- 報告:
/content/commerce/reconciliation/{yyyy}/{MM}/recon_*.json、カーソルはstate.json - 設定:
/etc/commerce/config/reconcile.yml。UI は Commerce Operations → Reconcile
レポートと監査
GET …/endpoints/reports.groovy?type=sales&days=30[&format=csv]
GET …/endpoints/reports.groovy?type=operations&days=30[&status=ok|failed|dryrun][&format=csv]
sales(日次の注文・通貨別売上・人気商品)と operations(CMS→Shopify 書き込みの監査)を JSON / CSV で出力します。
タスク SLA
未処理の人手タスクを定期スキャン(既定 15 分)し、sla.yml の規則(overdue / unclaimed / open)で違反をエスカレーションします(優先度の引き上げや候補グループ追加、通知)。状態は /content/commerce/tasks/sla-state.json。参照: GET …/endpoints/tasks.groovy。
CRM
注文履歴から顧客を集計・分類(new / repeat / vip / at_risk / dormant)し、/content/commerce/crm/customers/{key}.json に保存します。VIP/離脱などの変化を通知し、カゴ落ちの検出とフォロー(任意のメール、運用者サマリ)も行います。設定: /etc/commerce/config/crm.yml。参照: GET …/endpoints/crm.groovy?view=segments。