チャネル:LINE¶
LINE 公式アカウント(OA)+ Messaging API を対象とする。MVP (Minimum Viable Product) の主戦場。
Claude Code ランタイムモデル では、本章で扱う API 呼び出しは 各テーマリポの .claude/skills/automedia-line/SKILL.md に手順として記述する。Adapter 実装の代わりに スキル を書く。
LINE 運用案 (起点サマリ) の 7 機能を API レベルまで設計する。
使用 API / 機能¶
| 用途 | API / 機能 |
|---|---|
| メッセージ配信(個別/一斉) | Messaging API: push / multicast / broadcast |
| ターゲティング配信 | Messaging API: narrowcast(オーディエンス + 属性) |
| リッチコンテンツ | Flex Message / Image Carousel / Video Message |
| 友だち追加トリガ | Webhook(event=follow) |
| メッセージ受信トリガ | Webhook(event=message) |
| リッチメニュー | リッチメニュー API |
| クーポン | LINE 公式アカウント機能(クーポン) |
| ポイントカード(ショップカード) | LINE 公式アカウント機能(ショップカード) |
| アンケート | LINE 公式アカウント機能(リサーチ) |
| ステップ配信 | LINE 公式アカウント機能(ステップ配信) |
「クーポン / ポイントカード / アンケート」は Messaging API ではなく LINE Official Account Manager (LIFF/Manager) 由来の機能。API での全自動化が限られる領域があり、運用での補完が必要。MVP では Manager 側に作り、ID 連携で発火する設計にする。
機能 → 実装マッピング¶
① 利用登録 (友だち追加 / ブロック解除)¶
- LINE Platform の Webhook
followイベントをwebhook-lineLambda が受信 - 署名検証後、S3 の
<tenant>/templates/line/welcome.jsonをテンプレに LINE Reply API で welcome メッセージを 5 秒以内に返信 - 同時に HubSpot に Contact を upsert する (
line_user_idで search-first、初回は POSTlifecyclestage=lead、既存は PATCH でline_follow_countインクリメント) - 詳細フロー / HubSpot プロパティ / redelivery 仕様は LINE follow フロー (welcome + HubSpot upsert) を参照
② メッセージ配信¶
- 通常配信: narrowcast(タグなしなら broadcast)
- 配信前にユーザーごとの 配信頻度ガード(過剰配信防止)を Adapter で適用
③ レストラン情報配信¶
- Flex Message(Carousel)テンプレ。Template Resolver でメニュー JSON を流し込む
④ イベント・コンペ告知 + クリックターゲティング¶
- 各メッセージ内リンクに クリックトラッキングパラメータ(automedia 側で発行する
cid)を付与 - Webhook 経由でクリック計測(実体は短縮 URL リダイレクタ)→ Audience に
clicked_<theme>タグ付与 - 次回配信で narrowcast 対象に
⑤ SNS 誘導¶
- Video Message + Flex のリンクボタン
- 対応する TikTok / Instagram 投稿 ID をテンプレ変数で受け取り、URL を埋め込む
⑥ リッチメニュー¶
- 画像 + タップ領域定義 JSON で構築
- 切替(時間帯 / セグメント別)はリッチメニューエイリアス API で運用
⑦ クーポン / ポイントカード¶
- Manager 側で作成 → coupon_id / shop_card_id を automedia DB に登録
- 配信時はクーポン ID 指定で push
- ゴール特典・中間特典は LINE 機能で完結(automedia は集計のみ)
⑧ アンケート¶
- Manager 側でリサーチ作成 → research_id を登録
- 配信は Flex Message のリンクから誘導
- 回答取得は Manager の Export または LINE 側 API(要確認)→ タグ反映
必要な認証情報¶
| 項目 | 用途 |
|---|---|
| Channel Access Token(長期 or 短期) | Messaging API |
| Channel Secret | Webhook 署名検証 |
| LINE Login(必要なら) | LIFF アプリ用 |
| OA Manager の運用アカウント | 手動運用が必要な機能(クーポン作成等) |
レート制限・配信上限¶
- Adapter で API レート制限を吸収(指数バックオフ)
- 月次配信通数(プラン上限)の使用量を集計し、運用に警告
失敗ハンドリング¶
| 失敗 | 対応 |
|---|---|
| 一時障害(5xx) | スキル内で指数バックオフリトライ。Actions step retry も併用可 |
| 認証失敗 | Actions が失敗 → Backlog コメント + 通知(トークン期限切れ) |
| Quota 超過 | Backlog コメントで延伸提案、Actions は失敗終了 |
| 単一ユーザ配信失敗 | 集計を Backlog コメントに含める |
オーディエンスとの整合¶
- LINE 友だち =
audiences.channel=line, external_user_id=lineUserId - ナローキャスト用 LINE オーディエンスグループ ID を automedia 側で タグごとに作成・管理
- 同期は周期ジョブで実行