WhatsApp 正在升级

WhatsApp Business API,无需 BSP 繁琐流程。

自 API 推出以来,我们便是 Meta 官方商业解决方案提供商。模板审批、会话窗口、媒体、互动消息,全部搞定。每月超过二十亿 WhatsApp 活跃用户,通过一个与其他所有 Bird 渠道一致的单一端点即可触达。

order-shipped.ts
200 · 480ms
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const { data, error } = await bird.whatsapp.send({
  to:       "+15005550009",
  template: "order_shipped",
  locale:   "en_US",
  variables: {
    customer_name:   "Ada",
    order_id:        "BRD-49217",
    tracking_url:    "https://track.bird.dev/49217",
    eta:             "Thursday, May 21",
  },
}).safe();

if (error) throw error;
console.log(data.id);
// → "wa_msg_8nB91Yk3p..."

从 npm install 到首次发送仅需 5 分钟

用您已经在使用的语言发送 WhatsApp 消息。

覆盖所有主流运行时的 SDK。首次发送将发往授权测试收件人 (+15005550009),使用预审批模板,因此您可以在提交第一个模板审批之前就运行 CI 检查。

1
2
3
4
5
6
7
8
9
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const { data, error } = await bird.whatsapp.send({
  to:       "+15005550009",
  template: "hello_world",
  locale:   "en_US",
}).safe();

BSP 门槛隐藏了十件事。我们不会。

WhatsApp 由 Meta 管控。BSP 的选择在于这些管控是出现在您的代码中,还是被隐藏在仪表盘里。我们选择了代码。

  1. 01

    Meta 官方商业解决方案提供商 (BSP)

    自 API 推出以来与 Meta 直接合作。无转售中转,无第三方跳转。

  2. 02

    模板管理

    提交、跟踪审批状态,并在 Meta 批准或拒绝的瞬间收到 webhook 通知。

  3. 03

    会话窗口感知

    SDK 会在发送前告知您当前允许自由格式消息还是模板消息。

  4. 04

    互动消息

    按钮、列表、产品卡片和 WhatsApp Flows,在同一个请求载荷中声明。

  5. 05

    媒体与富内容

    图片、视频、文档、位置、联系人、链接预览、表情回应和回复。

  6. 06

    WhatsApp Flows

    支持后端验证的多步应用内表单,以 JSON 定义,由 Meta 执行。

  7. 07

    点击跳转 WhatsApp 广告

    与 Meta 广告管理工具集成,广告点击直接进入您可以回复的对话。

  8. 08

    跨渠道降级

    在任意发送中添加 fallback: "sms"。会话过期时自动通过 SMS 路由。

  9. 09

    入站消息 webhook

    针对入站消息、已读回执、表情回应和模板状态的 HMAC 签名事件。

  10. 10

    20 亿+用户,一个端点

    超过二十亿月活 WhatsApp 用户,通过一次 bird.whatsapp.send 调用即可触达。

我们为何打造 WhatsApp

我们是最早的 WhatsApp BSP 之一。我们仍是少数与您一起交付代码的 BSP。

WhatsApp 有准入门槛。你需要审批通过的模板;需要用户已授权的会话窗口;需要 Meta 商业认证。这些不会改变,也不打算改变。真正改变的是,你的 BSP 是让这些门槛更容易还是更难跨越——通过在代码中清晰暴露它们,通过可订阅的 webhook,通过能精确说明问题所在的错误信息。我们选择了前者。

order-shipped.ts
200 · 480ms
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const { data, error } = await bird.whatsapp.send({
  to:       "+15005550009",
  template: "order_shipped",
  locale:   "en_US",
  variables: {
    customer_name:   "Ada",
    order_id:        "BRD-49217",
    tracking_url:    "https://track.bird.dev/49217",
    eta:             "Thursday, May 21",
  },
}).safe();

if (error) throw error;
console.log(data.id);
// → "wa_msg_8nB91Yk3p..."

每次状态变更都是一个 webhook。

HMAC 签名载荷,防重放,幂等。所有 Bird 渠道使用相同的信封格式:学会一个,就学会了全部。

POST /webhooks/bird
signed
{
  "type": "whatsapp.read",
  "id":   "evt_7kQ02v...",
  "created_at": "2026-05-19T15:42:08.114Z",
  "data": {
    "wa_msg_id":   "wa_msg_8nB91Yk3p",
    "from":        "+15551234567",
    "to":          "+15005550009",
    "conversation_id": "wa_conv_3pX1g7t",
    "template":    "order_shipped",
    "delivered_at": "2026-05-19T15:42:01.802Z",
    "read_at":      "2026-05-19T15:42:08.020Z"
  }
}

重试计划:5 秒、30 秒、5 分钟、30 分钟、2 小时、6 小时、12 小时。最终尝试失败后进入死信队列;每个死信事件均可通过仪表盘或 API 重新投递。

  • whatsapp.queued已被 API 接受并排队等待发送至 Meta。
  • whatsapp.sent已交付至 Meta Cloud API。
  • whatsapp.deliveredMeta 报告消息已送达收件人设备。
  • whatsapp.read收件人已打开消息(如果已读回执已开启)。
  • whatsapp.failed永久失败:原因代码包含在载荷中。
  • whatsapp.received来自 24 小时会话窗口内用户的入站消息。
  • whatsapp.template.approvedMeta 已批准您提交的模板。
  • whatsapp.template.rejectedMeta 拒绝了模板:拒绝原因包含在载荷中。

降级到 SMS 只需一个属性,而非第二个集成。

如果 WhatsApp 无法送达——会话过期、收件人未选择加入、模板尚未获批——Bird 会在同一请求中通过 SMS 路由相同的消息。相同的认证、相同的幂等性契约、另一端相同的 webhook 格式。

WhatsApp 带 SMS 降级。

whatsapp + fallback
await bird.whatsapp.send({
  to:       "+15005550009",
  template: "order_shipped",
  variables: { order_id: "BRD-49217" },
  fallback: "sms",
});

一个载荷,一次认证。会话过期、授权缺失、未审批模板:全部自动通过 SMS 路由。

直接 SMS。

sms
await bird.sms.send({
  from:     "Bird",
  to:       "+15005550006",
  text:     `Your order BRD-49217 has shipped.`,
  category: "transactional",
});

相同的线路,直接寻址。当您需要明确走 SMS 路径时使用。

每条消息一个价格,已包含 Meta 费用。

按用量计费。每个价格都把 Meta 的费用和我们的费用合为一个数字,并随目标国家/地区和消息类别变化。没有按席位收费,也没有需要年度承诺才能使用的功能。

从一个渠道开始。
准备好后,再添加其他渠道。

测试 API 密钥即刻可用。添加支付方式并验证发送者身份后,即可解锁生产环境。

正在使用 Claude Code、Cursor 或 Codex?复制一条设置提示,您的智能代理即可自动安装 Bird CLI 和相关技能。选择您的工具:

Cursor