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

Chat App Message Service:API を使用したメッセージ送信

最終更新日:Oct 09, 2026

Chat App Message Service は、テンプレートの作成、単一メッセージの送信、メッセージの一括送信のための API を提供します。このトピックでは WhatsApp を例に説明します。ほかのチャネルタイプでも、手順は同様です。

次の方法で Chat App Message Service API を呼び出せます。

  • Alibaba Cloud OpenAPI ポータル

    インタラクティブなインターフェイスで API をデバッグし、SDK のリクエスト例を取得できます。Alibaba Cloud を初めて利用する開発者に最適です。

  • SDK

    SDK は、Java、Go、PHP、Python など、複数のプログラミング言語向けに提供されています。SDK を使用して Chat App Message Service を統合すると、開発効率が向上します。

  • カスタム実装 (非推奨)

    Alibaba Cloud SDK は、リクエスト署名、タイムアウト、リトライを処理します。開発コストを削減するため、SDK の使用を推奨します。どうしても API を直接呼び出す必要がある場合は、「SendChatappMessage」および「Request syntax and signature method V3」をご参照ください。

SDK を使用して Chat App Message Service を統合するには、OpenAPI ポータルで API を確認し、次の手順で Chat App Message Service を統合します。

image

事前準備

準備

説明

参照

Alibaba Cloud アカウントを登録

企業実名認証を完了

  • 企業実名認証により、アカウント所有者が企業または政府機関であることを確認します。

  • Chat App Message Service は個人アカウントをサポートしていません。

Create an Alibaba Cloud account

Enterprise identity verification

サービスをアクティブ化

Chat App Message Service console にログインし、サービスをアクティブ化します。

-

ユーザー権限を設定

Alibaba Cloud アカウントには広範な権限があります。API 呼び出しと日常運用には RAM ユーザーを使用してください。

ユーザーの権限は、RAM console にログインして RAM ユーザー名をクリックすると確認できます。API 呼び出しを行う RAM ユーザーに、Chat App Message Service に必要な権限があることを確認してください。

  • AliyunCamsFullAccess: Chat App Message Service の管理に必要なすべての権限。

Create a RAM user

Manage RAM user permissions

RAM authorization

AccessKey ID

RAM console にログインし、RAM ユーザー名をクリックして AccessKey ID を確認します。

Create an AccessKey

AccessKey シークレット

AccessKey シークレットは作成時にのみ表示されます。ローカルにバックアップがない場合は、新しい AccessKey ペアを作成してください。

環境設定

この例では Java を使用します。ほかの言語および SDK のインストールについては、「Installation Method」をご参照ください。

  1. Java 8+ がインストールされていることを確認してください。詳細な手順については、「Set up a Java development environment on Windows」をご参照ください。

  2. Maven 依存関係を設定して SDK をインストールします。

    Maven プロジェクトの pom.xml で、次の内容を <dependencies> に追加し、the-latest-version を最新のバージョン番号に置き換えてください。その後、Maven 依存関係を再読み込みしてください。

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>alibabacloud-cams20200606</artifactId>
      <!-- Replace 'the-latest-version' with the latest version number: https://mvnrepository.com/artifact/com.aliyun/alibabacloud-cams20200606 -->
      <version>the-latest-version</version>
    </dependency>
  3. 環境変数を設定してください。コードに AccessKey ペアをハードコードしないように、認証情報を環境変数に保存してください。設定後、新しい変数を読み込むために IDE、コマンドラインインターフェイス、その他のアプリケーションを再起動してください。

  4. プロキシを設定します (オプション)。プロキシ経由でリクエストをルーティングするには、SDK で設定してください。「Proxy configuration」をご参照ください。

API の基本情報

API バージョン

2020-06-06

API スタイル

RPC

サービスエンドポイント

(Endpoint)

パブリックエンドポイント: cams.ap-southeast-1.aliyuncs.com

呼び出し前に API パラメーターを確認してください。Online Debugging | API Overview

ワークフロー

