SMART-CONTACT 管理者マニュアル¶
| 項目 | 内容 |
|---|---|
| プロジェクト名 | SMART-CONTACT |
| バージョン | 2.0 |
| 更新日 | 2026-02-28 |
| 文書種別 | 管理者マニュアル |
1. はじめに¶
1.1 管理画面とは¶
SMART-CONTACTの管理画面は、管理者(is_admin = true)のみアクセスできるWeb管理コンソールです。ユーザー管理、通知管理、送信ログの閲覧、サブスクリプション管理、システム設定など、サービス運営に必要な操作を行えます。
1.2 アクセス方法¶
ブラウザで /admin にアクセスしてください。管理者アカウントでログイン済みである必要があります。
アクセス制御: 管理者以外のアカウントで
/adminにアクセスすると、アクセス拒否されます。管理者権限は別の管理者がユーザー詳細画面から付与します。
1.3 サイドバーナビゲーション¶
管理画面の左側サイドバーに以下のメニューが表示されます。
| メニュー | URL | 説明 |
|---|---|---|
| ダッシュボード | /admin |
KPI・ユーザー推移・送信推移 |
| ユーザー管理 | /admin/users |
ユーザー一覧・検索・詳細・BAN/復元 |
| 通知管理 | /admin/notifications |
お知らせの作成・編集・削除 |
| 送信ログ | /admin/mail-logs |
メール送信ログの検索・閲覧 |
| サブスクリプション | /admin/subscriptions |
サブスク・Whiteユーザーの管理 |
| アクティビティ | /admin/activity-logs |
ユーザー操作のログ |
| システム設定 | /admin/settings |
レート制限・メンテナンスモード等 |
2. ダッシュボード¶
この画面でできること
- 主要KPIの確認(ユーザー数・DAU/WAU/MAU・送信数・MRR)
- ユーザー数推移グラフの確認(30日間)
- 送信数推移グラフの確認(30日間)
2.1 KPIカード¶
画面上部に7つのKPIカードが表示されます。
| KPI | 説明 | 計算方法 |
|---|---|---|
| 総ユーザー数 | システム全体の登録ユーザー数 | Usersテーブルの全件数 |
| White | ホワイトユーザー数 |
is_white_user = true の件数 |
| 有料ユーザー | 有料サブスクリプションユーザー数 |
stripe_subscription_quantity > 0(White除く) |
| DAU | 日次アクティブユーザー数 | 過去24時間でデバイスがアクティブだったユニークユーザー数 |
| WAU / MAU | 週次 / 月次アクティブユーザー数 | 過去7日 / 30日のユニークアクティブユーザー数 |
| 今月の総送信数 | 当月の全ユーザー合計送信数 | メール送信(成功)+ フォーム送信(成功)の合計 |
| MRR(概算) | 月間定期収益の概算 | 有料ユーザー数 × ¥9,900 |
2.2 ユーザー数推移グラフ¶
直近30日間のユーザー数の推移を折れ線グラフで表示します。
2.3 送信数推移グラフ¶
直近30日間の送信数を積み上げ棒グラフで表示します。
-
フォーム送信: フォーム経由の送信件数(UserActivityLogの
execution_completeアクションから集計) -
メール送信: メール経由の送信件数(ContactMailLogの
status='success'から集計)
3. ユーザー管理¶
この画面でできること
- ユーザーの検索・フィルタリング
- ユーザー詳細の確認
- ユーザーのBAN/BAN解除
- White/管理者/テストユーザーの種別設定
- ユーザーの削除・復元
- デバイスの管理
3.1 ユーザー一覧¶
検索¶
画面上部の検索フィールドに名前またはメールアドレスを入力して検索できます(部分一致)。
フィルタ¶
以下のフィルタボタンで表示を切り替えます。
| フィルタ | 表示対象 |
|---|---|
| すべて | 全ユーザー(削除済み除く) |
| White | ホワイトユーザー(is_white_user = true) |
| 有料 | 有料サブスクリプションユーザー(stripe_subscription_quantity > 0) |
| BAN | BANされたユーザー(is_banned = true) |
| 削除済み | ソフトデリートされたユーザー(deleted_atあり) |
テーブルカラム¶
| カラム | 説明 |
|---|---|
| ユーザー | 名前 + メールアドレス |
| ステータス | バッジ表示(下記参照) |
| ライセンス数 | 「無制限」(ホワイト)またはライセンス数 |
| 登録日 | アカウント作成日(ja-JP形式) |
| 操作 | 復元ボタン(削除済みの場合)/ 詳細リンク |
ステータスバッジ¶
| バッジ | 条件 | 色 |
|---|---|---|
| 削除済み |
deleted_at あり |
グレー(#71717A) |
| BAN | is_banned = true |
赤(#D4756A) |
| White | is_white_user = true |
ブラウン(#8B7535) |
| Unlimited | stripe_subscription_quantity > 0 |
ダーク(#3D3D3D) |
| Free | 上記いずれにも該当しない | ライトグレー(#B0A8A0) |
ページネーション: 1ページ20件。
3.2 ユーザー詳細¶
ユーザー一覧の「詳細」をクリックすると、個別のユーザー詳細画面が表示されます。
基本情報カード¶
| 項目 | 説明 |
|---|---|
| ID | ユーザーID |
| 名前 | ユーザー名 |
| メール | メールアドレス |
| 登録日 | アカウント作成日 |
| ライセンス数 | デバイスライセンス数 |
| 削除日 | ソフトデリートされた場合の日付 |
ユーザー種別の変更¶
3つのチェックボックスで種別を設定できます。
| 種別 | アイコン | 色 | 説明 |
|---|---|---|---|
| White User | 👑 | ブラウン(#8B7535) | ホワイトユーザー。課金不要・デバイス無制限 |
| 管理者 | 🛡️ | 青(#3B82F6) | 管理画面にアクセス可能 |
| テストユーザー | 🧪 | 紫(#A78BFA) | フォーム入力まで行い送信ボタンは押さないモード |
- チェックボックスで種別を設定する
- 「種別を更新」ボタンをクリックする
テストユーザーについて: テストユーザーに設定すると、そのユーザーのChrome拡張機能で「テストユーザーモードで動作中」と表示され、フォーム送信ボタンが押されなくなります。ただしチケット・無料枠は消費されます。
BAN/BAN解除¶
| 操作 | ボタン表示 | 動作 |
|---|---|---|
| BAN | BANする | ユーザーをBANし、ログイン・利用を停止する |
| BAN解除 | BAN解除 | BANを解除し、利用を再開させる |
クリック後すぐに反映されます。フラッシュメッセージで「ユーザーをBANしました。」等が表示されます。
ユーザーの削除¶
- 「ユーザーを削除」ボタンをクリックする
- 確認ダイアログ「このユーザーを削除しますか?この操作は後から復元可能です。」が表示される
- OKをクリックするとソフトデリートされる
注意: 管理者ユーザーは削除できません。「管理者ユーザーは削除できません。」というエラーが表示されます。
削除済みユーザーの復元¶
ユーザー一覧で「削除済み」フィルタを選択し、復元したいユーザーの「復元」ボタンをクリックします。
今月の送信統計¶
2つのカードで当月の送信実績が表示されます。
| カード | 説明 |
|---|---|
| 今月のフォーム送信 | 当月のフォーム送信件数 |
| 今月のメール送信 | 当月のメール送信件数 |
デバイス一覧¶
ユーザーに紐づくデバイスが一覧表示されます。
| 項目 | 説明 |
|---|---|
| デバイス名 | ユーザーが設定した名前 |
| UUID | デバイス固有ID(先頭12文字) |
| 最終アクティブ日時 | 最後にアクティブだった日時 |
| 削除ボタン | デバイスを削除(ゴミ箱アイコン) |
表示: 「デバイス(X台)」
最近のアクティビティ¶
直近20件のアクティビティログが表示されます。
| 項目 | 説明 |
|---|---|
| アクション名 | 実行されたアクション(例: execution_complete, admin_ban) |
| ユーザー名 | 操作を行ったユーザーへのリンク |
| IPアドレス | アクセス元IPアドレス |
| タイムスタンプ | 操作日時 |
4. 通知管理¶
この画面でできること
- お知らせの作成・編集・削除
- タイプ(info/warning/maintenance/update)の設定
- 全ユーザーまたは個別ユーザーへの通知
- 公開/下書きの管理
- 有効期限の設定
4.1 通知一覧¶
通知が一覧でテーブル表示されます。
| カラム | 説明 |
|---|---|
| タイプ | アイコンで種別表示 |
| タイトル | 通知タイトル |
| 対象 | 「all」(全ユーザー)または「individual」(個別) |
| 公開 | 「公開中」バッジまたは「下書き」バッジ |
| 公開日 | 公開日時 |
| 操作 | 編集ボタン / 削除ボタン |
画面右上に「通知を作成」ボタンがあります。
ページネーション: 1ページ20件。
4.2 通知のタイプ¶
| タイプ | アイコン | 色 | 表示名 |
|---|---|---|---|
| info | ℹ️ Info | 青(#3B82F6) | お知らせ |
| warning | ⚠️ AlertTriangle | オレンジ(#F59E0B) | 注意 |
| maintenance | 🔧 Wrench | 紫(#A855F7) | メンテナンス |
| update | ✅ CheckCircle | ティール(#6B9E9E) | アップデート |
4.3 通知の作成¶
- 「通知を作成」ボタンをクリックする
- フォームに以下の情報を入力する
| フィールド | ラベル | 必須 | バリデーション |
|---|---|---|---|
| タイトル | タイトル | はい | 文字列、最大255文字 |
| 本文 | 本文 | はい | 文字列 |
| タイプ | タイプ | はい | info / warning / maintenance / update から選択 |
| 対象 | 対象 | はい | 全ユーザー(all) / 個別ユーザー(individual) |
| 対象ユーザーID | 対象ユーザーID | ※ | 「個別ユーザー」選択時のみ表示。対象ユーザーのID |
| 公開日時 | 公開日時 | いいえ | 日時形式。デフォルトは現在日時 |
| 有効期限 | 有効期限(任意) | いいえ | 日時形式。公開日より後の日時 |
| 公開する | 公開する | いいえ | チェックボックス。デフォルトON |
- 「保存」ボタンをクリックする
4.4 通知の編集¶
- 通知一覧の「編集」ボタンをクリックする
- 作成時と同じフォームが表示される(既存の値が入力済み)
- 内容を修正して「更新」ボタンをクリックする
4.5 通知の削除¶
- 通知一覧の「削除」ボタンをクリックする
- 確認ダイアログで削除を実行する
4.6 通知の表示条件¶
ユーザー側のWebダッシュボードおよびChrome拡張には、以下の条件を満たす通知のみが表示されます。
-
is_published = true(公開状態) -
published_atが現在日時以前 -
expires_atが未設定、または現在日時以降(未期限切れ) -
target_typeがall、またはそのユーザーが対象のindividual
5. 送信ログ¶
この画面でできること
- メール送信ログの検索・閲覧
- ステータス別のフィルタリング
- 送信先・件名・ユーザーの確認
5.1 検索とフィルタ¶
検索¶
メールアドレスまたは件名で検索できます(部分一致)。
ステータスフィルタ¶
| フィルタ | 表示対象 |
|---|---|
| すべて | 全ログ |
| 成功 | status = 'success' |
| 失敗 | status = 'failed' |
5.2 テーブルカラム¶
| カラム | 説明 |
|---|---|
| ステータス | ✅(緑・成功)または ❌(赤・失敗) |
| ユーザー | 送信を行ったユーザー名(ユーザー詳細へのリンク) |
| 宛先 | 送信先メールアドレス |
| 件名 | メールの件名 |
| 送信日時 | 送信された日時(ja-JP形式) |
ページネーション: 1ページ20件。
6. サブスクリプション管理¶
この画面でできること
- MRR(月間定期収益)の概算確認
- 有料ユーザー・Whiteユーザーの一覧
- Whiteユーザー権限の付与
6.1 MRR表示¶
画面上部に MRR(概算) が大きく表示されます。
計算式: 有料ユーザー数 × ¥9,900
6.2 フィルタ¶
| フィルタ | 表示対象 |
|---|---|
| すべて | Whiteユーザー + 有料サブスクリプションユーザー |
| White |
is_white_user = true のみ |
| 有料 |
stripe_subscription_quantity > 0 かつ is_white_user = false
|
6.3 テーブルカラム¶
| カラム | 説明 |
|---|---|
| ユーザー | 名前 + メールアドレス(ユーザー詳細へのリンク) |
| プラン | 「White」または「Unlimited」 |
| ライセンス | 「無制限」(ホワイト)またはライセンス数 |
| 操作 | 「White付与」ボタン(非Whiteユーザーのみ表示) |
ページネーション: 1ページ20件。
6.4 Whiteユーザーの付与¶
- 対象ユーザーの行にある「White付与」ボタンをクリックする
- 確認ダイアログ「このユーザーにWhiteを付与しますか?」でOKをクリックする
- 即座に
is_white_user = trueに更新される - フラッシュメッセージ「{ユーザー名} にWhiteを付与しました。」が表示される
Whiteユーザーの特典: デバイス無制限、課金不要で全機能利用可能。
7. アクティビティログ¶
この画面でできること
- ユーザーの操作ログの検索・閲覧
- アクション名やIPアドレスでの検索
7.1 検索¶
アクション名またはIPアドレスで検索できます(部分一致)。
7.2 ログ表示¶
各ログがカード形式で表示されます。
| 項目 | 説明 |
|---|---|
| アクション | 実行されたアクション名(ティール色・太字) |
| ユーザー | 操作を行ったユーザー名(ユーザー詳細へのリンク) |
| 詳細 | アクションの詳細データ(JSON形式、モノスペース) |
| タイムスタンプ | 操作日時(ja-JP形式、右寄せ) |
| IPアドレス | アクセス元IP(グレー、右寄せ) |
主なアクション名¶
| アクション | 説明 |
|---|---|
execution_complete |
送信実行の完了(詳細にsuccess/failedカウントを含む) |
admin_ban |
管理者によるユーザーBAN |
admin_unban |
管理者によるBAN解除 |
login |
ユーザーのログイン |
device_register |
デバイスの新規登録 |
ページネーション: 1ページ30件。
8. システム設定¶
この画面でできること
- メール送信レート制限の設定
- デフォルトデバイス上限の設定
- メール認証有効期限の設定
- 不正利用防止(auto-BAN閾値)の設定
- お問い合わせ通知先メールの設定
- メンテナンスモードのON/OFF
- 全体お知らせバナーの設定
8.1 一般設定¶
| 設定項目 | ラベル | 型 | 範囲 | デフォルト | 説明 |
|---|---|---|---|---|---|
mail_rate_limit |
メール送信レート制限 (件/分/ユーザー) | 数値 | 1〜100 | 10 | 1ユーザーあたり1分間に送信できるメール件数の上限 |
default_device_limit |
デフォルトデバイス上限 | 数値 | 1〜100 | 1 | 新規ユーザーのデバイス上限 |
email_verification_expiry_days |
メール認証の有効期限(日数) | 数値 | 1〜90 | 7 | 新規登録時のメール認証リンクの有効期限 |
8.2 不正利用防止¶
| 設定項目 | ラベル | 型 | 範囲 | デフォルト | 説明 |
|---|---|---|---|---|---|
registration_ip_limit_per_day |
IP別登録上限 (件/日) | 数値 | 1〜100 | 3 | 同一IPから24時間に登録できるアカウント数 |
abuse_ip_registration_threshold |
異常検知: IP登録閾値 (件/7日) | 数値 | 1〜100 | 5 | 同一IPから7日間でこの件数以上の登録があればauto-BAN |
abuse_domain_registration_threshold |
異常検知: ドメイン登録閾値 (件/7日) | 数値 | 1〜100 | 5 | 同一メールドメインから7日間でこの件数以上の登録があればアラート |
8.3 その他の設定¶
| 設定項目 | ラベル | 型 | デフォルト | 説明 |
|---|---|---|---|---|
contact_email |
お問い合わせ通知先メールアドレス | メール | info@zooa.co.jp | お問い合わせフォームからの通知を受け取るメールアドレス |
maintenance_mode |
メンテナンスモード | チェックボックス | OFF(0) | 有効にすると拡張機能の動作を一時停止します。ユーザーのログイン画面に「MAINTENANCE」画面が表示されます |
free_monthly_urls |
月間無料枠 | 数値 | 10 | ユーザーが毎月無料で利用できるURL件数(設定UIからは変更不可、APIまたはDB直接操作で変更) |
global_banner |
全体お知らせバナー | テキストエリア | 空欄 | バナーに表示するメッセージ。空欄で非表示。最大500文字 |
8.4 設定の保存¶
すべての設定を変更したら、画面下部の「保存」ボタンをクリックしてください。フラッシュメッセージ「設定を保存しました。」が表示されます。
メンテナンスモードについて: メンテナンスモードを有効にすると、Chrome拡張機能のログイン画面に「MAINTENANCE」画面が表示され、ユーザーはログインできなくなります。すでにログイン済みのユーザーの動作も停止します。メンテナンス作業完了後は必ずOFFに戻してください。
全体お知らせバナーについて: 設定したメッセージは全ユーザーのChrome拡張機能にバナーとして表示されます。緊急のお知らせや注意事項の告知に使用してください。空欄にするとバナーは非表示になります。
9. 運用ガイド¶
9.1 日常的な確認事項¶
| 確認項目 | 頻度 | 画面 |
|---|---|---|
| DAU/WAU/MAUの推移 | 毎日 | ダッシュボード |
| 送信数の推移 | 毎日 | ダッシュボード |
| MRRの確認 | 毎週 | ダッシュボード / サブスクリプション |
| 送信失敗ログの確認 | 適宜 | 送信ログ(失敗フィルタ) |
| 不正利用の兆候確認 | 毎日 | アクティビティログ |
9.2 ユーザーBANの判断基準¶
以下のケースではユーザーのBANを検討してください。
- 短時間での大量登録(auto-BAN閾値を超えた場合は自動でBANされます)
- 利用規約に違反するコンテンツの送信
- 不正なアカウント利用の兆候
BANの手順:
- ユーザー管理からBANフィルタで確認
- 対象ユーザーの詳細画面を開く
- 「BANする」ボタンをクリック
9.3 テストユーザーの活用¶
新規ユーザーの初期評価や、問題のあるユーザーの様子見に活用できます。
- テストユーザーに設定すると、フォーム送信ボタンが押されなくなる
- チケット・無料枠は消費されるため、ユーザーの利用パターンは通常通り記録される
- 問題がなければテストユーザーフラグを解除して通常利用に移行
9.4 Whiteユーザーの付与基準¶
Whiteユーザーは課金不要・デバイス無制限の特別権限です。以下の場合に付与を検討してください。
- 社内スタッフ・開発チーム
- 特別提携先
- 長期パートナー
付与方法:
- ユーザー詳細画面の「White User」チェックボックスをONにして「種別を更新」
- またはサブスクリプション管理画面の「White付与」ボタン
10. トラブルシューティング¶
10.1 ユーザーから「ログインできない」と連絡があった¶
- ユーザー管理で対象ユーザーを検索する
- ステータスを確認する
- BAN: 意図的なBANか確認し、誤りであれば「BAN解除」
- 削除済み: 必要であれば「復元」
- メンテナンスモードがONになっていないか確認する(システム設定)
10.2 送信数が急増している¶
- ダッシュボードの送信数推移グラフで異常な増加を確認する
- アクティビティログで大量送信しているユーザーを特定する
- 必要に応じてユーザーをBANまたはテストユーザーに設定する
-
mail_rate_limitを一時的に下げることも検討する
10.3 不正登録が発生している¶
- アクティビティログでIPアドレスを確認する
- システム設定の不正利用防止閾値を確認・調整する
-
registration_ip_limit_per_day: 日次IP制限 -
abuse_ip_registration_threshold: 自動BAN閾値 -
abuse_domain_registration_threshold: ドメインアラート閾値
-
- auto-BANが機能している場合、BANフィルタでBANされたユーザーを確認する
10.4 メンテナンスモードの解除を忘れた¶
- システム設定画面(
/admin/settings)にアクセスする - 「メンテナンスモード」のチェックを外す
- 「保存」をクリックする
- ユーザーは再度ログイン画面からログインできるようになる
本マニュアルはSMART-CONTACT v2.0 (2026-02-28) に基づいて作成されています。