LINE通知
LINE 通知は LINE Bot SDK を使用して、店舗に紐付けられた LINE アカウントにメッセージを送信します。
アーキテクチャ
Section titled “アーキテクチャ”LINE アカウント登録
Section titled “LINE アカウント登録”LIFF SDK 経由の登録
Section titled “LIFF SDK 経由の登録”Counter の通知設定画面から LINE アカウントを連携します。
OAuth コールバック経由
Section titled “OAuth コールバック経由”Base RPC: lineCallback({ code, shopId, redirectUrl })- LINE OAuth トークン交換
- LINE Profile API でプロフィール取得
shop_line_accountに保存
| フィールド | 説明 |
|---|---|
shopId | 店舗 ID |
lineUserId | LINE ユーザー ID |
displayName | LINE 表示名 |
pictureUrl | LINE プロフィール画像 URL |
accessToken | LINE アクセストークン |
channelId | LINE チャネル ID |
isActive | 有効/無効 |
1店舗あたり最大 5つ の LINE アカウントを登録できます。
Bell の Queue Consumer が notification-queue からメッセージを受信し、LINE 送信を実行します。
const client = new messagingApi.MessagingApiClient({ channelAccessToken: account.accessToken});
await client.pushMessage({ to: account.lineUserId, messages: [ { type: 'text', text: `${title}\n\n${body}\n\n${url ?? ''}` } ]});カテゴリフィルタ
Section titled “カテゴリフィルタ”LINE アカウントごとにカテゴリの有効/無効を設定できます。
Bell RPC: updateShopLineCategories({ id, categories })通知送信時に、対象アカウントのカテゴリ設定を確認し、無効なカテゴリの通知はスキップします。
エラーハンドリング
Section titled “エラーハンドリング”| エラー | 対応 |
|---|---|
| 401 Unauthorized | トークン期限切れ。再認証が必要 |
| 429 Rate Limit | リトライ対象 |
| 400 Bad Request | メッセージフォーマットエラー |
LINE アカウント管理
Section titled “LINE アカウント管理”Base RPC: listLineAccounts({ shopId })→ { accounts: ShopLineAccount[], limit: number }削除(連携解除)
Section titled “削除(連携解除)”Base RPC: deleteLineAccount({ shopId, id })Bell RPC: sendShopTestNotification({ shopId, channel: 'line', targetId: accountId})Counter での表示
Section titled “Counter での表示”LINE 通知設定セクション
Section titled “LINE 通知設定セクション”┌──────────────────────────────────┐│ LINE通知連携 │├──────────────────────────────────┤│ 🟢 田中太郎 ││ カテゴリ: [✓ チャット] [✓ 配信] ││ [友だち追加] [テスト送信] [解除] │├──────────────────────────────────┤│ 🟢 山田花子 ││ カテゴリ: [✓ チャット] [ 配信] ││ [友だち追加] [テスト送信] [解除] │├──────────────────────────────────┤│ [+ 別のアカウントを連携] (2/5) │└──────────────────────────────────┘- プロフィール画像と表示名
- チャネルごとのカテゴリトグル
- 友だち追加リンク(LINE Bot への友だち登録)
- テスト送信ボタン
- 連携解除ボタン
- 通知システム 概要 - 全体アーキテクチャ
- 店舗通知設定 - 設定画面
- Bell RPC メソッド - LINE 関連 RPC
- Base RPC メソッド - LINE アカウント RPC