Bird vs Bandwidth

Bird vs Bandwidth:SMS 对比

Bird 是一个 AI 代理可以端到端操作的 SMS 平台:发送消息、确认送达、注册您的 10DLC 品牌。每一项都是 Bird 托管 MCP 服务器上的工具,代理连接后即可使用。Bandwidth 将通道一分为二:发送在一台主机上,10DLC 注册在另一台主机上,各有独立的账户路径。在 Bird,发送、注册和送达事件统一在一台主机和一个密钥下。

数据一览

Bird

SMS 覆盖范围

190+ countries

运营商线路

240 条直连线路

送达速度

95% 在 2.5 秒内送达

Bandwidth 的优势所在。
Bird 的不同之处。

Bandwidth 的优势所在

They are the carrier. Bandwidth is a licensed US carrier (CLEC) that owns and operates its own 48-state network, with emergency services beside it, which is why their own hero names Voice, Messaging and Emergency together.

支持更多语言的辅助库。 官方 SDK 覆盖 Java、Node.js、Python、PHP、C# 和 Ruby。使用 Java 或 Ruby 的团队需要直接调用 Bird 的 HTTP API。

Bird 的不同之处

代理可以直接操作账户。 托管在 mcp.bird.com 的 MCP 服务器为代理提供工具,可发送 SMS、读取送达状态以及在您的真实工作区中注册 10DLC 品牌。

重试不会重复发送。 发送时附带 Idempotency-Key 头即可确保重试安全;Bandwidth 的消息 OpenAPI 规范中没有任何幂等字段或头。

消息意图是一等字段。 每条自由文本消息都携带类别:事务性、营销、认证或服务,而 Bandwidth 的发送接口没有对应字段。

对比矩阵

逐项能力对比。

Bandwidth 提供更多语言的辅助库。Bird 在单一主机承载整个通道、安全重试、消息意图以及任何 MCP 客户端可触达的代理接口方面胜出。两者在发送请求格式、10DLC 注册和送达事件方面相当。以上对比均基于当前最新信息。

