send-notification.ts
202 · 0.4s
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const { data, error } = await bird.sms.send({
from: "Bird",
to: "+31612345678",
text: "Your order #4821 has shipped. Track it: bird.ly/t/4821x",
category: "transactional",
}).safe();
if (error) throw error;
console.log(data.id);
// → "sms_01m11jw130e7svjzv70kgqr38w"
Hi Ada, reminder of your appointment tomorrow at 14:30 with Dr. Kowalski.
Your order #4821 has shipped. Track it: bird.ly/t/4821x
Your subscription renews on 3 Sep for €12/mo. Manage it here: bird.ly/account
四种发送者类型,一套 API。
号码是 Bird SMS API 的基础。用你已经在使用的同一客户端搜索可用性、购买号码,并将入站路由到一个 webhook。你选择哪种类型取决于用量、地域,以及你能承担多少注册工作。
我应该使用哪种发送者?
吞吐量、覆盖范围和注册工作量因发送者类型而异。大多数美国应用流量从 10DLC 长码起步;大批量一对多项目会转向短码。
| 发送者类型 | 最适合 | 注册 |
|---|---|---|
| 长码(10DLC) | 中等用量下的双向对话、OTP、提醒 | A2P 10DLC 品牌 + 活动 |
| 短码 | 大批量一对多营销和提醒 | 运营商审核,前置周期以周计 |
| 免费电话号码 | 无需 10DLC 的美国/加拿大流量,吞吐量高于长码 | 免费电话号码验证 |
| 字母数字发送者 ID | 在国家/地区允许的地方进行单向品牌提醒 | 许多国家/地区需要预注册 |
选择一种号码类型
深入了解每种发送方类型:覆盖范围、吞吐量及注册要求。
几次调用即可搜索、购买并路由。
通过国家和功能查找号码并购买,使用与发送消息相同的 SDK 即可完成。入站流量通过订阅 sms.received 的工作区 webhook 进行路由,而非按号码分配,因此一个订阅即可覆盖您持有的所有号码。号码在完成所需注册后即刻生效。
provision.ts
201 · purchased
const { data: page, error: searchError } = await bird.numbers.available
.list({
country_code: "US",
number_type: "local",
capabilities: ["sms"],
})
.safe();
if (searchError) throw searchError;
const { data: order, error: orderError } = await bird.numbers.orders
.create({ number: page.data[0].number })
.safe();
if (orderError) throw orderError;
console.log(order.status, order.number_id); // → "completed" "nda_0ydh2yfw..."
付诸实践。
继续查阅此主题的文档、指南和示例。资源为英文。