mcpField
M
messaging-api

messaging-api

github.com/abgne開発194 回インストール9 週間前に更新
リポジトリ

messaging-api について

LINE BotやMessaging API連携の実装、レビュー、デバッグに使うリファレンススキルです。API仕様と設計指針をトピック別にまとめています。

主な機能

  1. 01トピック別のAPIリファレンス
  2. 02Bot実装ワークフロー
  3. 03コードレビューとデバッグの指針
  4. 04Webhookと署名の仕様
  5. 05メッセージとFlex Messageの仕様

活用シーン

  1. 01LINE Bot機能の実装
  2. 02Webhook署名処理の確認
  3. 03API制限と必須項目のレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/abgne/line-dev --skill messaging-api

インストール後、Claude Code で/messaging-apiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/examples/
apparel.json
hotel.json
product_list.json
receipt.json
restaurant.json
shopping.json
social.json
ticket.json
todo.json
transit.json
video_hero.json
references/
action-objects.md
api-common.md
audience.md
channel-token.md
coupon.md
experts.md
flex-message.md
group-chat.md
insights.md
message-objects.md
message-sending.md
rich-menu.md
url-schemes.md
user.md
webhook-events.md

詳細

LINE Messaging API

LINE API に関する質問に、記憶だけを頼りに回答しないでください。LINE は API を頻繁に更新しており、学習データは信頼できません。必ず以下のリファレンスを確認してください。

LINE Bot および LINE Messaging API 連携の構築、レビュー、デバッグに関するリファレンスです。

ワークフロー

構築
  1. references/api-common.md を読みます(レート制限、前方互換性、エラー処理)
  2. 実装する機能に関連するリファレンスを読み込みます
  3. アーキテクチャや設計上の選択については、方向性の指針として references/experts.md を確認します
  4. リファレンスの仕様と制約に従ってコードを記述します
レビュー/デバッグ
  1. references/api-common.md を読みます(レート制限、エラーコード)
  2. レビュー対象のコードに関連するリファレンスを読み込みます
  3. 仕様とコードを照合します(サイズ制限、トークンの有効期限、カウント規則、必須フィールド)
  4. 設計パターンに関する懸念については、references/experts.md を確認します
  5. 違反を具体的な制約を示して報告します

環境変数

LINE_CHANNEL_ACCESS_TOKEN=Bot access token
LINE_CHANNEL_SECRET=Channel secret (webhook signature verification)

共通仕様

LINE Bot のコードを記述する前に、references/api-common.md を読んでください。 すべての API インタラクションに影響するルールが記載されています。前方互換性(LINE は予告なくフィールドを追加するため、厳密なスキーマを使用しない)、レート制限、エラー処理、リトライポリシー、ログ記録に関する推奨事項などが含まれます。

Webhook

  • 検証:x-line-signature ヘッダー(HMAC-SHA256、base64、キー = Channel Secret)
  • 本文:{"destination": "U...", "events": [...]}
  • Bot サーバーは 200 を返す必要があります
署名検証(擬似コード)
channel_secret = ENV['LINE_CHANNEL_SECRET']
signature = request.headers['x-line-signature']
body = request.body   # raw bytes, do NOT parse/reformat before verification

digest = HMAC_SHA256(key = channel_secret, message = body)
expected = Base64.encode(digest)

if signature != expected:
    return 403  # reject — not from LINE

events = JSON.parse(body)['events']
for event in events:
    handle(event)
return 200
  • 検証前に本文をデシリアライズしたり、再フォーマットしたりしないでください
  • UTF-8 エンコーディングのみを使用してください
  • 公式 SDK はこれを自動的に処理します。可能な場合は公式 SDK を使用してください

イベントタイプ、プロパティ、Webhook 設定の詳細 → references/webhook-events.md

メッセージの送信

すべて Authorization: Bearer {channel access token} が必要です。

モードエンドポイント目的
返信POST /v2/bot/message/replyユーザーに返信します(1 回限りの replyToken が必要です)
プッシュPOST /v2/bot/message/push特定のユーザー/グループにいつでも送信します
マルチキャストPOST /v2/bot/message/multicast複数のユーザーに送信します(最大 500 人)
ブロードキャストPOST /v2/bot/message/broadcastすべての友だちに送信します
  • 1 リクエストあたり最大 5 件のメッセージ
  • ドメイン:api.line.me(一般)/api-data.line.me(コンテンツのアップロード)

メッセージオブジェクト → references/message-objects.md 送信 API の詳細(ナローキャスト、統計、検証など)→ references/message-sending.md

Flex Message

3 層構造:

Container (Bubble / Carousel)
  └── Block (Header / Hero / Body / Footer)
       └── Component (Box / Button / Image / Video / Icon / Text / Span / Separator)

Flex Message の最小例:

{
  "type": "flex", "altText": "Notification",
  "contents": {
    "type": "bubble",
    "body": {
      "type": "box", "layout": "vertical",
      "contents": [{"type": "text", "text": "Hello Flex!", "weight": "bold"}]
    }
  }
}

コンポーネントの全仕様、レイアウト、動画 → references/flex-message.md 公式 Flex Message Simulator の例 → assets/examples/

リファレンス一覧

ファイルトピック
references/api-common.md最初にお読みください。 レート制限、エラー処理、前方互換性
references/webhook-events.mdWebhook イベントの種類と JSON 構造
references/message-objects.mdメッセージオブジェクト、クイックリプライ、送信者のカスタマイズ
references/action-objects.mdアクションオブジェクト(postback、URI、datetimepicker など)
references/message-sending.mdReply/Push/Multicast/Narrowcast/Broadcast、統計
references/flex-message.mdFlex Message のコンポーネント、レイアウト、スタイル
references/rich-menu.mdRich Menu の CRUD、タブ切り替え、表示優先度
references/user.mdユーザープロフィール、フォロワー ID、アカウント連携
references/group-chat.mdグループ/ルームのメッセージングとメンバー API
references/audience.mdオーディエンス管理(作成/追加/取得/削除)
references/insights.md配信、フォロワー、インタラクションのインサイト
references/channel-token.mdチャネルアクセストークンのライフサイクル
references/coupon.mdクーポンの CRUD、特典の種類、送信
references/url-schemes.mdディープリンク用の LINE URL スキーム
references/experts.mdエキスパート分野のルーティングと 17 種類の専門家プロフィール
assets/examples/Flex Message の JSON サンプル(11 件のショーケース)

SDK

公式 SDK:Python | Node.js | Go | Java | PHP | Ruby

その他の言語:LINE OpenAPI specs を OpenAPI Generator と併用してください。

コメント