CapabilityBirdBandwidthWho wins?
发送请求以 JSON 格式发送至区域主机上的 /v1/sms/messages,使用 Bearer API 密钥认证。以 JSON 格式发送至其消息主机上账户路径下的 messages 端点,包含 from、to 和 text 字段,通过 HTTP Basic 认证并携带 applicationId。
安全重试发送时附带 Idempotency-Key 头即可确保重试安全。其消息 OpenAPI 规范(4.3.0 版本)中没有任何幂等字段或头,因此超时后重试可能导致重复发送。
消息意图每条自由文本消息都携带类别:事务性、营销、认证或服务。tag 携带自由格式标签,priority 设置送达优先级,但两者都不声明消息发送的目的。
托管 MCP 服务器使用您自己的代理。mcp.bird.com 是托管服务,Claude Code、Cursor、ChatGPT 或您自己的运行时只需登录一次即可使用相同的工具操作工作区。Bandwidth 发布了 MCP 服务器,其工具也能操作账户。但它是需要下载并在本地运行的包,客户端必须将其作为本地进程启动,且从本地配置中读取您的生产凭据。
A2P 10DLC 注册/v1/sms/10dlc/* 通过 API 注册品牌和活动。其活动管理 API 可注册品牌和活动,支持品牌审核和活动导入,作为 Campaign Registry 的直接合作伙伴。
整个渠道共用一个主机发送、10DLC 注册和投递事件共享同一个基础 URL 和密钥。发送在其消息主机上,注册在其主 API 主机上,各自有独立的账户路径,因此客户端需要维护两个根地址。
投递事件工作区 Webhook 订阅您指定的 SMS 事件类型,如 sms.sent、sms.delivered 和 sms.failed,以符合 Standard Webhooks 规范签名的 JSON 格式投递。回调在消息指定的 Application 上配置,而非按每次发送配置。
SDK 语言提供 TypeScript、Python、Go 和 PHP 的类型化 SDK,以及 Swift、Kotlin 和浏览器端的 Realtime 客户端。提供 Java、Node.js、Python、PHP、C# 和 Ruby 的官方 SDK。

相同的发送方式

发送调用的结构相似。

发送一条 SMS。两者都接受包含 from、to 和 text 的 JSON,但 Bandwidth 使用 HTTP Basic 认证,且发送时需指定一个承载回调配置的 applicationId。其辅助库会抛出异常,因此常规路径需要 try/catch。Bird 返回可解构的类型化结果,而 category 是 Bandwidth 没有对应项的字段:Bird 的每条自由文本发送都需声明其意图。

Bandwidth

send.ts
import { Configuration, MessagesApi } from "bandwidth-sdk";

const config = new Configuration({
  clientId:     process.env.BW_CLIENT_ID!,
  clientSecret: process.env.BW_CLIENT_SECRET!,
});
const messagesApi = new MessagesApi(config);

try {
  const response = await messagesApi.createMessage(process.env.BW_ACCOUNT_ID!, {
    applicationId: process.env.BW_APPLICATION_ID!,
    from: "+15557654321",
    to:   ["+15551234567"],
    text: "Your table is ready.",
  });
  console.log(response.data);
} catch (err) {
  console.error(err);
}

Bird

send.ts
import { BirdClient } from "@messagebird/sdk";

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

const { data, error } = await bird.sms
  .send({
    from:     "+15557654321",
    to:       "+15551234567",
    text:     "Your table is ready.",
    category: "transactional",
  })
  .safe();

if (error) console.error(error.message);
else console.log(data.id, data.status);

各国 SMS 费用是多少?

每个目的地国家/地区都有公布的费率,详见 SMS 定价页面,运营商和 10DLC 费用在 SMS 运营商费用 中单独列出,而非混入其中。您无需联系任何人即可预估活动成本。

迁移成本

低。

字段名称可直接沿用。Bandwidth 已经将它们称为 from、to 和 text,而承载回调的 Application 变为订阅 sms.sent、sms.delivered 和 sms.failed 的工作区 Webhook。两处变化:Bearer 密钥替代 HTTP Basic 认证,一个主机替代两个。

有两项属于排期而非工程范畴。您的 10DLC 品牌和活动是通过 Bandwidth 在 The Campaign Registry 注册的,因此需要通过 Bird 重新提交同一注册;您在 Bandwidth 拥有的号码按支持团队的排期进行携号转网。尽早启动这两项,它们可以与代码变更同步进行。

大家真正关心的问题

Bird 是否是 Bandwidth 的良好 SMS 替代方案?
For most application-to-person SMS, yes: Bird sends to 190+ countries over 240 direct-to-carrier connections, registers 10DLC brands and campaigns over the same API and key as the send, and makes retries safe with an Idempotency-Key header that their messaging specification does not contain. Bandwidth remains the better pick where you want a helper library in a language Bird does not ship, or where you need a licensed carrier that also runs emergency services.
发送调用有多大差异?
字段可以沿用,结构有所不同。两者都接受 JSON,from、to 和 text 在两边名称相同,但 Bandwidth 使用 HTTP Basic 认证,且将发送和注册分布在两个主机上。Bird 端真正新增的两项是:category——声明消息属于事务性、营销、认证还是服务类型;以及确保重试安全的 Idempotency-Key 请求头。
代理在我的账户中实际能做什么?
仅限您委托的权限,不多不少。通过浏览器 OAuth 登录后会打开 Bird 授权同意页面,您可以选择工作区或组织权限,并决定委托哪些权限。授权范围取决于客户端请求的、您批准的以及您实际拥有的权限的交集,且 org:owner 和 platform-admin 权限范围永远不可委托。授权记录列在您个人资料的
Bird 和 Bandwidth 都支持通过 API 进行 A2P 10DLC 注册吗?
两者都支持,差异在于结构而非能力。Bandwidth 通过其主 API 主机上的活动管理 API 注册品牌和活动,而发送在单独的消息主机上。Bird 将 /v1/sms/10dlc/* 和 /v1/sms/messages 放在同一个基础 URL 和同一个密钥下。无论哪种方式,注册都提交到 The Campaign Registry,且不可在提供商之间转移。
Bird SMS 各国费用是多少?
每个目的地国家/地区在 Bird 的 SMS 定价页面上都有公布的出站费率,运营商和 10DLC 费用单独列出而非混入其中,因此您无需销售沟通即可自行估算活动成本。

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

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

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

Cursor