ソリューションパートナー向けスタートガイド

このガイドでは、ソリューションパートナーが顧客にCloud APIを提供するために必要な手順について説明します。主に、次の4つの段階があります。

  1. 準備と計画
  2. アセットの設定
  3. 契約への署名
  4. 統合のビルド

これらが完了したら、毎月のアップデートを適用してください。

準備と計画

ドキュメントを読む

事前に、開発者ドキュメントPostmanコレクションを読んでおくことをおすすめします。開始手順や電話番号の移行方法など、クラウドAPIのしくみについて理解するのに役立ちます。

オンボーディングと移行を計画する

新しいカスタマーのクラウドAPIへのオンボーディングには、埋め込み登録を使用する必要があります。まだ使用していない場合は、埋め込み登録を統合して使用を開始してください。埋め込み登録は、カスタマーの登録を行う最も早くかつ簡単な方法です。カスタマーは5分以内にメッセージの送信を行えるようになります。

次に、クラウドAPIに最初に移行する顧客を決めます。基本的に、すべての顧客をオンプレミスからクラウドAPIに移行することをおすすめしますが、顧客によってニーズが異なる場合があります。どの顧客を移行するかを決める際、以下を考慮してください。

検討詳細

顧客のスループットとメッセージ数はクラウドAPIでサポートされているか。

クラウドAPIは、累積ピークスループットが(テキスト/メディア、着信/送信を含む)メッセージ250件/秒の、大半のビジネスをサポートしています。

クラウドAPIが顧客のコンプライアンスのニーズを満たしているか。

クラウドAPIはGDPRを遵守し、SOC 2認証を受けています。サーバーは北米とヨーロッパでホストされています。

顧客はクラウドAPIでサポートされている機能を使用しているか。

大半の機能がサポートされています。詳細なリストはこちらをご覧ください。

移行する顧客を決めたら、移行プランとタイムラインを作成します。

プランを作成する際、新しいカスタマーのオンボーディングと、既存のカスタマーのオンプレミスからクラウドAPIへの移行という、2つのシナリオについてシステムを設計してください。移行シナリオには、既存のオンプレミスインスタンスをバックアップし、電話番号をクラウドAPIに移行する計画を含めます。

顧客への通知を計画する

最初に、既存の顧客に移行について通知するかどうかを決めます。その後、クラウドAPIのセットアップをサポートするためにドキュメントの作成または更新が必要かどうかを考えます。

価格設定を決定する

クラウドAPIのホスティング費用はMetaが負担しますが、価格を更新する必要があるかどうかを考えます。

アセットの設定

クラウドAPIを使用するには、ソリューションパートナーに以下のアセットが必要です。

アセット具体的な手順

ビジネスマネージャ

既存のものを使うことも、新しく設定することもできます。ビジネスマネージャIDを保存します。

WhatsApp Businessアカウント(WABA)

詳しくは、WhatsApp Business API用にWhatsApp Businessアカウントを作成するをご覧ください。

Metaアプリ

アプリがない場合は、「ビジネス」タイプのアプリを作成する必要があります。表示名と連絡先メールアドレスを必ずアプリに追加してください。


ソリューションパートナーは、アプリのアプリレビューを完了し、以下のアクセス許可に対するAdvanced Accessをリクエストする必要があります。

  • whatsapp_business_management — WhatsApp Businessアカウントで電話番号、メッセージテンプレート、登録、ビジネスプロフィールを管理するために使われます。このアクセス許可を得るには、アプリのアプリレビューを完了する必要があります。
  • whatsapp_business_messaging — WhatsApp Businessアカウント下でWhatsAppユーザーとメッセージをやり取りしたり、メディアをアップロード/ダウンロードしたりするために使われます。このアクセス許可を得るには、アプリのアプリレビューを完了する必要があります。

アプリレビュー申請のサンプルについては、こちらをご覧ください


