> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SMS 同意关键词管理

> 管理 SMS 选择退出关键词、重新订阅流程和自动回复。涵盖 STOP/HELP/START 行为、面向字母数字发送方的网页退订、共享发送方的选择退出策略，以及查看订阅者的同意状态。

正确管理选择退出可以让您的项目保持合规，并保护那些希望停止接收消息的订阅者。处理选择退出的方式取决于您的发送方类型：即它是否能够接收入站回复。

***

## 选择退出关键词

`STOP`、`HELP` 和 `START` 是运营商强制要求的标准合规关键词。它们的默认回复受到保护，无法通过 OneSignal 仪表板或 API 更改：

* `STOP` 使用户退订来自特定发送方的 SMS 消息。已识别的别名（`UNSUBSCRIBE`、`CANCEL`）共享同一受保护的回复。
* `HELP` 返回有关您的消息项目的信息。
* `START` 让用户在退订后重新选择加入。已识别的别名（`UNSTOP`、`YES`）共享同一受保护的回复。

如需自定义默认回复，请联系 `support@onesignal.com`，并提供您的 App ID 和新的响应消息。

默认情况下，当用户发送 STOP 时，OneSignal 会回复：*"You have successfully been unsubscribed. You will not receive any more messages from this number. Reply START to resubscribe."*

<Note>
  默认情况下，选择退出仅阻止订阅者所发送的那个特定发送方的消息。这确保选择退出的范围限定于具体用例。向您的推广发送方发送 STOP 的订阅者，仍会继续接收来自您其他发送方的事务性消息和 OTP。
</Note>

***

## 管理字母数字发送方的选择退出

字母数字发送方 ID（例如 "ACME" 而非电话号码）无法接收入站回复，这意味着订阅者无法通过发送 STOP 来退订。为保持合规，您必须提供一个基于网页的退订页面，由其处理选择退出并通过 API 更新订阅者在 OneSignal 中的状态。

<Steps>
  <Step title="在每条消息中包含退订链接">
    在您发送的每条 SMS 中添加托管退订页面的 URL。使用 OneSignal Liquid 标签在 URL 中标识订阅者：

    ```
    To opt out: https://yourbrand.com/sms-unsubscribe?uid={{ onesignal_id }}
    ```

    OneSignal 会在发送时将 `{{ onesignal_id }}`（或 `{{ subscription_id }}`）渲染为订阅者的实际 ID，因此每位收件人都会收到个性化的退订链接。
  </Step>

  <Step title="构建退订页面">
    在该 URL 上托管一个简单的网页。页面加载时，它会从查询参数中读取订阅者 ID。该页面应：

    * 向订阅者确认他们正在退订的内容（例如 "You will no longer receive promotional text messages from ACME."）
    * 显示一个确认按钮。请勿在页面加载时自动退订，因为误点击和链接预览可能触发意外的选择退出。
    * 如果您从同一发送方发送多种类型的消息，可选择让订阅者选择要退订哪些消息类型。
  </Step>

  <Step title="调用 OneSignal API 处理选择退出">
    当订阅者确认时，调用 OneSignal API 更新其订阅状态。根据范围有两种选项：

    * **从发送方完全退订：** 使用 [Update Subscription API](/reference/update-subscription) 将订阅的状态设置为已退订。
    * **退订特定消息类型：** 使用 [Edit Tags API](/reference/edit-tags-with-external-user-id) 设置一个标签（例如 `promo = false`），然后在发送该消息类型时排除带有该标签的订阅者。
  </Step>

  <Step title="显示确认信息">
    API 调用成功后，显示一条确认消息（例如 "You've been unsubscribed. You will no longer receive promotional texts from ACME."）。
  </Step>
</Steps>

<Card title="SMS 选择加入与收集" icon="user-plus" href="./sms-opt-in-and-collection">
  在发送 SMS 之前收集有效的同意，使订阅者只有在选择加入之后才会进入此选择退出流程。
</Card>

***

## 管理共享发送方的选择退出

<Warning>
  我们不建议在多个短信项目（推广、事务性或 OTP）之间共享发送方。当订阅者发送 STOP 时，他们将从整个发送方退订，这意味着退订推广消息也会阻止订单确认或账户提醒等事务性消息。请尽可能为每个用例使用单独的发送方。
</Warning>

如果您确实使用了共享发送方，可以使用自定义关键词，让订阅者在不退订所有内容的情况下退订特定消息类型。其原理是：当订阅者发送选择退出关键词时为其打标签，然后在发送该类型消息时排除这些订阅者。

**工作原理：**

