Bird vs Infobip

Bird 与 Infobip 的 SMS 对比

Infobip 的发送请求是为批量场景设计的,而每条消息都要承担这种结构的代价:给一个人发一条 SMS,仍然需要传入一个消息数组,每个消息包含一个目标数组,消息文本嵌套在 content.text 的两层之下。Bird 只需要 from、to 和 text。

关键数据

Bird

SMS 覆盖范围

190+ countries

运营商线路

240 条直连线路

投递速度

95% 在 2.5 秒内送达

Infobip 的优势所在。
Bird 的差异化所在。

Infobip 的优势所在

与我们同样可触达的代理接口。Infobip 通过 HTTP 运行十五个远程 MCP 服务器,使用 API 密钥或带范围发现的 OAuth 2.1 进行认证。按产品拆分使每个服务器的工具列表保持精简,这确实有助于代理选择正确的工具。

Java 和 C#,而 Bird 不提供这两种语言的服务端 SDK。他们维护的五个 API 客户端分别是 Java、C#、PHP、Go 和 Python。Java 或 .NET 团队在那里能获得更好的支持,也可以直接调用 Bird 的 HTTP API。

可按消息级别调节的投递报告。每条消息可指定自己的 webhook、选择 JSON 或 XML 格式,并可附加最多 4000 个字符的回调数据,这些数据会随报告一起返回。

Bird 的差异化所在

用 Web 主流语言编写的类型化 SDK。Bird 提供官方 TypeScript SDK。Infobip 的 Node 客户端位于一个独立的社区组织中,版本仍停留在 0.3.2,最后一次发布是在 2023 年 11 月。

不会重复发送的安全重试。在发送请求中附加 Idempotency-Key 头即可确保重试安全。Infobip 自动生成的 API 客户端在任何端点上都不携带幂等键。

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

对比矩阵

逐项功能对比。

这是所有对比中最接近的一组。Infobip 在代理接口、单一主机覆盖整个通道、通过 API 注册 10DLC 以及投递事件方面与 Bird 持平,并且提供了 Bird 没有的两种语言的客户端库。Bird 在安全重试、消息意图和维护中的 TypeScript SDK 方面胜出。两种评估在当前均属准确。

