你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

SMS 常见问题解答

本文解答了有关短信服务的常见问题。

发送和接收消息

如何使用 Azure 通信服务接收短信?

Azure 通信服务客户可以使用 Azure 事件网格来接收传入的短信。 按照此快速入门中的操作设置事件网格以接收短信。

是否可以通过免费电话号码接收来自任何国家/地区的短信?

免费电话号码无法向/从美国、加拿大和波多黎各之外的国家/地区发送或接收短信。

是否可以通过短代码接收来自任何国家/地区的短信?

短代码是国内号码,无法向/从其注册的国家/地区之外的国家/地区发送或接收短信。 示例:美国短代码只能向/从美国接收者发送和接收短信。

如何处理发送到座机号码的短信?

在美国,Azure 通信服务不检查座机号码,但会尝试将短信发送给运营商进行转发。 将向客户收取将短信发送到座机号码的费用。

是否可以向多个收件人发送短信?

是的,可以通过一个请求向多个收件人发送短信。 按照此快速入门中的操作将短信发送给多个收件人。

我收到了来自发送短信 API 的 HTTP 状态 202,但短信并未发送至我的手机,我该怎么办?

服务返回的 202 表示消息已排队等候发送且未送达。 使用此快速入门订阅发送报告事件及排除故障。 配置事件后,检查发送报告的“deliveryStatus”字段以验证发送是否成功。

如何在消息中发送缩短的 URL?

缩短 URL 是使消息保持简短且易于阅读的好办法。 但是,美国运营商禁止使用免费公开可用的 URL 短链接服务。 这是因为,恶意行动者会使用“免费公开”的 URL 短链接来规避检测,并使他们的垃圾消息能够通过短信平台传递。 在美国发送消息时,我们建议使用自定义 URL 短链接创建 URL 并在其中包含属于你的品牌的专用域。 许多美国运营商会阻止包含公开可用 URL 短链接的短信流量。

以下列表提供了常见 URL 短链接的示例,应避免使用这种链接,以最大程度地确保短信可传递:

  • bit.ly
  • goo.gl
  • tinyurl.com
  • Tiny.cc
  • lc.chat
  • is.gd
  • soo.gd
  • s2r.co
  • Clicky.me
  • budurl.com
  • bc.vc

选择退出处理

Azure 通信服务如何处理免费号码的选择退出操作?

美国免费号码的选择退出操作由美国运营商强制规定并实施,并且不可推翻。

  • STOP - 如果短信接收者希望选择退出,可以向免费电话号码发送“STOP”。 运营商针对 STOP 发送以下默认响应:“网络短信: 你已回复“stop”,将阻止从该号码发送的所有短信。回复“unstop”可再次接收短信。”
  • START/UNSTOP - 如果接收者希望重新订阅某个免费号码的短信,可以向该免费号码发送“START”或“UNSTOP”。 运营商针对 START/UNSTOP 发送以下默认响应:“网络消息:你已回复“unstop”,将再次从该号码接收短信。”
  • Azure 通信服务将检测到 STOP 消息,并阻止后续向接收者发送的所有短信。 发送报告将指示发送失败,状态消息为“给定接收者已阻止发送者”。
  • 系统会将 STOP、UNSTOP 和 START 消息返回给你。 Azure 通信服务建议你监视和实施上述选择退出操作,以确保不再尝试向已选择退出通信的接收者发送短信。

Azure 通信服务如何处理短代码的选择退出操作?

Azure 通信服务提供短代码的选择退出管理服务,使客户能够配置对必需关键字 STOP/START/HELP 的响应。 在预配短代码之前,系统会要求你选择退出。 如果选择加入,选择退出管理服务会自动使用计划简报中对 Opt-in/Opt-out/Help 关键字的响应来响应 STOP/START/HELP 关键字。

