すべてのプロダクト
Search
ドキュメントセンター

Chat App Message Service:Chat App メッセージ送信スキル

最終更新日:Jun 10, 2026

このガイドでは、Chat App メッセージ送信スキルのコア機能、インストール、および使用方法について詳しく説明します。このスキルを使用すると、コンソールを切り替えたり、手動で API リクエストを作成したりすることなく、エージェント内で直接 WhatsApp メッセージの送信、テンプレートのクエリ、セッションの管理を行うことができます。

前提条件

  1. Alibaba Cloud のサブアカウントの AccessKey ID と AccessKey Secret を持っていること。メインアカウントが RAM コンソール でユーザーを作成し、必要な Chat App Message Service (CAMS) の権限を付与していること。

  2. Chat App Message Service コンソール を有効化し、以下の操作を完了していること:

    • WhatsApp Business Account (WABA) をバインドしていること。

    • 送信元電話番号 (From) を登録し、承認を得ていること。

    • メッセージテンプレートを作成し、承認を得ていること (テンプレートメッセージの送信に必要)。

1. 機能と利点

Alibaba Cloud Chat App メッセージ送信スキルは、WhatsApp のメッセージング、テンプレートのクエリ、セッション管理をエージェントが呼び出せるツールとしてパッケージ化します。これにより、コンソールを切り替えたり、手動で JSON ペイロードを構築したりすることなく、エージェントから直接、通知の送信、マーケティングキャンペーンの実行、顧客との対話が可能になります。

機能

説明

テンプレートメッセージの送信

24時間のセッションウィンドウ外で WhatsApp テンプレートメッセージを送信します。この機能は、マーケティング通知、注文ステータスの更新、確認コード、物流リマインダーなどのシナリオで変数の置換に対応しています。

カスタムメッセージの送信

24時間のセッションウィンドウ内でカスタムメッセージを送信します。テキスト、画像、動画、音声、ドキュメント、インタラクティブ、位置情報の7種類のメッセージタイプに対応しています。

テンプレートリストのクエリ

承認ステータス、タイプ、または言語でテンプレートをフィルタリングすることで、エージェントは自動的にテンプレートを選択したり、ユーザーにオプションを提示したりできます。

テンプレート詳細のクエリ

特定のテンプレートの変数構造を取得します。これにより、エージェントはユーザーがパラメータを1つずつ入力するようガイドし、パラメータの数と形式の不一致を防ぎます。

主な利点

  • 対話型のメッセージ送信:自然言語を使用してテンプレートのクエリ、変数の入力、メッセージの送信を、Claude Code、Cursor、OpenClaw、Qoderwork、Wukong などのエージェントツール内で直接行うことができ、頻繁にコンソールにアクセスする必要がなくなります。

  • パラメータ作成の簡素化:エージェントが有効な JSON を自動的に構築し、変数のマッチングを支援するため、1つのエラーが失敗の原因となりうる、従来の API 呼び出しで求められる厳格なフォーマットを回避できます。

  • 自動エラー診断:このスキルは、組み込みの診断機能を提供し、一般的なエラーコードに対する解決策を提案します。たとえば、SessionWindowExpired エラーが発生した場合、スキルは自動的にテンプレートメッセージのワークフローに切り替わります。RAM 権限が不十分な場合は、ram-permission-diagnose スキルと連携して、権限申請プロセスをガイドします。

  • 送信前の確認:エージェントは、送信前にすべてのカスタマイズ可能なパラメータについてユーザーに明確な確認を求め、デフォルト値を使用しないことで、正確性を保証します。

2. インストール

Alibaba Cloud Skill Marketplace

Alibaba Cloud Skill Marketplace にアクセスし、「Chat App Message Sending」 を検索して、スキルをインストールします。

ClawHub

ClawHub プラットフォームにアクセスし、「alibabacloud-chatapp-message-send」 を検索してスキルの詳細を表示し、インストールします。

その他の方法

Claude Code

詳細については、Claude Code の公式ドキュメントをご参照ください。

ダウンロードしたスキルパッケージを解凍し、そのディレクトリを Claude Code の skills フォルダに移動します:

  • グローバルスコープ (すべてのプロジェクト) の場合:スキルを ~/.claude/skills/ ディレクトリに移動します。

  • プロジェクトレベルスコープ (現在のプロジェクトのみ) の場合:スキルを project_root/.claude/skills/ ディレクトリに移動します。

