SMS 发送方 ID
发送方是收件人在您的 SMS 上看到的 from。您的工作区为每个可发送身份持有一个发送方,而每个目的地国家/地区决定接受哪些类型的发送方以及需要预先注册什么。持有发送方和被允许从该发送方发送是两回事:这是两个独立的步骤,本指南涵盖了这两者。
发送方类型
发送方的 sender_type 是其身份的类型,它决定了每个国家/地区对该发送方的要求:
- 字母数字发送方 ID:一个简短的品牌字符串,如 BIRD,由 3 到 11 个 ASCII 字母、数字、空格、连字符、下划线或点号组成,至少包含一个字母。空格、连字符、下划线和点号不能作为首尾字符。收件人看到的是您的名称而非号码,且无法回复。许多国家/地区要求在其承载流量前先注册,一些国家/地区(包括美国)则完全不接受。您自行声明此类型。
- 长号码:您持有的一个普通号码,可收发消息。美国长号码在承载应用到个人 (A2P) 流量之前需要注册品牌和活动;参见 10DLC 注册。
- 免费电话号码:由被叫方付费的号码,在北美也可以承载消息。从该号码发送意味着需要先完成免费电话验证。
- 短号码:用于经批准的消息计划的简短国内号码,其长度和吞吐量由市场和运营商计划决定。Bird 通过分配而非销售方式提供短号码,因此此类型不支持自助服务。
发送方还报告 source_kind,表示其背后的支持方式:alpha 表示您声明的发送方字符串,number 表示您持有的专用号码,shared_number 表示由 Bird 管理的、您的工作区使用的共享号码。仪表板将这些标记为 Alphanumeric、Dedicated number 和 Shared number。号码类型 介绍了号码自身类型的选择方式,购买和释放号码 介绍了号码的分配。
一个国家/地区接受哪些类型以及是否审核它们,会随着运营商和监管机构修订规则而变化。SMS 目的地 发布了每个国家/地区的当前情况;请查阅该页面,而不要假设某个国家/地区的行为与其邻国相同。
声明字母数字发送方 ID
声明发送方字符串不收费且立即生效。在 Senders 页面,打开 Add sender 并选择 Add sender ID,然后输入字符串。通过 API:
代码示例
bird sms senders create --type alpha --sender BIRD响应中包含新发送者的 id(带有 snd_ 前缀),本指南中的所有其他操作都使用该 id。成功认领的发送者在启用相应目的地后,即可在无需注册或注册为可选的国家/地区发送消息。必须注册的国家/地区需先获得批准。
alpha 是此调用创建的唯一类型。专用号码在您从库存中分配时成为发送方,因此购买号码会自动带上其发送方。短号码和共享号码通过 Bird 的分配(而非购买)到达工作区。
查看国家/地区的要求
一次读取即可获知每个国家/地区对发送方的要求。它为发送方可到达的每个国家/地区返回一行,每行本身是完整的:
代码示例
bird sms senders requirements snd_01krdgeqcxet5s7t44vh8rt9mg
bird sms senders requirements snd_01krdgeqcxet5s7t44vh8rt9mg --country-code NL省略 --country-code 以获取与该发送方相关的所有国家/地区。如果过滤结果为空,则表示该发送方无法到达该国家/地区。
发送之前,请读取行中的六个字段:
- registration_mode 为 none、optional 或 required。none 不需要国家/地区注册。当它与 overwritten 发送者 ID 配对时,注册不可用。较早的显式注册仍可记录在具有 unknown 或 preserved 行为的 none 策略中,但它们不会阻止发送。optional 允许发送者在注册期间继续发送。required 在获得批准之前阻止发送。
- program 标识国家/地区指定的注册流程,例如 alpha 或 numeric。当没有指定的程序适用时,值为 null。
- sender_id_behavior 为 unknown、preserved 或 overwritten。它独立于 registration_mode:必须注册的国家/地区在批准后仍可能覆盖发送者 ID。可选注册在批准前报告 overwritten,在批准后对已批准的消息类别报告 preserved。
- status 表示发送者在该国家/地区注册程序中的进度。在 required 模式下,发送需等待 approved。在 optional 模式下,状态跟踪注册进度但不阻止发送。注册状态列出了每个值。
- destination_enabled 表示您的工作区是否已开启该国家/地区。这是工作区设置而非发送者属性,且最先检查,因此即使注册已完全批准,在目的地关闭时仍会拒绝消息。在 Destinations 下开启国家/地区;发送 SMS 介绍了允许列表。
- next 按顺序列出推进该国家/地区所需的操作。列表为空表示没有待办事项。每个条目描述一个操作及其必要性,因此处于运营商审核中的国家/地区会指向应阅读的资源,而非重述该资源拥有的结论。
行中还包含 timeline_min_days 和 timeline_max_days,即该国家/地区审批通常所需的最短和最长工作日天数;当该国家/地区未发布估算值时为 null。如果注册被拒绝,rejection_reason 说明原因。
相同的信息也显示在仪表板中每个发送方的详情页上,以 Destinations 表格呈现,包含 Status、Country 和 Category 列。您未启用且未注册的国家/地区不会出现在该表格中,因为那里没有待办事项。
为国家/地区注册发送方
注册按国家/地区进行,调用时需同时传入发送方和国家/地区:
代码示例
bird sms senders registrations create snd_01krdgeqcxet5s7t44vh8rt9mg --country-code NL
bird sms senders registrations create snd_01krdgeqcxet5s7t44vh8rt9mg --country-code NL --category marketing--category 将注册限制为 transactional、marketing、authentication 或 service 中的一个。省略该参数则注册所有类别。仪表板通过发送方的国家/地区行上的 Register 按钮执行相同调用。
接下来的步骤取决于国家/地区。如果该国家/地区审核注册,记录会以 pending 状态返回且尚未计费。如果该国家/地区不审核,则在此调用中直接批准。注册号码免费;需付费的字母数字发送方会产生设置费和每月经常性费用,在注册获批时计费,因此需审核的注册在创建时不计费。此调用和需求读取都不会报价,所以在注册之前请向账户负责人确认费用。
如果某个计划以表单形式收集您的答案,注册会停在 pending 状态,直到您填写完毕。此时发送方的国家/地区行会提供 Complete 按钮,打开该计划就您的业务和消息提出的问题。
需要处理的四种拒绝:
| 响应 | 含义 |
|---|---|
| 402 | 计费时钱包余额不足以支付应付金额。请充值后重试。 |
| 409 | 该国家的注册记录已存在,且状态不是已拒绝或已暂停,包括仍在 pending 审核中的记录。仅凭状态无法判断发送方是否可以发送:请检查 registration_mode、destination_enabled,以及注册是否涵盖该消息类别。 |
| 412 | 您的组织有未完成的身份验证要求。请在 Identity Center 中完成验证,然后重试。 |
| 422 | 该发送方由具有独立流程的计划管理,例如美国 10DLC、免费电话验证或短代码。请参阅具有独立流程的计划。 |
被拒绝的注册通过再次调用此操作来重新提交,暂停的注册也通过同一操作重新激活,无需单独的调用。
注册状态
国家/地区注册会经历以下状态。仪表板在发送方的行上以首字母大写标签显示每种状态:
| 状态 | 含义及操作 |
|---|---|
| registration_required | 该国家/地区的 registration_mode 为 required,且尚未开始注册。请为该国家/地区注册发送者。 |
| pending | 注册工作已开始。如果程序要求填写表单,请在该国家/地区行上点击 Complete 完成。 |
| under_review | 提交的信息正在审核中,或需要修改。该行的 program_ref 指向程序自身的资源,那是唯一能区分审核仍在进行还是等待您操作的地方。 |
| bird_approved | Bird 的审核已通过,正在等待运营商批准。无需您采取任何操作。 |
| carrier_pending | 已提交给审批运营商或注册机构。无需您采取任何操作。 |
| approved | 注册已批准。 |
| rejected | 注册被拒绝。请读取 rejection_reason,修正后从 Resubmit 重新注册。 |
| suspended | 之前有效的注册已被暂停。从 Register again 重新注册以重新激活。 |
| not_required | 没有有效注册阻止发送。请检查 registration_mode 和 sender_id_behavior:none 不需要国家/地区注册,并在发送者 ID 被覆盖时使注册不可用;optional 提供注册但不阻止流量。 |
随着注册计划的变化会添加新状态,因此将不认识的值视为您的代码尚未处理的值而非错误,并查看行中的 next 了解该国家/地区的下一步操作。
某些计划通过一次注册覆盖多个国家/地区,因此一次免费电话验证或活动注册可能允许多个目的地发送。
发送方状态和后续操作
发送方自身的 status 涵盖其持有的内容,这与特定国家/地区是否接受消息是不同的问题:
- active:该发送方持有的所有内容均无待办事项。即使发送方可到达的每个国家/地区都要求注册,从未注册过的发送方也显示 active。
- pending_number_ownership:证明您拥有该发送方号码的文件尚未就位,要么因为尚未提供,要么因为签发号码的国家/地区尚未接受。在问题解决之前,该发送方的所有发送均会被拒绝。号码概览 介绍了该生命周期。
- pending_registrations:该发送方持有国家/地区注册但尚无一个获批。这涵盖审核中的注册和被拒绝的注册,请查看 next 了解具体情况。
与其相伴的是 destinations,它按下一步由谁操作对发送方已设置的国家/地区进行分组,Senders 列表将这三个分组显示为列:
- "Active":您可以立即发送的国家/地区,已在目的地设置中开启,且不要求必须注册或已持有已批准的注册。可选注册仍可处于待处理状态,同时发送仍可用,但发送者 ID 会被覆盖。
- "Pending":注册正在进行中、等待 Bird 或运营商处理的国家/地区。无需您执行任何操作;批准后这些会移至 "Active"。
- "Needs attention":您已注册但未生效、等待您操作的国家/地区,原因可能是注册被拒绝或撤回,或者注册已批准但目的地处于关闭状态。
这三个分组仅涵盖您持有注册的国家/地区,因此您可以注册但尚未注册的国家/地区不会出现在任何分组中。要了解发送方可到达的所有内容及每个国家/地区的要求,请阅读国家/地区要求。
计算后续操作的发送方读取会将结果返回在 next 中,与需求行所携带的路由字段相同。发送方仅了解自身,因此当工作按国家/地区划分时,它会指向需求读取,而不是猜测您指的是哪个国家/地区。
拥有独立流程的计划
国家/地区的 program 命名了其为某种发送方类型运行的注册方案。其中两种由本指南中的注册调用处理,另外三种有各自独立的流程:
| 方案 | 适用对象 | 操作位置 |
|---|---|---|
| alpha | 字母数字发送方 ID | 为发送方注册国家/地区,并填写该国家/地区要求的表单 |
| numeric | 长号码 | 为发送方注册国家/地区,并填写该国家/地区要求的表单 |
| 10dlc | 美国长号码 | 注册品牌和活动,然后关联号码:10DLC 注册 |
| tfn | 美国免费电话号码 | 免费电话验证,在 Toll-free verifications 页面操作 |
| short_code | 短代码 | Bird 管理申请流程;除非被拒绝,否则无需您执行任何操作,被拒绝时该行的 next 会引导您联系支持团队 |
对 10dlc、tfn 或 short_code 覆盖的发送方调用注册操作会返回 422。请改用对应方案。
免费电话验证从草稿开始,您通过一次或多次更新填写内容,然后提交给运营商审核。它依次经历 draft、submitted、under_review、info_requested、approved 和 rejected。处于 info_requested 状态的验证可以编辑并重新提交;被拒绝的验证可以在其重新提交窗口开放期间重新提交。提交会将材料交给运营商审核,因此需要由人来授权该步骤:CLI 和 Bird 的 MCP 服务器可以起草和修改验证,而提交操作本身在仪表板中进行。
停止从发送方发送
三种拆除操作在保留内容上有所不同,且都是在发送方详情页上的仪表板操作。已收取的设置费不会因任何操作而退还:
| 操作 | 效果 |
|---|---|
| Deregister 某个国家/地区 | 取消经常性费用并保留注册。再次注册该国家/地区会恢复同一注册,无需重复支付设置费。如果该国家/地区要求注册,则停止向其发送;如果注册是可选的,则发送继续,因为注册从未阻止过发送。 |
| Remove 注册 | 完全移除国家/地区注册,取消经常性费用,并停止为该发送方列出该目的地。再次注册该国家/地区将创建新注册并重新支付设置费。 |
| 删除发送方 | 释放字母数字发送方。其上的所有国家/地区注册均被移除,经常性费用被取消,发送方不再可用。稍后声明相同字符串会创建新的发送方和新的注册,并再次支付设置费。 |
由号码支持的发送方不在此处删除:请改为释放专用号码,这会同时拆除其发送方。Bird 管理的共享号码上的发送方无法被移除。
10DLC 或免费电话行通过其自身的计划撤销,即取消活动关联或取消验证,而非通过取消注册。
后续步骤
比较 SMS 号码和发送方 ID,或查看发送方注册以规划您的部署。
| 页面 | 涵盖内容 |
|---|---|
| 发送 SMS | 发送调用、其接受的 from 格式以及目的地允许列表 |
| 10DLC 注册 | 美国 A2P 发送背后的品牌、活动和号码模型 |
| 号码类型 | 在移动号码、本地号码、全国号码、免费电话号码和短号码之间选择 |
| SMS 目的地 | 每个国家/地区接受哪些发送方类型以及哪些需要注册 |
| 退订和关键词 | 发送方必须遵守的关键词回复及其创建的屏蔽 |