如何使用 WhatsApp Cloud API 构建企业级聊天机器人

通过集成 Meta 官方的 WhatsApp Business Cloud API,开发者可以构建专业的自动化客服系统,支持多种交互消息、安全的回调机制以及基于 AI 的对话流。

为什么需要这个技能

在企业级沟通中,WhatsApp 是全球最主流的触达工具。传统的个人账号无法支撑高并发的自动化需求,且容易被封号。

使用官方 Cloud API 能够提供稳定的发送通道、合规的模板消息机制以及强大的 Webhook 实时接收能力。无论是发送订单通知(Utility)、营销推广(Marketing)还是构建 AI 客服(Service),都需要掌握 Graph API 的调用规范和安全验证机制。

适用场景

  • 自动化通知:发送订单确认、验证码(OTP)或预约提醒。
  • 智能客服:结合 Claude 或 GPT 等 AI 模型,通过 Webhook 实时响应用户咨询。
  • 交互式营销:利用按钮(Buttons)或列表(Lists)引导用户选择产品。
  • 复杂表单采集:使用 WhatsApp Flows 在对话界面内完成预约或注册。

核心工作流

1. 环境配置与初始化

首先需要在 Meta for Developers 创建应用并获取 System User Token。配置基础环境变量:

WHATSAPP_TOKEN=your_access_token
PHONE_NUMBER_ID=your_phone_number_id
APP_SECRET=your_app_secret
VERIFY_TOKEN=your_custom_verify_token

2. 发送消息

根据 24 小时会话窗口规则,区分发送类型:

  • 会话内消息:用户在 24h 内发过消息,可发送任意文本、媒体或交互按钮。
  • 会话外消息:必须使用经 Meta 审核通过的 Template Message

Python 示例:发送简单文本

import httpx
import os

GRAPH_API = "https://graph.facebook.com/v21.0"

async def send_text(to: str, message: str) -> dict:
    async with httpx.AsyncClient() as client:
        response = await client.post(
            f"{GRAPH_API}/{os.environ['PHONE_NUMBER_ID']}/messages",
            json={
                "messaging_product": "whatsapp",
                "to": to,
                "type": "text",
                "text": {"body": message}
            },
            headers={"Authorization": f"Bearer {os.environ['WHATSAPP_TOKEN']}"}
        )
        return response.json()

3. 实现安全 Webhook

为了接收用户消息,必须实现一个 HTTPS 端点。Meta 会通过 GET 请求验证端点,通过 POST 请求推送数据。必须使用 HMAC-SHA256 校验签名以防止伪造请求。

Node.js 签名验证示例:

import crypto from 'crypto';

function validateSignature(rawBody: Buffer, signature: string): boolean {
  const expectedSig = crypto
    .createHmac('sha256', process.env.APP_SECRET!)
    .update(rawBody)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(`sha256=${expectedSig}`),
    Buffer.from(signature)
  );
}

下载和安装

下载 whatsapp-cloud-api 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