示例:

  • STOP - 如果短信接收者希望选择退出,可以向短代码发送“STOP”。 Azure 通信服务发送为 STOP 配置的响应:“Contoso 警报: 你已选择退出,不会再收到任何消息。”
  • START - 如果收件人希望通过短代码重新订阅短信,则他们可以向短代码发送“START”。 Azure 通信服务发送为 START 配置的响应:“Contoso 促销警报: 3 条短信/周。可能会收取短信费用和数据费用。回复 HELP 以获取帮助。回复 STOP 以选择退出。”
  • HELP - 如果收件人希望获得有关你的服务的帮助,则他们可以向短代码发送“HELP”。 Azure 通信服务发送在计划简要中为 HELP 配置的响应:“感谢你向 Contoso 发送短信! 如需支持,请致电 1-800-800-8000。”

Azure 通信服务将检测到 STOP 消息,并阻止后续向接收者发送的所有短信。 发送报告会指示发送失败,状态消息为“指定的接收者已阻止发送者”。 系统会将 STOP、UNSTOP 和 START 消息返回给你。 Azure 通信服务建议你监视和实施上述选择退出操作,以确保不再尝试向已选择退出通信的接收者发送短信。

Azure 通信服务如何处理字母数字发送者 ID 的选择退出操作?

字母数字发送者 ID 无法接收入站消息或 STOP 消息。 Azure 通信服务不会强制或管理字母数字发送者 ID 的选择退出列表。 你必须向客户提供使用其他渠道(例如通话支持、在短信中提供选择退出链接或电子邮件支持)执行选择推出操作的说明。 有关更多详细信息,请参阅消息传送策略指南

短代码

申请短代码的资格是什么?

短代码的可用性当前只限于有美国帐单邮寄地址的付费 Azure 订阅。 无法在试用帐户上或使用 Azure 免费额度获取短代码。 有关更多详细信息,请查看订阅资格页

能否从短代码向免费号码发送短信?

启用 Azure 通信服务免费电话号码可接收来自短代码的短信。 但是,通常不启用短代码将短信发送到免费电话号码。 如果无法将短信从短代码发送到 Azure 通信服务免费电话号码,请与短代码提供商核实是否启用了短代码,以将短信发送到免费电话号码。

应如何设置短代码的格式?

短代码不受 E.164 格式设置准则约束,并且没有国家/地区代码或“+”号前缀。 在短信 API 请求中,短代码应传递为出现在短代码页面中不带任何前缀的 5-6 位数字。

获取短代码需要多久? 在短代码计划简要申请提交后会发生什么情况?

在 Azure 门户中提交了短代码计划简要申请后,服务台将与集成者协作,以使你的申请获得每个无线运营商的批准。 此过程通常需要 8-12 周。 我们将通过你在申请时提供的电子邮件地址来通知你关于申请的所有更新和状态更改。 有关提交的申请的更多问题,请发送电子邮件至 acstnrequest@microsoft.com。

字母数字发件人 ID

重要

自 2023 年 11 月 30 日起,向澳大利亚和意大利发送短信的未注册字母数字发送者 ID 的流量将受阻。 若要防止这种情况发生,需要提交注册申请并处于批准状态。

重要

自 2024 年 6 月 30 日起,向 UK 电话号码发送短信的未注册字母数字发送者 ID 的流量将受阻。 若要防止这种情况发生,需要提交注册申请并处于批准状态。

如何设置字母数字发送者 ID 的格式?

格式设置准则:

  • 必须至少包含一个字母
  • 最多包含 11 个字符
  • 字符可以包括
    • 大写字母:A - Z
    • 小写字母:a - z
    • 数字:0-9
    • 空格

使用字母数字发送者 ID 是否需要购买电话号码?

使用字母数字发送者 ID 不需要购买任何电话号码。 可以通过 Azure 门户启用字母数字发送者 ID。 有关说明,请参阅启用字母数字发送者 ID 快速入门

启用字母数字发送者 ID 后,是否可以立即发送短信?

建议等待 10 分钟再开始发送短信,以获得最佳结果。

为什么我的字母数字发送者 ID 会被某个号码替代?

当某个无线运营商不支持字母数字发送者 ID 时,可能会发生用号码替代字母数字发送者 ID 的情况。 这样做是为了确保高传送速率。

免费电话验证