1. 订阅者向您的发送方发送自定义选择退出关键词（例如 NOPROMO）。
2. OneSignal 为该订阅者的档案应用一个数据标签（例如 `promo = false`）。
3. 当您发送推广活动时，过滤受众以排除满足 `promo = false` 的订阅者。

**设置自定义选择退出关键词：**

转到 **Settings > Platforms > SMS Settings > Keywords**，为每个您希望订阅者能够独立退订的用例创建一个关键词。

**示例：推广选择退出关键词（NOPROMO）：**

1. 输入关键词文本（例如 NOPROMO）。
2. 将受众范围设置为 **Anyone**。
3. 选择或创建一个回复模板（例如 *"You've been unsubscribed from promotional messages. You'll still receive order and account notifications. Text STOP to unsubscribe from all messages."*）。
4. 分配一个数据标签：`promo = false`。

对每个用例重复此操作。对于事务性消息，创建 NOTRANSACT 并设置 `transactional = false`。

**在发送时排除已退订的订阅者：**

在为特定用例构建活动或 Journey 时，在 Segments 中使用 **User Tag** 过滤器来排除已退订的订阅者。例如，发送推广消息时，排除满足 `promo = false` 的订阅者。

**重要限制：**

* 默认合规关键词（STOP、HELP、START）仍适用于整个发送方，无法限定到某个用例。
* 您必须在该类型的每条消息中包含自定义选择退出关键词（例如 *"Reply NOPROMO to stop promotional texts"*）。
* 字母数字发送方 ID 无法接收回复，也不支持关键词。
* 必须启用回复同步。转到 **Settings > Platforms > SMS Settings > Senders > Setup Replies**。

<Card title="SMS 关键词" icon="message" href="./keywords">
  设置自定义关键词的完整参考，包括双向活动和偏好中心。
</Card>

***

## 重新订阅

一旦用户使用默认选择退出关键词退订，就无法通过 OneSignal 仪表板或 API 重新订阅。用户必须向同一发送方号码发送重新订阅关键词（`START`、`UNSTOP` 或 `YES`）。

***

## HELP 关键词

默认情况下，当用户发送 HELP 时，OneSignal 会回复：*"Reply STOP to unsubscribe. Msg\&Data Rates May Apply."*

***

## 自动回复

为任何不匹配关键词的传入消息设置自动回复。可借此将用户引导至客户支持、收集其意图，或通知您的团队进行后续跟进。

<Steps>
  <Step title="进入自动回复设置">
    导航至 **Settings > Platforms > SMS Settings > Auto-Responder**。
  </Step>

  <Step title="添加自动回复">
    点击 **Add Auto-Responder** 并选择一个回复模板。
  </Step>

  <Step title="可选：为用户打标签">
    在自动回复触发时分配一个数据标签，以便日后进行细分或提醒。
  </Step>
</Steps>

***

## 查看订阅者的选择退出状态

要查看某个订阅者已从哪些发送方退订：

1. 在 OneSignal 仪表板中转到 **Audience > Subscriptions**。
2. 通过 External ID、电子邮件或电话号码搜索订阅者。
3. 打开其 SMS 订阅并查看 **Consent by Sender** 下的内容。

该部分显示与该订阅关联的每个发送方的选择加入或选择退出状态。

***

## 常见问题

### 当用户向共享发送方发送 STOP 时会发生什么？

他们将从该发送方的所有消息中退订，包括事务性消息和 OTP。这就是我们强烈建议为每种项目类型使用单独发送方的原因。一旦通过 STOP 退订，用户必须向同一发送方发送 START（或其他重新订阅关键词）才能再次接收消息。

### 我可以更改 STOP 或 HELP 的响应消息吗？

可以，但不能通过仪表板或 API。请联系 `support@onesignal.com`，并提供您的 App ID 和新的响应文本。

### 字母数字发送方 ID 应使用何种选择退出机制？

字母数字发送方 ID 无法接收回复，因此您必须在每条消息中包含退订链接，并构建一个调用 OneSignal API 来处理选择退出的网页退订页面。请参阅上文的 [管理字母数字发送方的选择退出](#managing-opt-outs-for-alphanumeric-senders) 部分。

### 我可以重新订阅一个发送过 STOP 的用户吗？

您无法通过仪表板或 API 重新订阅用户。用户必须向同一发送方号码发送 START、UNSTOP 或 YES 才能重新选择加入。

### 如何防止单次 STOP 阻止所有消息类型？

为每种项目类型（推广、事务性、OTP）使用单独的发送方。如果您必须使用共享发送方，请设置自定义选择退出关键词（例如 NOPROMO），并在发送时按标签排除已退订的订阅者。请注意，默认的 STOP 关键词仍会从整个发送方退订。
