WhatsApp Business Platformのクラウドホスト版を使用して、メッセージを送信および受信します。Cloud APIを使用すると、独自のサーバーをホストするコストをかけずにWhatsApp Business APIを実装でき、ビジネスメッセージングをより簡単にスケールさせることもできます。Cloud APIは、送受信合わせて毎秒最大80メッセージ(テキストおよびメディアメッセージを含む)をサポートします。
WhatsApp Business API を使用すると、中規模および大規模の企業が顧客と大規模にコミュニケーションできます。APIを使用して、企業は何千もの顧客とエージェントまたはボットを接続するシステムを構築でき、プログラムによる通信と手動での通信の両方を可能にします。さらに、CRMやマーケティングプラットフォームなど多数のバックエンドシステムとAPIを統合できます。
企業は Cloud API でより速く新機能を利用できます。現在、WhatsApp Business Cloud API には WhatsApp Business API で利用可能なすべての機能が含まれています。
WhatsApp Cloud APIの便利な機能:
テスト番号を使用して最初のメッセージを送受信するには、次の手順を実行します。
1. 開発者アセットとプラットフォームアクセスの設定
Meta アプリを作成する: developers.facebook.com > My Apps > Create App へ移動します。「Business」タイプを選択し、画面の指示に従ってください。
アプリダッシュボードから WhatsApp に接続するアプリをクリックします。下にスクロールして "WhatsApp" 製品を見つけて セットアップをクリックします。
次の画面では、既存のビジネスマネージャーを選択するオプション(お持ちの場合)、または必要であればオンボーディングプロセスで自動的に作成することができます(後でビジネスをカスタマイズできます)。選択して Continue をクリックしてください。
Continueをクリックすると、オンボーディングプロセスは次のアクションを実行します:
2. テストメッセージの送信
IDE を開いて新しいプロジェクトを作成してください。TsgcWhatsapp_Client コンポーネントをドロップして以下のプロパティを設定してください:
これら 2 つのプロパティが適切に設定されたら、SendTest メソッドを呼び出して Whatsapp Business Platform を使用して電話番号に最初のメッセージを送信します。
oClient := TsgcWhatsapp_Client.Create(nil);
oClient.WhatsappOptions.PhoneNumberId := '107809351952205';
oClient.WhatsappOptions.Token := 'EAAO4OpgZAs98BAGj3nCFGr...ZB2t8mmLB2LRXJkte2Y5PMNh2';
oClient.SendTest('34605889421');
3. Webhook の設定
メッセージを受信したとき、またはメッセージのステータスが変更されたときに通知を受けるには、アプリの Webhooks エンドポイントを設定する必要があります。Webhooks の設定は電話番号のステータスには影響せず、メッセージの送受信を妨げません。
開始するには、まずエンドポイントを作成する必要があります。WhatsApp クライアントコンポーネントの ServerOptions プロパティを設定して以下のプロパティを設定します:
サーバーを構成した後、StartServer メソッドを使用してサーバーを起動し、受信リクエストを受け付けることができます。
oClient := TsgcWhatsapp_Client.Create(nil);
oClient.ServerOptions.WebhookOptions.Endpoint := '/webhook';
oClient.ServerOptions.WebhookOptions.Token := 'MySecretToken';
oClient.StartServer();
エンドポイントの準備ができたら、アプリのダッシュボードに移動します。
App Dashboardで、WhatsApp製品を見つけて Configurationをクリックします。次にwebhooksセクションを見つけて Configure a webhookをクリックします。クリック後、画面にダイアログが表示され、2つの項目を尋ねられます:
情報を追加した後、 確認して保存をクリックします。
App Dashboardに戻り、左側のパネルで WhatsApp > Configuration をクリックします。Webhooksの下で、 Manageをクリックします。通知を受け取ることができるすべてのオブジェクトが表示されたダイアログボックスが開きます。ユーザーからメッセージを受信するには、 messages の Subscribeをクリックします。
4. テストメッセージを受信します。
新しいメッセージを受信するたびに、クライアントイベント OnMessageReceived が呼び出されます。
procedure OnMessageReceived(Sender: TObject; const aMessage: TsgcWhatsapp_Receive_Message; var aMarkAsRead: Boolean);
begin
DoLog('Received: ' + aMessage.Messages._Message[0].Id);
end;
Webhookの設定が完了したら、使用したテスト番号にメッセージを送信してください。メッセージの内容が記載されたWebhooks通知がすぐに届くはずです。
WhatsApp API では、過去 24 時間以内に連絡してきていない電話番号に自由形式のテキストメッセージを送信することはできません。開発者アカウント番号に一度もテキストを送ったことのない電話番号に自由形式のテキストメッセージを送信する唯一の方法は、Meta によって事前に承認されたテンプレートを送ることです。自由形式のテキストメッセージのテストでこの制限を回避するには、まず宛先番号から開発者アカウント番号に WhatsApp メッセージを送信してください。その後、24 時間は自由形式のテキストメッセージを送信できます。
OnBeforeSendMessage
このイベントは、メッセージがWhatsAppサーバーに送信される前に呼び出されます。RawMessageパラメータを通じて内部メッセージにアクセスできます。
OnBeforeSubscribe
このイベントはサーバーがトピックをサブスクライブする前に呼び出されます。Accept パラメータを使用してサブスクリプションを許可または拒否します。デフォルトでは、サーバーはリクエストされたすべてのイベントをサブスクライブします。
OnRawMessage
このイベントはサーバーがまだ解析されていない新しいメッセージを受信したときに呼び出されるため、生のメッセージにアクセスできます。
OnMessageReceived
このイベントはサーバーが新しいメッセージを受信して解析した後に呼び出されます。MarkAsRead パラメーターを True に設定すると、送信者はダブルチェックを受け取ります。
OnMessageSent
このイベントは、サーバーが以前に送信したメッセージに関する新しいステータスメッセージを受信するたびに呼び出されます。Status プロパティを読み取り、メッセージが送信済み、配信済み、または既読かどうかを確認します。