image
  1. チャネルを作成: Instant Message > WhatsApp ページに移動します。

    1. チャネルは、メッセージ送信に使用するパスの種類です。サポートされているチャネル: WhatsApp、Viber、Messenger、Instagram、Email。

    2. 各チャネルは、対応するメッセージタイプのみをサポートします。

  2. WABA を登録してバインド: ChatappBindWaba API を呼び出して WhatsApp ビジネスアカウント (WABA) をバインドします。

    • この API を呼び出す前に、WABA を登録しておく必要があります。WABA は API では登録できません。Chat App Message Service コンソールで登録してください。

    • WABA (WhatsApp Business Account) は、商用の WhatsApp メッセージを送信するために必要です。認証済み WABA にはバッジが表示され、顧客の信頼を高め、ブランドイメージを向上させるとともに、不正なメッセージによる影響を低減します。

  3. 番号を追加: AddChatappPhoneNumber API を呼び出して番号を追加します。この電話番号は WhatsApp メッセージの送信に使用されます。

    • ChatappSyncPhoneNumber API を使用して、バインド済みかつ承認済みの WABA 配下の番号を Business Manager (BM) プラットフォームと同期できます。

    • ほかの BSP から Alibaba Cloud に電話番号を移行できます。移行した番号は、表示名、品質評価、メッセージングの上限、公式ビジネスアカウントのステータス、および過去に承認された高品質メッセージテンプレートをすべて維持します。移行を開始するには、CreateChatappMigrationInitiate API を使用します。

  4. 番号を認証: GetChatappVerifyCode API を呼び出して番号の認証コードを取得します。次に、ChatappVerifyAndRegister API を使用して番号を認証します。認証後、GetPhoneNumberVerificationStatus API を使用して認証ステータスを照会します。

    • 移行した電話番号を使用している場合は、GetMigrationVerifyCode API を呼び出して認証コードを取得します。次に、ChatappMigrationVerified API を呼び出して移行した番号を認証します。

  5. テンプレートを作成して設計: CreateChatappTemplate API を呼び出してテンプレートを作成します。テンプレートの作成後、自動的に審査に提出されます。次に、GetChatappTemplateDetail API を使用してテンプレート審査の詳細を照会します。

    • 提出後は審査ステータスを監視してください。審査は通常 5 分以内に完了しますが、24 時間を超える場合があります。

    • WhatsApp メッセージテンプレートのカテゴリは、審査中に自動的に変更される場合があります。CreateChatappTemplate API を呼び出す際に CategoryChangePaused を true に設定すると、カテゴリが変更された場合に送信を一時停止できます。詳細については、「WhatsApp message template category changes and sending controls」をご参照ください。

  6. メッセージを送信: SendChatappMessage または SendChatappMassMessage API を呼び出してメッセージを送信します。

    • 送信前にアカウント残高が十分であることを確認してください。詳細については、「Pricing」をご参照ください。

  7. メッセージ送信の詳細を表示: ChatAppStatus コールバックで送信済みメッセージのレポートを受信します (Simple Message Queue | HTTP URL)。

  8. モバイル発信 (MO) メッセージを受信: ChatAppInbound コールバックでインバウンドメッセージを受信します (Simple Message Queue | HTTP URL)。

API の詳細については、「API overview」をご参照ください。

サンプルコード

次の例では、SendChatappMessage API を呼び出してメッセージを送信します。コメントに従ってパラメーターを入力してください。

// このファイルは自動生成されたものです。編集しないでください。
package com.aliyun.sample;

import com.aliyun.tea.*;

public class Sample {

    /**
     * 認証情報を使用してクライアントを初期化します。
     * @return Client
     * @throws Exception
     */
    public static com.aliyun.cams20200606.Client createClient() throws Exception {
        // 本番環境では、AccessKey をハードコードしない、より安全な方法を推奨します。詳細は https://www.alibabacloud.com/help/doc-detail/2542825.html をご参照ください。
        com.aliyun.credentials.Client credential = new com.aliyun.credentials.Client();
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                .setCredential(credential);
        // サービスエンドポイントです。詳細は https://api.alibabacloud.com/product/cams をご参照ください。
        config.endpoint = "cams.ap-southeast-1.aliyuncs.com";
        return new com.aliyun.cams20200606.Client(config);
    }

    public static void main(String[] args_) throws Exception {

        com.aliyun.cams20200606.Client client = Sample.createClient();
        java.util.Map<String, String> templateParams = TeaConverter.buildMap(
                // これらをテンプレート内の変数名と値に置き換えてください。
                new TeaPair("name", "鈴木一郎"),
                new TeaPair("sex", "Male")
        );
        com.aliyun.cams20200606.models.SendChatappMessageRequest sendChatappMessageRequest = new com.aliyun.cams20200606.models.SendChatappMessageRequest()
                // メッセージ送信用のパラメーターです。
                .setTemplateParams(templateParams)
                .setTemplateCode("XXXXXXXXXXX")
                .setChannelType("whatsapp")
                .setType("template")
                .setLanguage("en")
                .setFrom("XXXXXXXX")
                .setTo("XXXXXXXX")
                .setCustSpaceId("XXXXXXXXXXX");
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            // このコードをコピーして実行する場合は、API の戻り値を自分で出力してください。
            client.sendChatappMessageWithOptions(sendChatappMessageRequest, runtime);
        } catch (TeaException error) {
            // これはデモ用のコードです。本番環境では、例外を適切に処理してください。
            // エラーメッセージ
            System.out.println(error.getMessage());
            // 診断 URL
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // これはデモ用のコードです。本番環境では、例外を適切に処理してください。
            // エラーメッセージ
            System.out.println(error.getMessage());
            // 診断 URL
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

ほかの言語における SDK の完全なサンプルについては、OpenAPI ポータルをご参照ください。API を直接呼び出す場合は、「SendChatappMessage」および「Request syntax and signature method V3」をご参照ください。

よくある質問