重要

自 2023 年 11 月 8 日起,向美国电话号码发送短信的未经验证免费电话号码的流量将受阻。 目前,对从挂起的 TFN 发送的限制没有变化。 要解锁流量,需要提交验证申请并处于已验证状态

重要

自 2024 年 1 月 31 日起,只有完全验证的免费电话号码才能发送流量。 向美国和加拿大电话号码发送短信的未经验证免费电话号码的流量将受阻。

什么是免费电话验证?

免费电话验证流程可确保你在免费号码 (TFN) 上运行的服务符合运营商策略和行业最佳做法。 这还为下游运营商提供相关的服务信息,以减少误报筛选和错误垃圾邮件块的可能性。

此验证是最佳短信传递体验所必需的。

如果我不验证我的免费电话号码会怎样?

向美国电话号码发送短信

自 2024 年 1 月 31 日起,行业免费电话聚合器正在授权免费电话验证,并且将只允许经验证的号码发送短信。

新限制如下所示:

限制类型 验证状态 当前限制 限制自 2024 年 1 月 31 日起生效
日限量 未验证 500 被阻止
每周限制 未验证 1,000 被阻止
每月限制 未验证 2,000 被阻止
日限量 待处理的验证 2,000 被阻止
每周限制 待处理的验证 6,000 被阻止
每月限制 待处理的验证 10,000 被阻止
日限量 已验证 无限制 无限制
每周限制 已验证 无限制 无限制
每月限制 已验证 无限制 无限制

重要

对于这两种情况,都将返回 4010 错误代码:超出每日限制;已筛选为垃圾邮件的未经验证的短信流量。

向加拿大电话号码发送短信

自 2022 年 10 月 1 日起,向加拿大目标发送短信的未经验证免费号码的流量将受阻。 要解锁流量,需要提交验证申请并处于已验证状态

不同的应用程序状态(已验证和未验证)是什么意思?

  • 已验证:已验证的号码已通过免费电话验证流程并已获得批准。 他们的流量取决于受限的筛选器。 如果流量确实触发了任何筛选器,则该特定内容将被阻止,但不会自动阻止该号码。
  • 未验证:未经验证的号码 1) 未提交验证申请、2) 已提交验证,正在等待决定,或 3) 申请被拒绝。 这些号码将无法发送任何短信流量。

提交免费电话验证表单后会发生什么?

提交表单后,我们将与下游对等方协调,使应用程序通过免费短信聚合器进行验证。 在我们审核你的申请时,我们可能会与你联系以获取更多信息。

  • 从提交申请到待处理 = 1 到 5 个工作日
  • 从待处理到裁定(已验证/已拒绝/需要更多信息)= 4 到 5 周。 免费电话聚合器目前面临大量申请,因为申请可能需要大约八周才能获得批准。

整个免费电话验证过程大约需要 5-6 周。 这些时间表可能会发生变化,具体取决于免费短信聚合器的申请量和申请质量。 免费电话聚合器目前面临大量申请,因为申请可能需要大约八周才能获得批准。

我们将通过 Azure 门户中的监管边栏选项卡来通知你关于申请的更改更新和状态。

如何提交免费电话验证?

若要提交免费电话验证申请,请导航到 Azure 门户中与免费电话号码关联的 Azure 通信服务资源,然后导航到“电话号码”边栏选项卡。 选择“电话号码”边栏选项卡顶部信息框中显示为“提交申请”的免费电话验证申请链接。 填写此表单。

如何才能被认为是高质量的免费电话验证申请?

申请的质量越高,申请更快进入已验证状态的可能性就越大。

确保你提交高质量申请的指针:

  • 列出的电话号码是免费电话号码
  • 已填写所有必填字段
  • 用例未包含在我们的不合格用例列表
  • 选择加入过程有记录/详细说明
  • 提供选择加入图像 URL 并可公开访问
  • 正在遵循 CTIA 指南

免费电话验证有哪些不符合条件的用例?