ディレクトリを移動した後、Claude Code を再起動して変更を有効にします。

OpenClaw

ダウンロードしたスキルパッケージを解凍し、スキルのディレクトリへのパスをコピーします。OpenClaw でパスを入力し、「このディレクトリのスキルをインストールして」とエージェントに依頼します。スキルを使用する前に、インストールが完了したことを示す確認メッセージを待ちます。

3. セットアップ

1. Aliyun CLI >= 3.3.3

aliyun version を実行して現在のバージョンを確認します。Aliyun CLI がインストールされていない、またはバージョンが 3.3.3 より古い場合:

# macOS または Linux では、このコマンドを実行して最新バージョンをインストールまたはアップグレードします。
curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash

# バージョンが 3.3.3 以降であることを確認します。
aliyun version

重要:CLI を使用する前に、プラグインの自動インストールと AI モードを有効にしてください:

aliyun configure set --auto-plugin-install true
aliyun plugin update
aliyun configure ai-mode enable
aliyun configure ai-mode set-user-agent \
  --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-chatapp-message-send"

重要:タスクの完了、エラー、または終了など、何らかの理由でセッションが終了した場合は、AI モードを無効にする必要があります。終了する前に、必ず aliyun configure ai-mode disable を実行してください。

2. CAMS プラグインのインストール

aliyun plugin install --names aliyun-cli-cams

3. 認証情報

セキュリティルール

  • 絶対に AccessKey ID または AccessKey Secret の値を読み取り、表示、または出力しないでください。

  • 絶対に 会話やコマンドラインでユーザーに AccessKey ID または AccessKey Secret を直接入力するよう要求しないでください。

  • 絶対に aliyun configure set で平文の認証情報を使用しないでください。

  • 認証情報のステータスを確認するには、aliyun configure list のみを使用してください。

aliyun configure list

コマンドの出力で、AccessKey、STS、OAuth などの有効なプロファイルを確認します。有効なプロファイルが存在しない場合は、処理を停止し、RAM コンソールから認証情報を取得してください。この手順に戻る前に、aliyun configure または環境変数を使用して、現在のセッションの外部で設定してください。

4. RAM 権限

このスキルには、以下の RAM アクションが必要です:

API

アクション

説明

SendChatappMessage

cams:SendChatappMessage

メッセージの送信

SendChatappMassMessage

cams:SendChatappMassMessage

一括送信

ListChatappTemplate

cams:ListChatappTemplate

テンプレートリストのクエリ

GetChatappTemplateDetail

cams:GetChatappTemplateDetail

テンプレート詳細のクエリ

ListChatappMessage

cams:ListChatappMessage

メッセージリストのクエリ

最小権限ポリシーの JSON:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cams:SendChatappMessage",
        "cams:SendChatappMassMessage",
        "cams:ListChatappTemplate",
        "cams:GetChatappTemplateDetail",
        "cams:ListChatappMessage"
      ],
      "Resource": "*"
    }
  ]
}

4. 使用方法

コア機能

  • 対話形式でテンプレートリストと詳細をクエリし、利用可能なテンプレートとその変数構造を取得します。

  • テンプレートメッセージとカスタムメッセージを自動的に送信し、24 時間のセッションウィンドウの内外でユーザーにリーチできます。

  • セッションウィンドウの期限切れを検出し、自動的にテンプレートメッセージのワークフローに切り替えます。

  • en、zh_CN、zh_HK などの多言語テンプレートに対応しています。

  • --cust-space-id パラメータを使用して、独立系ソフトウェアベンダー (ISV) のマルチテナントシナリオに対応しています。

5. ユースケース

国際注文の通知

国際ビジネスにおける一般的なユースケースには、発送通知、物流の更新、支払い確認の送信などがあります。

以前は、運用スタッフはコンソールやスクリプトからメッセージを送信する前に、テンプレートを見つけ、変数を入力し、電話番号を準備する必要がありました。このスキルを使えば、エージェントに要件を述べるだけで、テンプレートのマッチング、変数の補完、メッセージの送信、結果の報告を支援します。

マーケティングキャンペーンのアウトリーチ

国際的なマーケティングキャンペーンでは、新製品の発表、プロモーションのリマインダー、顧客の再エンゲージメントに WhatsApp がよく使用されます。

