コンテンツにスキップ

検索はプロダクションビルドでのみ利用可能です。 ローカルでテストするには、サイトをビルドしてプレビューしてください。

店舗通知設定

店舗通知設定では、各デバイス・受信先のカテゴリ設定を管理します。全チャネル(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[]
}

デバイス・受信先にカテゴリ設定がない場合、デフォルトで有効 として扱われます。

const isCategoryEnabled = (
categories: Record<string, boolean> | null,
category: string
): boolean => {
if (!categories) return true; // 未設定 = 有効
return categories[category] !== false;
};

┌──────────────────────────────────┐
│ 店舗通知設定 │
├──────────────────────────────────┤
│ ■ プッシュ通知デバイス │
│ [+ 現在のブラウザを登録] │
│ ┌────────────────────────┐ │
│ │ Chrome (Windows) │ │
│ │ 登録日: 2024/01/15 │ │
│ │ [✓ チャット] [✓ 配信] │ │
│ │ [テスト] [削除] │ │
│ └────────────────────────┘ │
│ │
│ ■ メール通知先 │
│ [メールアドレス] [名前] [+ 追加] │
│ ┌────────────────────────┐ │
│ │ admin@example.com │ │
│ │ [✓ チャット] [✓ 配信] │ │
│ │ [テスト] [削除] │ │
│ └────────────────────────┘ │
│ │
│ ■ LINE通知連携 │
│ [LINE連携する] │
│ ┌────────────────────────┐ │
│ │ 🟢 田中太郎 │ │
│ │ [✓ チャット] [✓ 配信] │ │
│ │ [友だち追加] [テスト] [解除]│ │
│ └────────────────────────┘ │
│ (2/5 アカウント) │
└──────────────────────────────────┘
操作RPC説明
PUSH デバイス登録registerShopPushDeviceVAPID 鍵でブラウザ登録
PUSH デバイス削除removeShopPushDeviceデバイスの無効化
PUSH カテゴリ変更updateShopPushCategoriesトグルスイッチ
メール追加registerShopEmailRecipientフォーム入力
メール削除removeShopEmailRecipient確認後削除
メール カテゴリupdateShopEmailCategoriesトグルスイッチ
LINE 連携lineCallbackLiffLIFF SDK 経由
LINE 解除deleteLineAccount確認後削除
LINE カテゴリupdateShopLineCategoriesトグルスイッチ
テスト送信sendShopTestNotificationチャネル指定

各チャネルの特定デバイス/受信先にテスト通知を送信できます。

Bell RPC: sendShopTestNotification({
shopId,
channel: 'push' | 'email' | 'line',
targetId: string // デバイス/受信先/アカウント ID
})
→ { success, error? }