高风险金融服务 快速致富计划 债务减免 非法物质/非法活动 常规
发薪日贷款 债务合并 在家工作计划计划 大麻 钓鱼
短期高息贷款 减少债务 风险投资机会 酒精 欺诈或诈骗
汽车贷款 信用修复计划 债务催收或合并 烟草或电子烟 欺骗性营销
按揭贷款 欺骗性在家工作计划 色情内容
学生贷款 多层次营销 与性相关的内容
赌博 亵渎或仇恨言论
抽奖 枪械
库存警报
加密货币

我的数据是如何被使用的?

免费电话验证 (TFV) 涉及 Microsoft 与免费电话消息传递集成者之间的集成。 免费电话消息传递集成者是 TFV 应用程序的最终审阅者和审批者。 Microsoft 必须与免费电话消息传递集成者共享 TFV 应用程序信息,以便他们确认计划详细信息符合运营商规定的 CTIA 准则和标准。 提交 TFV 表单后,即表示你同意 Microsoft 可以根据需要共享 TFV 应用程序详细信息以提供免费电话号码。

字符和速率限制

短信字符数限制是多少?

单条短信的大小为 140 字节。 所发送的单条消息的字符限制取决于消息内容和使用的编码。 Azure 通信服务支持 GSM-7 和 UCS-2 编码。

  • GSM-7 - 只包含文本字符的消息使用 GSM-7 进行编码
  • UCS-2 - 包含 unicode(表情符号、国际语言)的消息使用 UCS-2 进行编码

下表显示了每个短信段可以发送到运营商的最大字符数:

消息 类型 消息中使用的字符 编码 一个段中的最大字符数
Hello world 文本 GSM 标准版 GSM-7 160
你好 Unicode Unicode UCS-2 70

是否可以发送/接收长消息(>2048 个字符)?

Azure 通信服务支持通过短信发送和接收长短信。 但是,某些无线运营商或设备在接收长短信时可能会有不同的操作。 建议将短信保留为 320 个字符的长度,并减少使用重音来确保最大传递。

*美国短代码限制 - 发送/接收包含非 ASCII 字符的消息时,已知限制为大约 4 段。 超过 4 段后,短信可能无法以正确格式传送。

发送短信是否有任何限制?

为了确保我们能够持续提供与 SLA 一致的高质量服务,Azure 通信服务会应用速率限制(每个基元不同)。 如果调用 API 的开发者超出限制,将收到 429 HTTP 状态代码响应。

SMS 的速率限制:

操作 号码类型 范围 时间范围(秒) 限制(请求数) 每分钟请求单位数
发送消息 免费电话 按号码 60 200* 200
发送消息 短代码 按号码 60 6000* 6000
发送消息 字母数字发件人 ID 按资源 60 600* 600

*如果贵公司的需求超出了速率限制,请向 Azure 支持提交请求,以启用更高的吞吐量。

运营商费用

短信的运营商费用是多少?

美国和加拿大运营商对从免费电话号码和短代码发送和/或接收的短信收取额外费用。 运营商附加费是根据消息目的地(针对发送的消息)计算,以及根据发送方(针对接受的消息)计算。 Azure 通信服务对每个消息段收取标准运营商费用。 运营商费用可能会因移动运营商而有所变化。 有关更多详细信息,请参阅短信定价

我们什么时候才能知道这些附加费的变化?

与类似的 Azure 服务一样,客户将至少在实施任何价格更改之前的 30 天收到通知。 这些费用将与生效日期一起反映在我们的短信定价页面上。

紧急支持

客户是否可以出于紧急目的使用 Azure 通信服务?

在美国,Azure 通信服务不支持“发短信给 911”功能,但根据美国联邦通信委员会 (FCC) 的规则,你可能有义务在必要时执行此操作。 你应评估 FCC 的“发短信给 911”规则是否适用于你的服务或应用程序。 在这些规则的适用范围内,你有义务将 911 短信路由到发送请求的紧急呼叫中心。 你可以根据需要确定自己的“发短信给 911”发送模型,但 FCC 接受的一种方法是在用户的移动设备上自动启动本机拨号器,通过基础移动运营商发送 911 短信。