mcpField
W
whatsapp-messaging

whatsapp-messaging

github.com/gokapsoその他19497 回インストール3 週間前に更新
リポジトリ

whatsapp-messaging について

Kapso 経由で WhatsApp メッセージを扱う開発者向けのスキルです。SDK とスクリプトの例を使い、メッセージ送信、テンプレート管理、メディアのアップロード、受信トレイの参照を案内します。

主な機能

  1. 01テキスト・テンプレート・インタラクティブメッセージの送信
  2. 02テンプレートの作成・更新・状態確認
  3. 03メディアのアップロード
  4. 04メッセージと会話の照会
  5. 05SDK またはスクリプトでの操作

活用シーン

  1. 01注文状況テンプレート通知の送信
  2. 02セッション期間内のインタラクティブメッセージ送信
  3. 03WhatsApp 受信トレイのメッセージと会話の確認

MCP 対応

README には MCP との関係が記載されていません。

インストール

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

$npx skills add https://github.com/gokapso/agent-skills --skill whatsapp-messaging

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

詳細

WhatsApp Messaging

使用する場面

Kapso 経由で WhatsApp メッセージを扱うときにこのスキルを使用します。メッセージの送信、テンプレートの作成・管理、メディアのアップロード、受信トレイの履歴の読み取りなどが含まれます。

セットアップ

環境変数:

  • KAPSO_API_BASE_URL(ホストのみ。/platform/v1 は含めません)
  • KAPSO_API_KEY
  • META_GRAPH_VERSION(任意。デフォルトは v24.0)

まず ID を確認する

操作によって、Meta の 2 種類の ID が必要です。

ID用途確認方法
business_account_id(WABA)テンプレートの CRUDnode scripts/list-platform-phone-numbers.mjs
phone_number_idメッセージの送信、メディアのアップロードnode scripts/list-platform-phone-numbers.mjs

SDK のセットアップ

インストール:

npm install @kapso/whatsapp-cloud-api

クライアントを作成:

import { WhatsAppClient } from "@kapso/whatsapp-cloud-api";

const client = new WhatsAppClient({
  baseUrl: "https://api.kapso.ai/meta/whatsapp",
  kapsoApiKey: process.env.KAPSO_API_KEY!
});

使用方法

テキストメッセージを送信する

SDK 経由:

await client.messages.sendText({
  phoneNumberId: "<PHONE_NUMBER_ID>",
  to: "+15551234567",
  body: "Hello from Kapso"
});
テンプレートメッセージを送信する
  1. ID を確認します:node scripts/list-platform-phone-numbers.mjs
  2. assets/template-utility-order-status-update.json をもとにテンプレートのペイロードを作成します
  3. 作成します:node scripts/create-template.mjs --business-account-id <WABA_ID> --file <payload.json>
  4. ステータスを確認します:node scripts/template-status.mjs --business-account-id <WABA_ID> --name <name>
  5. 送信します:node scripts/send-template.mjs --phone-number-id <ID> --file <send-payload.json>
インタラクティブメッセージを送信する

インタラクティブメッセージを送信するには、24 時間の有効なセッションウィンドウが必要です。ウィンドウ外で通知を送信する場合は、テンプレートを使用してください。

  1. phone_number_id を確認します
  2. assets/send-interactive-*.json からペイロードを選択します
  3. 送信します:node scripts/send-interactive.mjs --phone-number-id <ID> --file <payload.json>
受信トレイのデータを読み取る

Meta プロキシまたは SDK を使用します:

  • プロキシ:GET /{phone_number_id}/messages、GET /{phone_number_id}/conversations
  • SDK:client.messages.query()、client.conversations.list()

テンプレートのルール

作成時:

  • {{param_name}} を使用する parameter_format: "NAMED" を指定します(位置指定より推奨)
  • HEADER/BODY で変数を使用する場合は、例を含めます
  • language を使用します(language_code ではありません)
  • QUICK_REPLY を URL/PHONE_NUMBER ボタンと混在させないでください
  • URL ボタンの変数は URL の末尾に置き、位置指定の {{1}} を使用します

送信時:

  • NAMED テンプレートでは、ヘッダー/本文のパラメーターに parameter_name を含めます
  • URL ボタンには、sub_type: "url" と index を指定した button コンポーネントが必要です
  • メディアヘッダーには id または link のいずれかを使用します(両方は使用しません)

スクリプト

スクリプト用途必須 ID
list-platform-phone-numbers.mjsbusiness_account_id と phone_number_id を確認—
list-connected-numbers.mjsWABA の電話番号を一覧表示business_account_id
list-templates.mjsテンプレートを一覧表示(フィルター付き)business_account_id
template-status.mjs単一のテンプレートのステータスを確認business_account_id
create-template.mjsテンプレートを作成business_account_id
update-template.mjs既存のテンプレートを更新business_account_id
send-template.mjsテンプレートメッセージを送信phone_number_id
send-interactive.mjsインタラクティブメッセージを送信phone_number_id
upload-media.mjs送信時のヘッダー用にメディアをアップロードphone_number_id

アセット

ファイル説明
template-utility-order-status-update.json名前付きパラメーターと URL ボタンを含む UTILITY テンプレート
send-template-order-status-update.jsonorder_status_update 用の送信時ペイロード
template-utility-named.jsonボタンの順序ルールを示す UTILITY テンプレート
template-marketing-media-header.jsonIMAGE ヘッダーを含む MARKETING テンプレート
template-authentication-otp.jsonAUTHENTICATION OTP テンプレート(COPY_CODE)
send-interactive-buttons.jsonインタラクティブなボタンメッセージ
send-interactive-list.jsonインタラクティブなリストメッセージ
send-interactive-cta-url.jsonインタラクティブな CTA URL メッセージ
send-interactive-location-request.json位置情報リクエストメッセージ
send-interactive-catalog-message.jsonカタログメッセージ

参考資料

関連スキル

  • kapso-automation - ワークフローの自動化
  • whatsapp-flows - WhatsApp Flows
  • kapso-api - プラットフォーム API と顧客

コメント