ソリューションパートナーの方は、さまざまなクライアントやWABAを通じて同じMetaアプリを使うこともできます。しかし、アプリごとに可能なWebhookエンドポイントは1つだけであること、そしてアプリごとにアプリレビューを実施することが必要であることに注意してください。

システムユーザー

詳しくは、ビジネスマネージャにシステムユーザーを追加するをご覧ください。


現在のところ、whatsapp_business_messagingwhatsapp_business_management、およびbusiness_messagingのアクセス許可を付与されたMetaアプリについて、アクセス可能な最大数は次のとおりです。

  • 管理者システムユーザー1、および
  • 従業員システムユーザー1

製品版のデプロイメントでは、管理者システムユーザーを使うことをおすすめします。詳しくは、ビジネスマネージャの役割とアクセス許可についてをご覧ください。

ビジネス電話番号

これは、メッセージ送信のためにビジネスが使う電話番号です。SMS/音声通話により電話番号を認証する必要があります。


ソリューションパートナーとダイレクトビジネスの場合、自分の番号を使うには、WhatsAppマネージャで電話番号を追加し、グラフAPIを通じて認証エンドポイントによりそれを認証しなければなりません。


ソリューションパートナーを使うビジネスの場合に、自分の番号を使うには、ソリューションパートナーの埋め込み登録フローを使って番号を追加し、認証しなければなりません。


電話番号の認証ステータスが、オンプレミスとクラウドAPIの間の移行作業に影響を与えることはありません。電話番号認証のための埋め込み登録にアクセスできない場合は、オンプレミスソリューションを使って電話番号を認証してから、それらの番号をクラウドAPIに移行することをおすすめします。

クラウドAPIに対してオンボーディングできるビジネス電話番号の数に制限はありません。


1つのプラットフォームで一度に使用できる電話番号は1つのみです。クラウドAPI用とオンプレミス用に、1つずつとなります。つまり、オンプレミスとクラウドAPIの両方に、同じ本番用電話番号を使うことはできません。テスト番号(既存または新規のテスト番号)を使ってテストを実施した後、本稼働での使用に移行できると確信できたら、自分の電話番号をクラウドAPIに移すことをおすすめします。

カスタマー電話番号

これは、現在カスタマーWhatsAppアプリを使っている電話番号です。この番号が、ビジネスの電話番号から送信されるメッセージを受信することになります。

契約への署名

利用規約を承諾する

WhatsApp BusinessメッセージクラウドAPIにアクセスするには、まず利用者がそのビジネスに代わってWhatsApp Businessプラットフォーム利用規約を承諾する必要があります。

そのためには、WhatsAppマネージャに移動し、情報バナーで利用規約を承諾します。

クラウドAPIの既存のベータ版パートナーの方は、90日間の猶予期間があります。つまり、2022年7月5日より前に利用規約を受諾しないと、アクセスが失われることになります。

新規のクラウドAPIビジネス(オンプレミスAPIから移行した場合も含む)がクラウドAPIを使うには、事前に利用規約を受諾する必要があります。利用規約を受諾するまで、登録呼び出しは失敗します。

開発者は利用規約を受諾する必要があります。ソリューションパートナーの場合、顧客による受諾は必要ありません。

統合のビルド

ステップ1: システムユーザーアクセストークンを取得する

グラフAPI呼び出しでは、認証のためにアクセストークンが使われます。詳しくは、アクセストークンをご覧ください。トークン生成にはシステムユーザーを使うことをおすすめします。

