運用ツール

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 エラー率 ≥ thresholdminSample 以上)
routeErrorRate 処理エラー率 ≥ thresholdminSample 以上)
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 / shopifyautoHeal.{...} で修復を個別に有効化(在庫は自動修復しない
  • 報告: /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