在策划短信营销活动(SMS campaign)时,一个关键问题随之而来:在进行短信营销(sms marketing)时,TeleSign 和其他传统网关在费用翻倍前允许多少个字符?了解这些严格的限制,关系到您的营销活动是能带来丰厚利润,还是会收到一份吞噬所有利润的意外账单。在本指南中,我们将详细剖析短信字符限制的运作原理、隐藏符号如何推高您的成本,以及您如何能够完全绕过这些限制。
短信营销:TeleSign 及其竞争对手对字符数的限制
当使用 TeleSign、Twilio 或 Plivo 等传统云通信平台时,您必须遵守行业标准的电信规则。单条短信的绝对标准限制是 160 个字符。然而,这个限制非常不稳定,完全取决于所使用的字符编码。即使您只超出该限制一个字符,您的服务商也会将消息拆分为多个分段(segments)并对每个分段单独计费。
这意味着,如果您写了一条 161 个字符的消息,您支付的不是一条消息的费用,而是两条。更糟糕的是,当消息被拆分时,需要一些数据开销(overhead)来指示接收方的手机如何重新组装它们。这使得每个拆分消息的限制从 160 个字符降至 153 个字符。以下是标准 GSM 短信字符的计算方式:
- 1 个消息分段:0 到 160 个字符
- 2 个消息分段:161 到 306 个字符(每个分段 153 个字符)
- 3 个消息分段:307 到 459 个字符(每个分段 153 个字符)
对于发送运营更新、预订确认或促销优惠的小型企业来说,这些分段累积得非常快。如果您使用的是标准 API,则必须密切监控文本中的最大字符数,以避免预算超支。如果您厌倦了处理这些复杂的计算,并希望获得更简单的定价模式,可以阅读我们关于 2026 年 Twilio 替代方案 的指南,了解现代平台是如何处理这一问题的。
GSM-7 与 UCS-2 编码的区别
短信字符受到严格限制的原因在于编码标准。默认情况下,网络使用 GSM-7 编码,它支持 128 个基本字符,包括标准拉丁字母、数字和一些常用标点。GSM-7 中的每个字符占用 7 位(bits)数据。
然而,如果您的消息中哪怕只包含一个不属于 GSM-7 字符集的字符——例如表情符号(emoji)、西里尔字母、阿拉伯字母,甚至是某些特定样式的标点符号——系统就必须切换到 UCS-2 (Unicode) 编码。UCS-2 字符每个需要 16 位数据。因此,您文本中的最大字符数会立即从 160 个骤降至 70 个字符。如果 Unicode 消息被拆分,每个分段的限制仅为 67 个字符。
哪些特殊字符通常会影响消息?
许多企业主和开发者在收到月度短信账单时会感到震惊,因为费用比预算翻了一倍,尽管他们的模板看起来明明少于 160 个字符。发生这种情况是因为在复制粘贴文本时混入了隐藏的 Unicode 字符。那么,哪些特殊字符通常最容易影响消息呢?
最常见的罪魁祸首是智能撇号或弯引号(’)。如果您从 Microsoft Word、Google Docs 或 Apple Notes 复制粘贴营销文案,这些程序会自动将标准直撇号(')转换为弯撇号(’)。当您将其粘贴到像 TeleSign 这样的短信网关 API 中时,网关会检测到 Unicode 字符。突然之间,由于限制门槛降至 70 个字符,您原本 150 个字符的消息就被拆分成了三个独立的计费分段。
如果您曾使用过自动化网关,可能会遇到如下错误提示: message should only contain gsm characters for sms. the following characters are not valid: ’。此警告旨在保护您免受意外的多分段计费。其他会触发这种降级的常见字符包括:
- 双弯引号(“ 和 ”)
- 破折号(—)和连接号(–)
- 不在 GSM-7 扩展表中的带重音字符(如 á, í, ó, ú)
- 表情符号(😊, 🚀, ⚠️)
- 非拉丁字母字符
我需要在短信中转换简单字符吗?
开发者经常问的一个常见技术问题是:我需要在短信中转换简单字符吗(do i need to convert simplr characters in sms messages)?是的。如果您使用的是传统 API,则必须在后端实现一个清理脚本(sanitization script)。该脚本应在调用 API 之前,自动将弯引号替换为直引号,将破折号替换为标准连字符,并清除不支持的符号。如果不进行这种转换,意味着您的网关会默默将您的消息升级为 UCS-2 编码,从而急剧增加您的成本。
传统网关与 MySMSGate 的计费方式对比
传统网关如 TeleSign、Twilio 和 Plivo 的很大一部分收入来自多分段计费。他们对每一个 160 字符(或 70 字符)的数据块进行收费。如果您发送一条 161 字符的短信,就需要支付双倍费用。如果您发送一条 320 字符的详细提醒,则需要支付三倍费用。
在 MySMSGate,我们认为这种模式已经过时,且对小型企业不公平。我们将您自己的 Android 手机变成一个短信网关。因为消息是使用您运营商的套餐直接从您自己的 SIM 卡发送的,所以我们不必遵守传统云网关那些限制性的分段计费规则。我们收取 每条已发送短信 $0.02 的固定费用,无论消息有多长。没有月费,没有合同,也没有隐藏的分段乘数。
让我们来看看发送 1,000 条平均长度为 200 个字符的营销或运营消息的成本对比(在 GSM-7 规则下会触发 2 个分段):
| 功能 / 指标 | TeleSign / Twilio(标准云网关) | MySMSGate(Android 网关) |
|---|---|---|
| 每条短信基础价格 | 约 $0.0079 至 $0.05(因国家/地区而异) | $0.02(全球统一价) |
| 200 字符消息计费 | 按 2 个分段计费(双倍成本) | 按 1 条消息计费(无额外费用) |
| Unicode(表情符号)惩罚 | 按 3 个分段计费(三倍成本) | 按 1 条消息计费(无额外费用) |
| A2P 10DLC 注册费 | 必须($15+ 设置费 + 月费) | 无(用您自己的号码发送) |
| 运营商审核等待时间 | 数周的验证和审批 | 即时(2 分钟内开始发送) |
通过利用您自己的 Android 设备,MySMSGate 完全绕过了复杂的运营商注册和分段费用。这使其成为需要向客户列表发送稳定的、基于关系的通知而又不想处理技术头疼问题的小型企业运营商的 最便宜的短信 API。
开发者指南:通过 API 处理短信字符
对于将短信集成到其应用程序中的开发者来说,管理字符集可能是一项繁琐的工作。如果使用 TeleSign 进行开发,您必须不断计算在产生额外费用前,营销短信中可以发送的最大字符数(max characters to send in a marketing sms before it charges you)。这涉及到使用库包来解析字符串并判断其是否包含 Unicode。
使用 MySMSGate,集成过程变得极其简单。您不需要复杂的清理层来省钱。您只需向我们的 API 发送一个 POST 请求,我们就会通过您连接的 Android 手机处理发送。以下是一个使用 Python 发送短信的简单示例:
import requests
url = "https://mysmsgate.net/api/v1/send"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"to": "+1234567890",
"message": "Hello! This is a long marketing message with emojis 🚀 and special characters like ’ that would normally cost you triple on TeleSign. With MySMSGate, it is just one flat rate!",
"sim_slot": 1
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())此 API 调用将直接通过您 Android 设备的 SIM 卡发送消息。接收方会看到您的真实电话号码,从而提高信任度和打开率,同时您也避开了标准的分段计费陷阱。有关设置此工作流程的更多详细信息,请查看我们关于 短信网关与短信 API 的区别 的指南。
常见问题解答
以下是关于短信字符限制、格式错误和网关定价最常见问题的解答。
如何在 gatekey 上为短信获取更多字符?
如果您正在寻找如何在 gatekey 或类似物业管理平台上为短信获取更多字符(how to get more characters for a sms on gatekey)的方法,您通常会受到其内置网关集成的限制。这些系统将您限制在 160 个字符以内,以降低他们自己的成本。为了绕过这些限制,许多物业经理通过 Zapier 或 Make.com 将他们的系统连接到像 MySMSGate 这样的外部 API,从而允许他们发送无限长度的消息,而不会受到字符拆分的惩罚。
dialog 中每条短信的最大字符数是多少?
dialog 中每条短信的最大字符数(maximum characters per sms in dialog)(Dialog 是南亚的一家主要电信运营商)遵循全球标准:标准 GSM-7 文本为 160 个字符,Unicode(僧伽罗语、泰米尔语或表情符号)为 70 个字符。如果您超过这些限制,Dialog 将拆分消息并按分段向您收费。使用基于 Android 的网关(如 MySMSGate)允许您通过本地 Dialog SIM 卡发送短信,同时通过中央 Web 控制面板管理队列。
标准 GSM-7 短信中不允许使用哪些字符?
标准 GSM-7 不支持智能引号(’、“)、表情符号、数学符号或非拉丁字母。如果您的发送平台抛出错误提示“message should only contain gsm characters for sms. the following characters are not valid”,您必须将这些字符替换为标准的 ASCII 等效字符(例如将 ’ 替换为 '),以使您的消息保持在 160 个字符的限制内。
我可以使用 MySMSGate 发送无限字符吗?
是的。因为 MySMSGate 是通过您 Android 手机的原生操作系统发送消息的,所以操作系统会自动处理长消息。虽然长消息在技术上会被移动运营商拆分为多个分段,但 MySMSGate 对从我们控制面板或 API 发送的每条完整消息仅收取 $0.02 的单一固定费用,从而保护您免受多分段 API 计费意外的影响。
Comments (0)
Be the first to comment!