WhatsApp のテンプレートメッセージは事前に承認される必要があることに注意してください。このスキルは Meta のテンプレート審査サイクルを短縮するものではありません。しかし、テンプレートが承認されれば、エージェントは電話番号形式の自動検証、テンプレートのマッチング確認、顧客リストの処理、変数の一致、メッセージの一括送信、結果のレビューによって、テンプレートをより効率的に使用するのに役立ちます。

カスタマーサービスのフォローアップ

カスタマーサービスにおいて、24 時間のセッションウィンドウは重要なルールです。顧客が会話を開始した後、企業はこのウィンドウ内でカスタムメッセージを送信できます。ウィンドウ外では、テンプレートメッセージが必要です。

このスキルは、エージェントがカスタムメッセージとテンプレートメッセージのどちらを使用すべきかを判断し、適切な方法を推奨するのに役立ちます。これにより、サポートスタッフによる手動でのルール解釈や判断の必要性が減り、送信の失敗や再試行の防止に役立ちます。

6. よくある質問

このスキルはどの AI エージェントツールに対応していますか?

現在、Claude Code、Cursor、OpenClaw、Qoderwork、Wukong など、Agent Skills 標準に準拠したツールに対応しています。現在、さらに多くのプラットフォームへの対応を進めています。

このスキルの機能とコンソールの機能の違いは何ですか?

このスキルは現在、テンプレートメッセージの送信、カスタムメッセージの送信、テンプレートリストのクエリ、テンプレート詳細のクエリに対応しています。テンプレートの作成は引き続きコンソールで行う必要があります。

アカウントを登録せずにメッセージを送信できますか?

いいえ。Alibaba Cloud アカウントを登録し、CAMS を有効化し、WABA をバインドし、送信元電話番号を登録し、メッセージテンプレートの承認を得る必要があります。

個人ユーザーはこのサービスを利用できますか?

WhatsApp Business API はビジネスの認証情報を必要とします。個人ユーザーは、有効なビジネス情報を提供した場合にのみサービスを利用できます。このサービスは、メッセージ送信のための個人認証情報には対応していません。

テンプレート変数は特定の形式で入力する必要がありますか?

はい。テンプレート変数は、1=value1 2=value2 3=value3 のように、数値順に入力する必要があります。エージェントは、数や形式の不一致を防ぐために、それぞれについて確認するようにガイドします。

どのようなテンプレートを使用してメッセージを送信できますか?

ステータスが「Approved」で、ターゲットユーザーの言語と一致する言語のテンプレートを使用できます。list-chatapp-template --audit-status Approved を実行して、承認済みのテンプレートをクエリします。

一度に複数のユーザーにメッセージを送信できますか?

はい。複数のユーザーにメッセージを送信するには、ターゲットの電話番号のリストをエージェントに提供してください。

カスタムメッセージは 24 時間のセッションウィンドウ内でのみ送信できますか?

はい。カスタム WhatsApp メッセージは、ユーザーの最後のメッセージから 24 時間以内にのみ送信できます。この期間を過ぎると、SessionWindowExpired エラーが表示されます。この場合、エージェントは自動的にテンプレートメッセージのワークフローに切り替わります。

7. エラーコード

エラーコード

説明

解決策

InvalidParameter.FromOnlyNumeric

電話番号にプラス記号 (+) が含まれています。

API は数字のみを受け付けます。プラス記号 (+) を削除してください。例:8613867404376

TemplateNotFound

テンプレートが存在しません。

template-codebiz-language の値を確認してください。

TemplateParamInvalid

テンプレート変数が無効です。

変数の数と形式がテンプレートと一致しているか確認してください。

SessionWindowExpired

24 時間のセッションウィンドウが期限切れになりました。

テンプレートメッセージのワークフローに切り替えてください。

PhoneNumberNotRegistered

送信者の電話番号が登録されていません。

コンソールで電話番号の登録と承認プロセスを完了してください。

Forbidden.RAM

RAM 権限が不十分です。

ram-permission-diagnose スキルを使用して、不足している権限を取得してください。

InvalidAccessKeyId.NotFound

AccessKey ID が正しくありません。

AccessKey ID を確認してください。

SignatureDoesNotMatch

AccessKey Secret が正しくありません。

AccessKey Secret を確認してください。

権限の自動処理:RAM 権限が不十分でコマンドが失敗した場合、スキルは自動的に references/ram-policies.md を読み取り、ram-permission-diagnose スキルを呼び出して、必要な権限を付与するプロセスをガイドします。権限を付与すると、元のコマンドが再開されます。

8. リソース