CapabilityBirdInfobipWho wins?
发送请求向区域主机上的 /v1/sms/messages 发送 JSON,使用 Bearer API 密钥认证。向其 API 主机上的版本化消息端点发送 JSON,使用 App 密钥认证。请求体以批量为先:一个消息数组,每个消息包含一个目标数组,文本内容嵌套在 content 之下。
安全重试在发送请求中附加 Idempotency-Key 头即可确保重试安全。他们基于自有规范生成的 API 客户端在任何端点上都不携带幂等键或头,因此超时后的重试可能导致重复发送。
消息意图每次自由文本发送都会携带一个类别:事务性、营销、认证或服务。消息选项涵盖有效期、投递窗口、闪信和区域设置,但没有任何选项声明消息用途。campaignReferenceId 在字段列表中容易被误认为用途声明,但 Infobip 将其定义为用于追踪营销活动效果的 ID。
托管 MCP 服务器一个托管服务器位于 mcp.bird.com。Claude Code、Cursor、ChatGPT 或您自己的运行时只需登录一次,即可使用相同的工具操作整个工作区。十五个通过 HTTP 连接的远程服务器,按产品拆分,使用 API 密钥或带范围发现的 OAuth 2.1 认证。要覆盖 SMS、注册和账户管理,需要接入其中三个服务器,而每个服务器的工具列表保持精简。
A2P 10DLC 注册/v1/sms/10dlc/* 通过 API 注册品牌和活动。品牌和活动通过号码注册 API 或引导式门户进行注册,提交至 The Campaign Registry 之前需经过合规审核。
一个主机,覆盖整个渠道发送、10DLC 注册和投递事件共享同一个基础 URL 和密钥。每个账户一个个性化基础 URL,服务于所有产品。发送和号码注册都是其下的路径,其 API 客户端没有定义按操作区分的主机覆盖。
投递事件工作区 webhook 订阅您指定的 SMS 事件类型,如 sms.sent、sms.delivered 和 sms.failed,以符合 Standard Webhooks 规范签名的 JSON 格式投递。每条消息指定自己的 webhook,可选择 JSON 或 XML,并可附加最多 4000 个字符的回调数据,这些数据会随报告返回。报告也可以主动拉取。
SDK 语言提供 TypeScript、Python、Go 和 PHP 的类型化 SDK,以及 Swift、Kotlin 和浏览器端的实时客户端。五个维护中的 API 客户端:Java、C#、PHP、Go 和 Python。Node 客户端在一个独立的社区组织中,版本为 0.3.2,最后一次发布是 2023 年 11 月。

同样的发送

一条消息,三层嵌套。

发送一条 SMS。Infobip 面板使用的是原生 fetch 而非其 SDK,因为其五个维护中的客户端是 Java、C#、PHP、Go 和 Python:TypeScript 代码库需要手动编写此请求。Bird 返回可解构的类型化结果,category 是 Infobip 没有对应字段的那个。

Infobip

send.ts
const response = await fetch("https://api.infobip.com/sms/3/messages", {
  method: "POST",
  headers: {
    Authorization: `App ${process.env.INFOBIP_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    messages: [
      {
        sender: "+15557654321",
        destinations: [{ to: "+15551234567" }],
        content: { text: "Your table is ready." },
      },
    ],
  }),
});

const { messages } = await response.json();
console.log(messages[0].messageId, messages[0].status.name);

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 运营商费用中单独列出,而非合并计算。您无需联系任何人即可为活动定价。

迁移成本

低。

字段扁平化后即可迁移。sender 变为 from,destinations 数组折叠为单个 to,content.text 变为 text。您的逐条消息 webhook 变为订阅 sms.sent、sms.delivered 和 sms.failed 的工作区 webhook,callbackData 则对应到 Bird 的 metadata 中。

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

大家真正会问的问题

Bird 是一个好的 Infobip SMS 替代方案吗?
It depends more here than on most of these pages. Bird sends to 190+ countries over 240 direct-to-carrier connections, takes a flat send, makes retries safe with an Idempotency-Key header their clients have no counterpart for, and ships a maintained TypeScript SDK. Infobip matches Bird on the agent surface and on registering 10DLC over an API, and is the better pick if you write Java or C#, if you want per-message control of delivery reports, or if you are buying voice, email and RCS from the same vendor.
发送调用有多大差异?
结构差异比字段名差异更大。Infobip 的请求体为批量场景设计:一个消息数组,每条消息包含一个目的地数组,消息文本嵌套在 content 下。Bird 将 from、to 和 text 放在顶层。Bird 端真正新增的两个字段是 category(声明消息是事务性、营销、认证还是服务类型)和 Idempotency-Key 头(确保重试安全)。
Infobip 有 MCP 服务器吗?
有,而且这一项 Bird 并不占优。Infobip 通过 HTTP 运行十五个远程 MCP 服务器,每个产品一个,通过 API 密钥或带有范围发现的 OAuth 2.1 进行认证。无需安装任何东西,与 Bird 的方案完全一致。差异在于架构而非覆盖范围:Bird 为整个工作区运行一个服务器,代理只需连接一次;而 Infobip 的拆分使每个服务器的工具列表更短,有助于代理选择正确的工具。您的偏好取决于您更愿意建立一个连接还是多个连接。
Infobip 提供 Node 或 TypeScript SDK 吗?
不在其维护的五个客户端之列,它们分别是 Java、C#、PHP、Go 和 Python。确实存在一个 Node 客户端,以 @infobip-api/sdk 的名称从一个独立的社区组织发布,版本仍停留在 0.3.2,最后一次发布是 2023 年 11 月。TypeScript 代码库可以直接调用 API,上面的代码示例就是这样做的。
代理在我的账户中实际能做什么?
完全取决于您授权的范围,不会超出。通过浏览器 OAuth 登录后会打开 Bird 授权同意页面,您可以选择工作区或组织权限,并选择要委托哪些权限。授权范围限定为客户端请求的、您批准的以及您实际拥有的权限三者的交集,且 org:owner 和 platform-admin 范围永远不可委托。授权记录会显示在您个人资料的
Bird SMS 各国费用是多少?
每个目的地国家都在 Bird 的 SMS 定价页面上公布了出站费率,运营商和 10DLC 费用单独列出而非合并计算,因此您无需联系销售即可自行核算活动成本。

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

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

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

Cursor