店舗通知設定
店舗通知設定では、各デバイス・受信先のカテゴリ設定を管理します。全チャネル(BOX / PUSH / LINE / EMAIL)は常に有効で、受信先が登録されていれば通知が配信されます。
店舗通知設定├── PUSH デバイス│ ├── デバイス1 (Chrome)│ │ └── カテゴリ: { chat_message: true, ... }│ └── デバイス2 (Safari)│ └── カテゴリ: { chat_message: false, ... }│├── EMAIL 受信先│ ├── admin@example.com│ │ └── カテゴリ: { chat_message: true, ... }│ └── staff@example.com│ └── カテゴリ: { chat_message: true, ... }│└── LINE アカウント ├── 田中太郎 │ └── カテゴリ: { chat_message: true, ... } └── 山田花子 └── カテゴリ: { chat_message: false, ... }Bell RPC: getShopNotificationSettings({ shopId })→ { pushDevices: ShopPushSubscription[], emailRecipients: ShopEmailRecipient[], lineAccounts: ShopLineAccount[] }通知配信時の判定ロジック
Section titled “通知配信時の判定ロジック”カテゴリのデフォルト
Section titled “カテゴリのデフォルト”デバイス・受信先にカテゴリ設定がない場合、デフォルトで有効 として扱われます。
const isCategoryEnabled = ( categories: Record<string, boolean> | null, category: string): boolean => { if (!categories) return true; // 未設定 = 有効 return categories[category] !== false;};Counter での設定画面
Section titled “Counter での設定画面”┌──────────────────────────────────┐│ 店舗通知設定 │├──────────────────────────────────┤│ ■ プッシュ通知デバイス ││ [+ 現在のブラウザを登録] ││ ┌────────────────────────┐ ││ │ Chrome (Windows) │ ││ │ 登録日: 2024/01/15 │ ││ │ [✓ チャット] [✓ 配信] │ ││ │ [テスト] [削除] │ ││ └────────────────────────┘ ││ ││ ■ メール通知先 ││ [メールアドレス] [名前] [+ 追加] ││ ┌────────────────────────┐ ││ │ admin@example.com │ ││ │ [✓ チャット] [✓ 配信] │ ││ │ [テスト] [削除] │ ││ └────────────────────────┘ ││ ││ ■ LINE通知連携 ││ [LINE連携する] ││ ┌────────────────────────┐ ││ │ 🟢 田中太郎 │ ││ │ [✓ チャット] [✓ 配信] │ ││ │ [友だち追加] [テスト] [解除]│ ││ └────────────────────────┘ ││ (2/5 アカウント) │└──────────────────────────────────┘| 操作 | RPC | 説明 |
|---|---|---|
| PUSH デバイス登録 | registerShopPushDevice | VAPID 鍵でブラウザ登録 |
| PUSH デバイス削除 | removeShopPushDevice | デバイスの無効化 |
| PUSH カテゴリ変更 | updateShopPushCategories | トグルスイッチ |
| メール追加 | registerShopEmailRecipient | フォーム入力 |
| メール削除 | removeShopEmailRecipient | 確認後削除 |
| メール カテゴリ | updateShopEmailCategories | トグルスイッチ |
| LINE 連携 | lineCallbackLiff | LIFF SDK 経由 |
| LINE 解除 | deleteLineAccount | 確認後削除 |
| LINE カテゴリ | updateShopLineCategories | トグルスイッチ |
| テスト送信 | sendShopTestNotification | チャネル指定 |
各チャネルの特定デバイス/受信先にテスト通知を送信できます。
Bell RPC: sendShopTestNotification({ shopId, channel: 'push' | 'email' | 'line', targetId: string // デバイス/受信先/アカウント ID})→ { success, error? }- 通知システム 概要 - 全体アーキテクチャ
- プッシュ通知 - PUSH 配信詳細
- LINE通知 - LINE 配信詳細
- メール通知 - メール配信詳細
- Bell RPC メソッド - 通知設定 RPC