システムユーザーアクセストークンを生成するには、次のようにします。

  1. [ビジネスマネージャ] > [ビジネス設定] > [ユーザー] > [システムユーザー]で、作成したシステムユーザーを表示します。
  2. そのユーザーをクリックし、[アセットを追加]を選択します。新しいウィンドウが表示されます。
  3. 左のペインの[アセットタイプを選択]の下で、[アプリ]を選択します。[アセットを選択]の下で、使用するMetaアプリを選択します(アプリには適切なアクセス許可が必要です)。そのアプリの[アプリの開発]を有効にします。
  4. [変更を保存]を選択して設定を保存し、システムユーザーのメイン画面に戻ります。
  5. これで、トークン生成の準備ができました。システムユーザーのメイン画面で、[トークンを生成]をクリックし、Metaアプリを選択します。アプリを選ぶと、利用可能なアクセス許可のリストが表示されます。whatsapp_business_managementwhatsapp_business_messagingを選びます。[トークンを生成]をクリックします。
  6. システムユーザー、割り当てられているアプリ、アクセストークンを表示した新しいウィンドウが開きます。トークンを保存します。
  7. (任意)自分のトークンをクリックすると、トークンデバッガーが表示されます。デバッガーには、選択した2つのアクセス許可が表示されるはずです。トークンを直接アクセストークンデバッガーに貼り付けることもできます。

ステップ2: Webhooksを設定する

Webhooksを設定しておくと、WhatsAppビジネスプラットフォームからのHTTP通知をリアルタイムで受け取ることができるようになります。つまり、お客様からメッセージが届いたり、WhatsApp Businessアカウント(WABA)に変更が加えられたりした場合などに、通知が届きます。

Webhookを設定するには、MetaとWhatsAppの要件を満たすURLを使用してインターネット対応のウェブサーバーを作る必要があります。その方法については、エンドポイントを作成するをご覧ください。テスト目的のエンドポイントが必要な場合は、テスト用Webhookエンドポイントを生成することができます。

アプリの設定

エンドポイントの準備ができたら、Metaアプリで使用できるように設定します。

アプリダッシュボードで、WhatsApp製品を見つけて [設定]をクリックします。次に、Webhooksセクションを見つけて[Webhookの設定]をクリックします。そうすると、画面に次の2つの項目の入力を求めるダイアログが表示されます。

  • コールバックURL: これは、Metaがイベントを送信するURLです。このURLの作成方法については、Webhooksのスタートガイドをご覧ください。
  • 認証トークン: この文字列はWebhookエンドポイント作成時に自分で設定します。

これらの情報を追加したら、[確認して保存]をクリックします。

アプリダッシュボードに戻って、左側のパネルで[WhatsApp] > [設定]をクリックします。Webhooksの下で、[管理する]をクリックします。すると、通知を受け取ることができるすべてのオブジェクトが示されたダイアログボックスが表示されます。ユーザーからメッセージを受け取るには、メッセージ[サブスクリプション登録する]をクリックします。

どのアプリについても、必要なWebhooksの設定は1度だけです。同じWebhookを使って、複数のWhatsApp Businessアカウントから複数のイベントタイプを受け取ることができます。詳しくは、当社のWebhooksのセクションをご覧ください。

各Metaアプリに設定できるエンドポイントは、常に1つだけです。Webhook更新を複数のエンドポイントに送信する必要がある場合は、複数のMetaアプリが必要です。

ステップ3: WABAのサブスクリプション登録をする

適切なアカウントに関する通知を確実に受け取るため、アプリをサブスクリプション登録します。

curl -X POST \
'https://graph.facebook.com/v19.0/WHATSAPP_BUSINESS_ACCOUNT_ID/subscribed_apps' \
-H 'Authorization: Bearer ACCESS_TOKEN'

下記の応答を受け取った場合、このアカウント下の電話番号に関連するすべてのWebhooksイベントが、設定したWebhooksエンドポイントに送信されます。

{
  "success": true
}

ステップ4: 電話番号IDを入手する

メッセージを送信するには、使用する電話番号を登録する必要があります。これは、開始する前にの中で言及されているビジネス電話番号です。

登録作業を進める前に、電話番号のIDを調べておく必要があります。電話番号のIDを入手するため、以下のAPI呼び出しを実行します。

curl -X GET \
'https://graph.facebook.com/v19.0/WHATSAPP_BUSINESS_ACCOUNT_ID/phone_numbers' \
-H 'Authorization: Bearer ACCESS_TOKEN'

