コンテンツにスキップ

チャネル: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-line Lambda が受信
  • 署名検証後、S3 の <tenant>/templates/line/welcome.json をテンプレに LINE Reply API で welcome メッセージを 5 秒以内に返信
  • 同時に HubSpot に Contact を upsert する (line_user_id で search-first、初回は POST lifecyclestage=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 側で タグごとに作成・管理
  • 同期は周期ジョブで実行