sgcWebSockets 2022.6.0 から、.NET 向け WhatsApp Cloud API がサポートされました。
WhatsApp Business Platform のクラウドホスト版を使用してメッセージを送受信できます。Cloud API を使用すると、自社サーバーのホスティングコストなしに WhatsApp Business API を実装でき、ビジネスメッセージングのスケールアップも容易になります。Cloud API は、テキストおよびメディアメッセージを含む送受信合計で最大 80 メッセージ/秒をサポートします。
WhatsApp Business API を使用すると、中規模・大規模企業が顧客と大規模にコミュニケーションできます。API を活用して、数千の顧客をエージェントやボットに接続するシステムを構築し、プログラマティックおよび手動の通信を両立できます。さらに、CRM やマーケティングプラットフォームなど多数のバックエンドシステムとの統合も可能です。
機能
Cloud API ではすべての新機能をいち早く利用できます。現在、WhatsApp Business Cloud API は WhatsApp Business API で利用可能なすべての機能を備えています。
WhatsApp Cloud API の主な機能:
- CRM・アナリティクス・サードパーティアプリなどのツールと WhatsApp メッセージングを統合
- グリーンチェック(認証済み WhatsApp Business プロファイル)
- WhatsApp ブロードキャスト&一括メッセージング
- アプリ・インターフェース不要。BSP または CRM 経由で利用
- サードパーティアプリを使用した WhatsApp チャットボット&チャット自動化
- 大規模な WhatsApp メッセージのスケジュール配信
- インタラクティブメッセージング機能(リストメッセージ・返信ボタン・CTA メッセージ)
はじめに
テスト番号を使用して最初のメッセージを送受信するには、以下の手順を完了してください。
1. 開発者アセットとプラットフォームアクセスの設定
- Meta デベロッパーとして登録
- アカウントの二要素認証を有効化
- Meta アプリの作成:developers.facebook.com > マイアプリ > アプリを作成 に移動し、「ビジネス」タイプを選択して画面の指示に従います。
App Dashboard でWhatsApp に接続するアプリをクリックし、下にスクロールして「WhatsApp」製品を見つけ、設定をクリックします。
次に、既存の Business Manager を選択するか(ある場合)、またはオンボーディングプロセスで自動作成するかを選択できます(後でカスタマイズ可能)。選択後、続行をクリックします。
続行をクリックすると、オンボーディングプロセスが以下のアクションを実行します:
- 選択または自動作成された Business Manager にアプリが関連付けられます。
- WhatsApp テスト電話番号がビジネスに追加されます。このテスト番号を使用して、実際の電話番号を登録・移行せずに WhatsApp Business Platform を試せます。テスト番号は世界中の最大 5 人の受信者に無制限のメッセージを送信できます。
2. テストメッセージの送信
IDE を開いて新しいプロジェクトを作成します。TsgcWhatsapp_Client コンポーネントをドロップし、以下のプロパティを設定します:
- WhatsappOptions.PhoneNumberId: メッセージ送信に使用する電話番号の ID。
- WhatsappOptions.Token: 24 時間有効な一時アクセストークン。
この 2 つのプロパティを設定したら、SendTest メソッドを呼び出して WhatsApp Business Platform を使用して電話番号に最初のメッセージを送信します。
TsgcWhatsapp_Client oClient = new TsgcWhatsapp_Client();
oClient.WhatsappOptions.PhoneNumberId = "107809351952205";
oClient.WhatsappOptions.Token = "EAAO4OpgZAs98BAGj3nCFGr...ZB2t8mmLB2LRXJkte2Y5PMNh2";
oClient.SendTest("34605889421");
3. Webhook の設定
メッセージを受信したときやメッセージのステータスが変更されたときに通知を受けるには、アプリの Webhook エンドポイントを設定する必要があります。Webhook の設定は電話番号のステータスに影響せず、メッセージの送受信を妨げません。
まずエンドポイントを作成するため、WhatsApp Client コンポーネントの ServerOptions プロパティを設定します:
- ServerOptions:バインドする IP アドレス、リスニングポート、SSL の使用有無を設定します(WebHook はセキュアサーバーで動作する必要があります。サーバーで SSL を設定するか、WebHook リクエストを非 HTTPS サーバーにプロキシできます)。サーバーは TsgcWebSocketHTTPServer をベースにしています。
- WebhookOptions:後で Facebook デベロッパーアカウントで設定する Webhook プロパティを設定します。
- Endpoint:エンドポイント名。デフォルトは /webhook。例:サーバーが https://www.esegece.com でリッスンしている場合、エンドポイントは "https://www.esegece.com/webhook" になります。
- Token:任意の値を設定できるセキュリティ文字列。Webhook 登録が正しいことを確認するために使用されます。
- WebhookOptions:後で Facebook デベロッパーアカウントで設定する Webhook プロパティを設定します。
サーバーを設定したら、StartServer メソッドを使用してサーバーを起動し、受信リクエストを受け付けます。
TsgcWhatsapp_Client oClient = TsgcWhatsapp_Client.Create(); oClient.ServerOptions.WebhookOptions.Endpoint = "/webhook"; oClient.ServerOptions.WebhookOptions.Token = "MySecretToken"; oClient.StartServer();
エンドポイントの準備ができたら、App Dashboard に移動します。
App Dashboard で WhatsApp 製品を見つけ、設定をクリックします。次に Webhook セクションを見つけ、Webhook を設定をクリックします。クリック後、ダイアログが表示され 2 つの情報を求められます:
- コールバック URL:Meta がイベントを送信する URL。
- 確認トークン:Webhook エンドポイント作成時に自分で設定する文字列。
情報を入力したら、確認して保存をクリックします。
App Dashboard に戻り、左側パネルで WhatsApp > 設定をクリックします。Webhook の下で管理をクリックします。通知可能なすべてのオブジェクトを含むダイアログが開きます。ユーザーからのメッセージを受信するには、messages のサブスクライブをクリックします。
4. テストメッセージの受信
新しいメッセージを受信するたびに、クライアントイベント OnMessageReceived が呼び出されます。
void OnWhatsAppMessageReceived(TsgcWhatsApp_Client Sender, TsgcWhatsApp_Receive_Message Message, ref bool MarkAsRead)
{
DoLog("Message Received: [" + Message.From + "] " + Message.Text);
MarkAsRead = true;
}
Webhook が設定されたので、使用したテスト番号にメッセージを送信してください。メッセージの内容を含む Webhook 通知がすぐに届くはずです!
以下にパブリックオンライン WhatsApp Bot デモを示します。任意のテキストメッセージを送信してください。
WhatsApp Bot
sgcWebSockets ライブラリで構築。任意のテキストメッセージを送信すると、ボットがオプション一覧を表示するかメッセージをエコー返信します。 https://www.esegece.com/demo/whatsapp以下に Windows 向けコンパイル済み WhatsApp デモを示します。