リクエストが成功すると、その応答には当該WABAに紐付けされているすべての電話番号が含まれます。

{
  "data": [
    {
      "verified_name": "Jasper's Market",
      "display_phone_number": "+1 631-555-5555",
      "id": "1906385232743451",
      "quality_rating": "GREEN"
    },
    {
      "verified_name": "Jasper's Ice Cream",
      "display_phone_number": "+1 631-555-5556",
      "id": "1913623884432103",
      "quality_rating": "NA"
    }
  ]
}

登録する電話番号のIDを保存します。このエンドポイントについて詳しくは、電話番号を読み取るをご覧ください。

移行の例外

電話番号をオンプレミスAPIからクラウドAPIに移行する場合、クラウドAPIに電話番号を登録する前に行う必要がある追加の手順があります。全プロセスについては、オンプレミスAPIとクラウドAPI間の移行をご覧ください。

ステップ5: 電話番号を登録する

電話番号のIDを入手したら、それを登録できます。登録API呼び出しでは、次の2つのアクションを同時に実行します。

  1. 電話を登録します。
  2. 二段階認証を有効にします。そのためには、ビジネスの側で、数字6桁の登録コードを設定する必要があります。後で必要になる場合に備えて、このコードを保存して覚えておいてください。

二段階認証の設定はクラウドAPIを使うための必須条件です。この設定が行われない場合、オンボーディングエラーのメッセージが送信されます。

リクエストの例:

curl -X POST \
'https://graph.facebook.com/v19.0/FROM_PHONE_NUMBER_ID/register' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"messaging_product": "whatsapp","pin": "6_DIGIT_PIN"}'

応答の例:

{
  "success": true
}

埋め込みユーザー登録

埋め込み登録フロー実施後14日以内に、電話番号を登録する必要があります。その期間内に番号が登録されない場合、登録前に、その番号の埋め込み登録フローを再度実施しなければならなくなります。

ステップ6: カスタマーアプリからメッセージを受信する

参加しているカスタマーがメッセージをビジネスに送ると、ビジネスはそのカスタマーとメッセージを自由にやり取りできる24時間枠を取得します。この時間枠はカスタマーサービス枠と呼ばれます。テストを目的として、この枠内で何通でもメッセージを送信することができます。

個人用のWhatsApp iOS/Androidアプリから、先ほど登録した電話番号にメッセージを送信します。メッセージが送信されたら、次の形式の通知を含んだWebhook宛の着信メッセージが届くはずです。

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP_BUSINESS_ACCOUNT_ID",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "16315551234",
              "phone_number_id": "PHONE_NUMBER_ID"
            },
            "contacts": [
              {
                "profile": {
                  "name": "Kerry Fisher"
                },
                "wa_id": "16315555555"
              }
            ],
            "messages": [
              {
                "from": "16315555555",
                "id": "wamid.ABGGFlA5FpafAgo6tHcNmNjXmuSf",
                "timestamp": "1602139392",
                "text": {
                  "body": "Hello!"
                },
                "type": "text"
                }
            ]
          },
        "field": "messages"
        }
      ]
    }
  ]
}

ステップ7: テストメッセージを送信する

カスタマーサービス枠が有効になったら、前のステップで使用したカスタマー番号宛にテストメッセージを送信できます。そのためには、次のAPI呼び出しを実行します。

curl -X  POST \
'https://graph.facebook.com/v19.0/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"messaging_product": "whatsapp", "to": "16315555555","text": {"body" : "hello world!"}}'

この呼び出しが成功すると、応答にメッセージIDが含まれます。そのIDを使って、Webhooks経由でメッセージの進捗をトラッキングします。IDの最大長は128文字です。

応答の例:

{
  "id":"wamid.gBGGFlaCGg0xcvAdgmZ9plHrf2Mh-o"
}

クラウドAPIによって、電話番号にWhatsApp IDがあるかどうかを明示的に確認する手段はなくなりました。クラウドAPIを使ってメッセージを送信する場合は、お客様の電話番号に直接送信するだけです。ただしそれは、お客様が事前にオプトインしていることが条件です。その例については、リファレンス、メッセージをご覧ください。

