每位接收方都可以发送 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.`,
}).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 会拦截这些保留关键词并在它们到达你的应用逻辑之前执行处理,于是你免费获得抑制行为,同时仍能看到接收方发送的其他一切内容。