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

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

最終更新日:Mar 13, 2026

Chat App Message Service は、テンプレートの作成、単一メッセージの送信、および一括メッセージ送信のための API を提供します。このトピックでは、WhatsApp チャンネルを例として使用しますが、このプロセスは他のチャンネルタイプにも参考にできます。

Chat App Message Service の API は、以下の方法で呼び出すことができます。

  • OpenAPI ポータル

    これは、インタラクティブなユーザーインターフェースを好む開発者や、Alibaba Cloud プロダクトを初めて利用する開発者に適しています。OpenAPI ポータルでは、API のデバッグや SDK リクエストのサンプルを取得できます。

  • SDK

    SDK は、JavaGoPHPPython など、複数のプログラミング言語で利用できます。SDK を使用して Chat App Message Service を統合することで、開発効率を向上させることができます。

  • カスタムカプセル化 (非推奨)

    Alibaba Cloud SDK は、リクエスト署名、タイムアウト、リトライなどのメカニズムを処理します。開発コストを削減するために、SDK の使用を推奨します。API 呼び出しを独自にカプセル化したい場合は、「SendChatappMessage」および「署名の例」をご参照ください。

このトピックでは、SDK を使用して Chat App Message Service を利用する方法について説明します。OpenAPI ポータル で API を確認した後、このトピックの手順に従って Chat App Message Service を統合できます。全体的なプロセスは次のとおりです。

image

事前準備

準備

説明

リファレンス

Alibaba Cloud アカウントの登録

企業本人確認の完了

  • 企業本人確認は、アカウント所有者が企業または政府機関であることを確認するものです。

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

Alibaba Cloud アカウントの作成

企業本人確認

サービスのアクティベート

Chat App Message Service コンソールにログインし、サービスをアクティベートします。

-

ユーザー権限の設定

Alibaba Cloud アカウント (root ユーザー) は高いレベルの権限を持っています。API 呼び出しや日常の操作には RAM ユーザーを使用することを推奨します。

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

  • AliyunCamsFullAccess:Chat App Message Service を管理するための完全な権限。

RAM ユーザーの作成

RAM ユーザーへの権限付与

RAM 認可

AccessKey ID

RAM コンソールにログインし、RAM ユーザー名をクリックして AccessKey ID を表示します。

AccessKey ペアの作成

AccessKey Secret

AccessKey Secret は作成後に再度表示することはできません。ローカルバックアップがない場合は、新しい AccessKey ペアを作成してください。

環境設定

このトピックでは Java を例に説明します。他の言語とその SDK のインストール方法については、「インストール方法」をご参照ください。

  1. Java 環境の確認:Java のバージョンは Java 8 以降である必要があります。詳細な手順については、「Windows で Java 開発環境をセットアップする」をご参照ください。

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

    ご利用の Maven プロジェクトの pom.xml ファイルで、<dependencies> タグに次の情報を追加し、the-latest-version最新のバージョン番号に置き換えます。ファイルを保存した後、Maven の依存関係を再読み込みします。

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>alibabacloud-cams20200606</artifactId>
      <!-- 'the-latest-version' を最新のバージョン番号に置き換えてください:https://mvnrepository.com/artifact/com.aliyun/alibabacloud-cams20200606 -->
      <version>the-latest-version</version>
    </dependency>
  3. 環境変数の設定:コードに AccessKey ペア をハードコーディングして漏洩を防ぐため、環境変数を設定し、そこから AccessKey ペアを読み取ることを推奨します。設定後、IDE、コマンドラインインターフェイス、その他のアプリケーションを含む開発環境を再起動またはリフレッシュして、新しい環境変数が読み込まれるようにしてください。

  4. プロキシの設定 (オプション)。プロキシサーバー経由でサービスにアクセスするには、SDK を使用してプロキシを設定します。詳細については、「プロキシ設定」をご参照ください。

API の基本情報

API バージョン

2020-06-06

API スタイル

RPC

サービスエンドポイント

(Endpoint)

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

呼び出しを行う前に、API パラメーターの仕様と使用方法の説明をお読みください。オンラインデバッグ | API 概要

ワークフロー

image
  1. チャンネルの作成[チャンネル管理] ページに移動します。

    1. チャンネルは、メッセージを送信するために使用されるパスの種類です。WhatsApp、Viber、Messenger、Instagram、および Email チャンネルがサポートされています。

    2. 各チャンネルは対応するメッセージタイプしか送信できないため、適切なチャンネルタイプを選択してください。

  2. WABA の登録とバインドChatappBindWaba API を呼び出して、WhatsApp Business Account (WABA) をバインドします。

    • この API を呼び出す前に、登録済みの WABA が必要です。API 経由で WABA を登録することはできません。お持ちでない場合は、Chat App Message Service コンソールの埋め込みページから登録してください。

    • WABA は、企業が商用 WhatsApp メッセージを送信するために登録する必要がある公式ビジネスアカウントです。WhatsApp によって認証された WABA は認証バッジを受け取り、顧客の信頼を高め、ブランドイメージを向上させると同時に、詐欺メッセージによる妨害を減らします。

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

    • ChatappSyncPhoneNumber API を使用して、バインドされ承認された WABA の下の番号をビジネス マネージャー (BM) プラットフォームと同期できます。

    • 番号移行機能を使用すると、他の BSP に登録されている電話番号を Alibaba Cloud に移行できます。移行された番号は、元の表示名、品質評価、メッセージング制限、公式ビジネスアカウントのステータス、および以前に承認されたすべての高品質メッセージテンプレートを保持します。CreateChatappMigrationInitiate API を使用して移行を開始します。

  4. 電話番号の検証GetChatappVerifyCode API を呼び出して番号の検証コードを取得します。次に、ChatappVerifyAndRegistr API オペレーションを使用して番号を検証します。検証後、GetPhoneNumberVerificationStatus API オペレーションを使用して検証ステータスを確認します。

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

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

    • テンプレートが審査に提出された後、その審査ステータスをモニターします。審査は通常 5 分以内に完了しますが、場合によっては 24 時間以上かかることもあります。

    • WhatsApp メッセージテンプレートのカテゴリは、審査プロセス中に自動的に変更されることがあります。CreateChatappTemplate API を呼び出す際に、CategoryChangePaused パラメーターを true に設定して、カテゴリが変更されたときに送信を一時停止できます。詳細については、「WhatsApp メッセージテンプレートのカテゴリ変更時の送信制御の追加」をご参照ください。

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

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

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

  8. モバイル発信 (MO) メッセージの受信:ChatAppInbound コールバック (メッセージキュー | HTTP URL) を通じてインバウンドメッセージを受信します。

API オペレーションの詳細については、「API 概要」をご参照ください。

サンプルコード

以下のサンプルコードは、SDK を使用して SendChatappMessage API を呼び出し、メッセージを送信する方法を示しています。コメントに従ってパラメーターを入力してください。

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

import com.aliyun.tea.*;

public class Sample {

    /**
     * description :
     * <p>認証情報を使用してクライアントを初期化します。</p>
     * @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", "男性")
        );
        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());
            // 診断アドレス。
            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());
            // 診断アドレス
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

OpenAPI ポータル にアクセスして、さまざまな言語の完全な SDK リクエストのサンプルを表示できます。API 呼び出しをカプセル化したい場合は、「SendChatappMessage」および「署名の例」をご参照ください。

よくある質問