毎月のアップデートを適用する

毎月第一火曜日に、クラウドAPIのアップデートがリリースされます。これには新機能や機能改善が含まれます。クラウドAPIの更新は自動的に行われるため、必要な操作はありません。

よくある質問

全般に関するFAQ

WhatsApp develops and operates the WhatsApp Business API, which enables businesses to communicate with WhatsApp consumer users on the WhatsApp network. When using the Cloud API, Meta will host the WhatsApp Business API for you and provide an endpoint for the WhatsApp service for your incoming and outgoing WhatsApp communications.

No, there is no difference in messaging prices between the Cloud API and the On-Premises API. Access to Cloud API is free, and we expect it to generate additional cost savings for developers. The two types of cost savings for the Cloud API are 1) set up cost (including server or external cloud provider cost), 2) ongoing cost of maintenance (including engineering time for API upgrades).

A Solution Partner can select which setup a given client should use. We recommend that the majority of clients use the Cloud API for ease of implementation and maintenance. Solution Partners can also continue to maintain integration with the On-Premises API.

We want to make it clear what it means to message with a business on WhatsApp. Some businesses may choose to use Meta or another company to help them manage and store their messages. When a business chooses to manage their messages with another company, we will let consumers know by showing a different system message. Learn more.

We expect Cloud API to provide the same key features as the On-Premises API soon, including user change notifications and sticker pack management. Our goal is for the Cloud API to become the preferred platform for new features.

We will release updates monthly with new features and improvements. There is no work required to access these features - the Cloud API updates automatically.

技術的な実装に関するよくある質問

The Cloud API architecture significantly simplifies the Solution Partner's operational and infrastructure requirements to integrate with WhatsApp Business Platform. First, it removes the infrastructure requirements to run Business API docker containers (CAPEX savings). Second, it obviates the need of operational responsibilities to manage the deployment (OPEX savings). For details, refer to the architecture diagram comparing the On-Premises and Cloud API deployments.

Solution Partners and direct clients do not need the WebApp and CoreApp containers that are used in the On-Premises API. Meta will manage all database data and media data on behalf of the Solution Partner or direct client.

We will have disaster recovery and data replication across multiple regions. The expected downtime would be within our SLA and usually in the order of less than a minute to less than five minutes.

As your on-premises performance depends heavily on your hardware, software, and connectivity to WhatsApp servers, if you wish to understand these differences, you can perform your own load tests on Cloud API as you might have done for your own on-premises installation. You can also refer to our performance comparison to understand more details around how the on-premise and Cloud APIs compare.

データのプライバシーとセキュリティに関するよくある質問

クラウドAPIは、ビジネスがクラウドAPIのローカルストレージを使用することを選択している場合を除き、Metaのデータセンターで運用されています。Metaのデータセンターは北米とEUにあります。

保存されたメッセージは暗号化されます。30日が経過すると自動的に削除されます。

他すべてのWhatsApp Business APIソリューションパートナー同様、Metaもビジネスの代わりに暗号化キーと復号化キーを管理しています。クラウドAPIを介したメッセージの送受信を可能にするため、クラウドAPIではビジネスの代わりに暗号化/復号化キーを管理しています。クラウドAPIの運用を行っているのはMetaですが、その規約により、クラウドAPIのサービス提供はメッセージ配信にのみ制限されています。WhatsAppがキーまたはメッセージにアクセスすることはありません。

規制遵守に関するFAQ

Metaは、個人データ保護と利用者のプライバシーをきわめて重要なものと考え、これからも変わらずデータ保護法制の遵守に努めます。クラウドAPIにおいても、Metaの利用者は一般データ保護規則(GDPR)に定められる義務を引き続き遵守できます。Metaでは、法的要件、業界の要件、規制上の要件、業界のベストプラクティスを遵守するよう徹底しています。 詳細情報をご覧ください