每位收件人均可发送 STOP 退订、HELP 获取帮助回复、START 重新订阅。Bird 在每次发送时自动识别这些关键词,并维护一份可查询的按收件人维度的屏蔽列表。您无需编写任何额外代码。
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const code = generateOtp();
const { data, error } = await bird.sms.send({
from: "Bird",
to: "+15005550006",
text: `Your Bird verification code is ${code}. Reply STOP to opt out.`,
category: "authentication",
}).safe();
if (error) throw error;
console.log(data.id);
// → "sms_4kT01Lq2m..."
Today at 2:14 PM
退订是唯一始终开启的规则。
退订处理是 Bird SMS API 上 SMS 合规 的一部分,与注册不同,它在你发送的任何地方都适用,且无需任何设置。保留关键词 STOP、HELP 和 START 会在入站消息中被识别并按接收方执行,因此退订的人会在你的各次发送中保持退订状态,直到他们选择回来。
关键词的行为方式。
保留关键词,按接收方强制执行。
- 01
STOP 会自动抑制。
当接收方发送 STOP 时,Bird 会将其加入抑制列表,并阻止向该号码继续发送,你无需采取任何行动。
- 02
HELP 会返回一条帮助回复。
发送 HELP 的接收方会收到一条自动帮助回复,因此你无需接线处理程序即可满足运营商的帮助关键词要求。
- 03
START 会重新订阅他们。
退订是可撤销的。收件人发送 START 后即可从屏蔽列表中移除,重新接收消息。主动权始终掌握在他们手中。
- 04
抑制列表可查询,按接收方计。
在构建受众之前通过 API 检查某个号码是否被抑制,让已退订的接收方永远不会重新溜回一次发送。
退订会以签名事件形式送达。
当接收方退订时,Bird 会抑制他们,并以 sms.opted_out 事件通知你的 webhook,让你自己的记录保持同步。该事件与每个 Bird webhook 一样经过 HMAC 签名。
{
"type": "sms.opted_out",
"data": {
"from": "+15005550006",
"keyword": "STOP",
"suppressed": true
}
}
退订是一个入站流程。
STOP、HELP 和 START 与其他回复的到达方式相同——作为双向号码上的入站消息。Bird 会拦截这些保留关键词并在其到达您的应用逻辑之前进行处理,因此您无需额外操作即可获得屏蔽功能,同时仍能看到收件人发送的所有其他消息。