# SMS 发送方 ID

发送方是收件人在您的 SMS 上看到的 `from`。您的工作区为每个可发送身份持有一个发送方，而每个目的地国家/地区决定接受哪些类型的发送方以及需要预先注册什么。持有发送方和被允许从该发送方发送是两回事：这是两个独立的步骤，本指南涵盖了这两者。

发送方位于 [**Senders**](https://bird.com/dashboard/w/sms/senders) 页面，每个发送方一行，显示其状态以及有多少目的地处于活跃、待处理或需要您关注的状态。发送调用本身（包括 `from` 值的验证方式）在[发送 SMS](/docs/guides/sms/sending-sms#sender) 中。

## 发送方类型

发送方的 `sender_type` 是其身份的类型，它决定了每个国家/地区对该发送方的要求：

- **字母数字发送方 ID**：一个简短的品牌字符串，如 `BIRD`，由 3 到 11 个 ASCII 字母、数字、空格、连字符、下划线或点号组成，至少包含一个字母。空格、连字符、下划线和点号不能作为首尾字符。收件人看到的是您的名称而非号码，且无法回复。许多国家/地区要求在其承载流量前先注册，一些国家/地区（包括美国）则完全不接受。您自行声明此类型。
- **长号码**：您持有的一个普通号码，可收发消息。美国长号码在承载应用到个人 (A2P) 流量之前需要注册品牌和活动；参见 [10DLC 注册](/docs/guides/sms/10dlc)。
- **免费电话号码**：由被叫方付费的号码，在北美也可以承载消息。从该号码发送意味着需要先完成免费电话验证。
- **短号码**：用于经批准的消息计划的简短国内号码，其长度和吞吐量由市场和运营商计划决定。Bird 通过分配而非销售方式提供短号码，因此此类型不支持自助服务。

发送方还报告 `source_kind`，表示其背后的支持方式：`alpha` 表示您声明的发送方字符串，`number` 表示您持有的专用号码，`shared_number` 表示由 Bird 管理的、您的工作区使用的共享号码。仪表板将这些标记为 **Alphanumeric**、**Dedicated number** 和 **Shared number**。[号码类型](/docs/guides/numbers/number-types) 介绍了号码自身类型的选择方式，[购买和释放号码](/docs/guides/numbers/buying-numbers) 介绍了号码的分配。

一个国家/地区接受哪些类型以及是否审核它们，会随着运营商和监管机构修订规则而变化。[SMS 目的地](/products/sms/destinations) 发布了每个国家/地区的当前情况；请查阅该页面，而不要假设某个国家/地区的行为与其邻国相同。

## 声明字母数字发送方 ID

声明发送方字符串不收费且立即生效。在 [**Senders**](https://bird.com/dashboard/w/sms/senders) 页面，打开 **Add sender** 并选择 **Add sender ID**，然后输入字符串。通过 API：

```cli
bird sms senders create --type alpha --sender BIRD
```

响应中包含新发送者的 `id`（带有 `snd_` 前缀），本指南中的所有其他操作都使用该 id。成功认领的发送者在启用相应目的地后，即可在无需注册或注册为可选的国家/地区发送消息。必须注册的国家/地区需先获得批准。

此处可能出现两种拒绝。`412` 表示您的组织尚未完成此操作所需的身份验证：请在 [**Identity Center**](https://bird.com/dashboard/w/trust) 中完成，然后重试。`409` 表示该发送方字符串已被声明。

`alpha` 是此调用创建的唯一类型。专用号码在您从库存中分配时成为发送方，因此购买号码会自动带上其发送方。短号码和共享号码通过 Bird 的分配（而非购买）到达工作区。

## 查看国家/地区的要求

一次读取即可获知每个国家/地区对发送方的要求。它为发送方可到达的每个国家/地区返回一行，每行本身是完整的：

```cli
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**](https://bird.com/dashboard/w/sms/destinations) 下开启国家/地区；[发送 SMS](/docs/guides/sms/sending-sms#before-you-send-enable-the-destination-country) 介绍了允许列表。
- **`next`** 按顺序列出推进该国家/地区所需的操作。列表为空表示没有待办事项。每个条目描述一个操作及其必要性，因此处于运营商审核中的国家/地区会指向应阅读的资源，而非重述该资源拥有的结论。

行中还包含 `timeline_min_days` 和 `timeline_max_days`，即该国家/地区审批通常所需的最短和最长工作日天数；当该国家/地区未发布估算值时为 `null`。如果注册被拒绝，`rejection_reason` 说明原因。

相同的信息也显示在仪表板中每个发送方的详情页上，以 **Destinations** 表格呈现，包含 **Status**、**Country** 和 **Category** 列。您未启用且未注册的国家/地区不会出现在该表格中，因为那里没有待办事项。

## 为国家/地区注册发送方

注册按国家/地区进行，调用时需同时传入发送方和国家/地区：

```cli
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**](https://bird.com/dashboard/w/trust) 中完成验证，然后重试。                                                                                  |
| `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`**：证明您拥有该发送方号码的文件尚未就位，要么因为尚未提供，要么因为签发号码的国家/地区尚未接受。在问题解决之前，该发送方的所有发送均会被拒绝。[号码概览](/docs/guides/numbers/overview#the-status-of-an-allocated-number) 介绍了该生命周期。
- **`pending_registrations`**：该发送方持有国家/地区注册但尚无一个获批。这涵盖审核中的注册和被拒绝的注册，请查看 `next` 了解具体情况。

与其相伴的是 `destinations`，它按下一步由谁操作对发送方已设置的国家/地区进行分组，[**Senders**](https://bird.com/dashboard/w/sms/senders) 列表将这三个分组显示为列：

- **"Active"**：您可以立即发送的国家/地区，已在目的地设置中开启，且不要求必须注册或已持有已批准的注册。可选注册仍可处于待处理状态，同时发送仍可用，但发送者 ID 会被覆盖。
- **"Pending"**：注册正在进行中、等待 Bird 或运营商处理的国家/地区。无需您执行任何操作；批准后这些会移至 **"Active"**。
- **"Needs attention"**：您已注册但未生效、等待您操作的国家/地区，原因可能是注册被拒绝或撤回，或者注册已批准但目的地处于关闭状态。

这三个分组仅涵盖您持有注册的国家/地区，因此您可以注册但尚未注册的国家/地区不会出现在任何分组中。要了解发送方可到达的所有内容及每个国家/地区的要求，请阅读[国家/地区要求](#查看国家地区的要求)。

计算后续操作的发送方读取会将结果返回在 `next` 中，与需求行所携带的路由字段相同。发送方仅了解自身，因此当工作按国家/地区划分时，它会指向需求读取，而不是猜测您指的是哪个国家/地区。

## 拥有独立流程的计划

国家/地区的 `program` 命名了其为某种发送方类型运行的注册方案。其中两种由本指南中的注册调用处理，另外三种有各自独立的流程：

| 方案         | 适用对象          | 操作位置                                                                                                    |
| :----------- | :---------------- | :---------------------------------------------------------------------------------------------------------- |
| `alpha`      | 字母数字发送方 ID | [为发送方注册国家/地区](#为国家地区注册发送方)，并填写该国家/地区要求的表单                                 |
| `numeric`    | 长号码            | [为发送方注册国家/地区](#为国家地区注册发送方)，并填写该国家/地区要求的表单                                 |
| `10dlc`      | 美国长号码        | 注册品牌和活动，然后关联号码：[10DLC 注册](/docs/guides/sms/10dlc)                                          |
| `tfn`        | 美国免费电话号码  | 免费电话验证，在 [**Toll-free verifications**](https://bird.com/dashboard/w/sms/tfn-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](/products/sms/numbers)，或查看[发送方注册](/products/sms/compliance/sender-id-registration)以规划您的部署。

| 页面                                                   | 涵盖内容                                                     |
| ------------------------------------------------------ | ------------------------------------------------------------ |
| [发送 SMS](/docs/guides/sms/sending-sms)               | 发送调用、其接受的 `from` 格式以及目的地允许列表             |
| [10DLC 注册](/docs/guides/sms/10dlc)                   | 美国 A2P 发送背后的品牌、活动和号码模型                      |
| [号码类型](/docs/guides/numbers/number-types)          | 在移动号码、本地号码、全国号码、免费电话号码和短号码之间选择 |
| [SMS 目的地](/products/sms/destinations)               | 每个国家/地区接受哪些发送方类型以及哪些需要注册              |
| [退订和关键词](/docs/guides/sms/opt-outs-and-keywords) | 发送方必须遵守的关键词回复及其创建的屏蔽                     |

## Related resources

- [Registering your SMS sender ID](/learn/sms/registering-your-sms-sender-id) (video)
- [What is sender ID registration, and why do some countries require it?](/explained/sms/what-is-sender-id-registration) (answer)
- [SMS sender IDs](/sms-api/features/compliance/sender-id-registration) (product)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=sms-senders)
