WhatsApp Cloud API クライアント — sgcWebSockets | eSeGeCe

WhatsApp Cloud API

Delphi / C++Builder から WhatsApp Cloud API を介してテンプレート、テキスト、メディア、インタラクティブメッセージを送信できます。受信イベント用の組み込み HTTPS Webhook リスナーも備えています。

TsgcWhatsApp_Client

WhatsApp Business Cloud API 向けの Delphi / C++Builder クライアントです。HTTPS でメッセージを送信し、配信およびステータスイベント用の Webhook エンドポイントをホストします。

コンポーネントクラス

TsgcWhatsApp_Client

プロトコル

WhatsApp Cloud API

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Standard / Professional / Enterprise

トークンを設定し、メッセージを送信し、Webhook をホストする

WhatsAppOptions.Token と PhoneNumberId を設定し、SendMessage... メソッドを呼び出して送信します。続けて StartServer を実行し、OnMessageReceived をフックすることで返信を受信できます。

uses
  sgcLibs;

var
  WhatsApp: TsgcWhatsApp_Client;
begin
  WhatsApp := TsgcWhatsApp_Client.Create(nil);
  WhatsApp.WhatsAppOptions.PhoneNumberId := '123456789012345';
  WhatsApp.WhatsAppOptions.Token := 'EAAG...';

  WhatsApp.SendMessageText('+34666555444', 'hello from Delphi');

  WhatsApp.OnMessageReceived := WhatsAppMessageReceived;
  WhatsApp.StartServer;
end;

procedure TForm1.WhatsAppMessageReceived(Sender: TObject;
  const aMessage: TsgcWhatsApp_Receive_Message;
  var aMarkAsRead: Boolean);
begin
  Memo1.Lines.Add(aMessage.RawMessage);
  aMarkAsRead := True;
end;
// include: sgcLibs.hpp

TsgcWhatsApp_Client *WhatsApp = new TsgcWhatsApp_Client(this);
WhatsApp->WhatsAppOptions->PhoneNumberId = "123456789012345";
WhatsApp->WhatsAppOptions->Token = "EAAG...";

WhatsApp->SendMessageText("+34666555444", "hello from Delphi");

WhatsApp->OnMessageReceived = WhatsAppMessageReceived;
WhatsApp->StartServer();

void __fastcall TForm1::WhatsAppMessageReceived(TObject *Sender,
    TsgcWhatsApp_Receive_Message * const aMessage, bool &aMarkAsRead)
{
  Memo1->Lines->Add(aMessage->RawMessage);
  aMarkAsRead = true;
}

主な構成

HTTPS Cloud API クライアントと組み込みの Webhook HTTPS サーバーを組み合わせ、単一の Delphi プロセスで送受信トラフィックの両方を処理できます。

メッセージ送信

SendMessageTextSendMessageTemplateSendMessageImage / Document / Audio / VideoSendMessageInteractiveListSendMessageInteractiveButtonsSendMessageLocationSendMessageContact が Cloud API の主要なコンテンツタイプを網羅します。

Webhook リスナー

コンポーネントは組み込みの HTTPS サーバー(StartServer / StopServerServerOptions で設定)を自ら起動し、Meta が要求する検証および配信用 Webhook をホストします。OnMessageReceivedOnMessageSent が型付きイベントを配信し、OnRawMessage は加工前の JSON をそのまま公開します。

認証

WhatsAppOptions.Token による OAuth Bearer 認証を行います。Webhook 検証ハンドシェイクは ServerOptions.WebhookOptions.Token に対して自動的に照合され、さらに OnBeforeSubscribe でアプリ側がサブスクリプションを承認または拒否する最終判断を行えます。

テンプレートパラメーター

SendMessageTemplate は名前付き / 位置パラメーターおよび言語コードを受け付け、コンポーネントが Meta の要求する型付き構造を構築します。

メディアアップロード

SendFileImageSendFileDocumentSendFileAudioSendFileVideoSendFileSticker にローカルファイルパスを渡して呼び出すと、コンポーネントが UploadMedia を通じてアップロードし、返された media-id を自動的に参照します。DownloadMediaDeleteMedia は、すでに Meta のサーバー上にあるアセットを管理します。

TLS で保護された Webhook

受信用 Webhook には ServerOptions.SSLOptions を設定してください。Meta は Webhook が TLS 経由で到達可能であることを要求します。トップレベルの TLSOptions は、Graph API への送信用 HTTPS 呼び出しを別途カバーします。

仕様とリファレンス

本コンポーネントが実装する API の信頼できる一次情報源です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、体験版のダウンロードを提供します。

オンラインヘルプ — API_Whatsapp 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。
デモプロジェクト — Demos\50.Other\05.WhatsApp すぐに実行可能なサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。以下から体験版をダウンロードしてください。
技術ドキュメント (PDF) 本コンポーネントに特化した機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次情報源リファレンスを収録しています。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

WhatsApp メッセージを送信する準備はできましたか?

体験版をダウンロードして、WhatsApp Cloud API を Delphi アプリケーションに統合しましょう。