从 sgcWebSockets 2022.6.0 起,.NET 支持 WhatsApp Cloud API。
通过云托管版本的 WhatsApp Business Platform 收发消息。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 的实用功能:
- 将 WhatsApp 消息与 CRM、分析工具及第三方应用集成
- 绿色认证标,经认证的 WhatsApp Business 主页
- WhatsApp 广播和批量消息发送
- 无需应用或界面,通过 BSP 或 CRM 使用
- WhatsApp 聊天机器人及通过第三方应用实现的聊天自动化
- 大规模定时发送 WhatsApp 消息
- 互动消息功能,包括列表消息、快速回复按钮、CTA 消息
快速开始
要使用测试号码收发第一条消息,请完成以下步骤:
1. 配置开发者资产和平台访问权限
- 注册为 Meta 开发者
- 为您的账户启用双重身份验证
- 创建 Meta 应用:前往 developers.facebook.com > 我的应用 > 创建应用,选择"企业"类型并按照屏幕提示操作。
在应用控制台中,点击要连接到 WhatsApp 的应用,向下滚动找到"WhatsApp"产品,然后点击设置。
接下来,您可以选择现有的 Business Manager(如果有),或让入门流程自动创建一个(日后可按需自定义)。选择后点击继续。
点击继续后,入门流程将执行以下操作:
- 您的应用将与所选或自动创建的 Business Manager 关联。
- 系统将向您的企业添加一个 WhatsApp 测试电话号码。您可以使用该测试号码探索 WhatsApp Business Platform,无需注册或迁移真实电话号码。测试电话号码可向最多 5 位收件人(可位于全球任何地方)发送无限量消息。
2. 发送测试消息
现在,打开您的 IDE 并创建一个新项目。放置一个 TsgcWhatsapp_Client 组件,并填写以下属性:
- WhatsappOptions.PhoneNumberId:用于发送消息的电话号码 ID。
- WhatsappOptions.Token:有效期为 24 小时的临时访问令牌。
正确配置上述两个属性后,调用方法 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();
端点就绪后,前往您的应用控制台。
在应用控制台中,找到 WhatsApp 产品并点击配置,找到 Webhook 部分并点击配置 Webhook。点击后会弹出一个对话框,要求填写两项内容:
- 回调 URL:Meta 将向此 URL 发送事件通知。
- 验证令牌:此字符串由您在创建 Webhook 端点时自行设定。
填写完成后,点击验证并保存。
返回应用控制台,在左侧面板点击 WhatsApp > 配置。在 Webhook 下方点击管理,弹出的对话框中列出了所有可接收通知的对象类型。要接收用户消息,请点击消息旁边的订阅。
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 机器人演示,发送任意文本消息即可开始体验。
WhatsApp 机器人
使用 sgcWebSockets 库构建,发送任意文本消息,机器人将显示选项列表或复读您的消息。 https://www.esegece.com/demo/whatsapp以下提供 Windows 编译版 WhatsApp 演示,可供下载。
