WhatsApp 云 API
从 Delphi/C++ Builder 通过 WhatsApp 云 API 发送模板、文本、媒体和交互式消息。内置 HTTPS Webhook 监听器用于接收入站事件。
从 Delphi/C++ Builder 通过 WhatsApp 云 API 发送模板、文本、媒体和交互式消息。内置 HTTPS Webhook 监听器用于接收入站事件。
WhatsApp 商业云 API 的 Delphi/C++ Builder 客户端。通过 HTTPS 发送消息,托管 Webhook 端点以接收送达和状态事件。
TsgcWhatsApp_Client
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
设置 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 云 API 客户端与内置 Webhook HTTPS 服务器结合,使单个 Delphi 进程处理出站和入站流量。
SendMessageText、SendMessageTemplate、SendMessageImage/Document/Audio/Video、SendMessageInteractiveList、SendMessageInteractiveButtons、SendMessageLocation 和 SendMessageContact 涵盖主要的云 API 内容类型。
组件启动自带的嵌入式 HTTPS 服务器(StartServer/StopServer,通过 ServerOptions 配置),用于托管 Meta 所需的验证与送达 webhook。OnMessageReceived 和 OnMessageSent 传递类型化事件,OnRawMessage 则暴露未经处理的原始 JSON。
通过 WhatsAppOptions.Token 进行 OAuth Bearer 身份验证;webhook 验证握手会自动与 ServerOptions.WebhookOptions.Token 进行比对,OnBeforeSubscribe 则让您的应用再有一次机会接受或拒绝该订阅。
SendMessageTemplate 接受命名/位置参数和语言代码,组件会构建 Meta 所需的类型化结构。
使用本地文件路径调用 SendFileImage、SendFileDocument、SendFileAudio、SendFileVideo 或 SendFileSticker,组件会通过 UploadMedia 自动上传该文件,并自动引用返回的 media id。DownloadMedia 和 DeleteMedia 用于管理已存放在 Meta 服务器上的媒体资源。
为入站 webhook 配置 ServerOptions.SSLOptions——Meta 要求 Webhook 必须可通过 TLS 访问。顶层的 TLSOptions 则单独负责处理对 Graph API 的出站 HTTPS 调用。
本组件实现的 API 的权威来源。