WhatsApp Cloud API

Whatsapp

 

发送接收消息,使用云托管版本的 WhatsApp Business 平台Cloud API 让您无需自行托管服务器即可实现 WhatsApp Business API,同时更轻松地扩展您的商业消息能力。Cloud API 支持每秒最多 80 条消息的综合收发(包括文本和媒体消息)。

 

WhatsApp Business API 允许中大型企业与其客户进行大规模沟通。通过该 API,企业可以构建将数千名客户与客服代表或机器人相连的系统,支持程序化和手动两种通信方式。此外,您还可以将该 API 与 CRM 和营销平台等众多后端系统集成。

 

功能特性

企业将通过 Cloud API 更快获得所有新功能。目前,WhatsApp Business Cloud API 包含 WhatsApp Business API 所有可用功能。

 

WhatsApp Cloud API 的实用功能:

 

 

最常见的用途

 

 

 

开始使用

要使用测试号码发送和接收第一条消息,请完成以下步骤:

 

1. 设置开发者资产和平台访问权限

 

 

在应用仪表板中,点击您希望连接到 WhatsApp 的应用。向下滚动找到"WhatsApp"产品,然后点击 设置

 

接下来,您将看到选择现有 Business Manager 的选项(如果您有的话),或者,如果您愿意,入驻流程也可以自动为您创建一个(您可以在之后对业务进行自定义)。做出选择后,点击 继续

 

当您点击 继续时,引导流程将执行以下操作:

 

 

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();

端点准备好后,请前往您的应用控制台。

 

在您的应用程序仪表板中,找到 WhatsApp 产品并单击 Configuration。然后,找到 Webhooks 部分并单击 Configure a webhook。单击后,屏幕上将出现一个对话框,要求您提供两项内容:

 

 

添加信息后,点击 验证并保存

 

回到应用程序仪表板,在左侧面板中点击 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 已设置完毕,向您使用的测试号码发送一条消息。您应该立即收到包含消息内容的 Webhook 通知!

 

 

WhatsApp API 不允许向从未联系过您(最近 24 小时内)的手机发送自由文本消息。向从未向您的开发者账号发送过 WhatsApp 消息的手机发送文本消息的唯一方式,是发送模板消息(须经 Meta 预先批准)。若要在测试中绕过此限制以发送自由文本消息,请先从目标手机向您的开发者账号发送一条 WhatsApp 消息,之后即可在 24 小时内发送自由文本消息。

 

事件

OnBeforeSendMessage

 

此事件在消息发送到 WhatsApp 服务器之前调用。您可以通过 RawMessage 参数访问内部消息。

 

OnBeforeSubscribe

 

此事件在服务器订阅主题之前调用。使用 Accept 参数允许或拒绝订阅。默认情况下,服务器将订阅所有请求的事件。

 

OnRawMessage

 

当服务器收到尚未解析的新消息时调用此事件,因此您可以访问原始消息。

 

OnMessageReceived

 

此事件在服务器接收并解析新消息后调用。如果将 MarkAsRead 参数设置为 True,发送方将收到双勾确认。

 

OnMessageSent

 

每次服务器收到关于之前已发送消息的新状态消息时,都会调用此事件。读取 Status 属性可了解消息是否已发送、已送达或已读。