通信接入
为什么一条短信会按多条计费?国内与国际短信如何看长度
短信在手机上"看起来是一条",是因为超长短信会被手机自动合并显示;但在发送环节,它是按段拆分计费的。影响计费条数的有三个因素:实际发送的文字有多长、这条短信用什么语言、发往哪个国家或地区,所以,"手机上只看到一条"不等于"只花了一条的钱"。
国内短信:70 字和 67 字的分档规则
国内短信的通行规则是:
● 签名 + 正文不超过 70 个字 → 按 1 条计费
● 超过 70 个字 → 按每段 67 个字分档,向上取整
计算长度时,签名(含【】符号)与正文一起计数;emoji 等特殊符号可能按 2 个字计。
| 签名+正文总长度 | 怎么算 | 计费条数 |
|---|---|---|
| 70字 | 正好是单条上限 | 1条 |
| 71字 | 71 ÷ 67,向上取整 | 2条 |
| 134字 | 134 ÷ 67 = 2,正好装满两段 | 2条 |
| 135字 | 135 ÷ 67,向上取整 | 3条 |
| 201字 | 201 ÷ 67 = 3,正好装满三段 | 3条 |
| 202字 | 202 ÷ 67,向上取整 | 4条 |
国际短信:还要看语言和目标地区
国内短信数汉字即可,国际短信多了两个变量。
1. 语言决定每条能装多少字
● 纯英文(只用英文字母、数字和常见标点):单条可容纳的字符数更多
● 含中文、阿拉伯文、泰文等非拉丁文字:单条可容纳的字数明显减少
同一段营销文案,中文版可能要拆成 2 条,英文版 1 条就够了。
2. 目标地区规则不同
不同国家和运营商对字符集的支持、长短信的合并方式、是否要求加发件人前缀等规定并不一致。部分地区的短信会额外增加前缀字符,这部分同样计入长度。
实际怎么做
提供各目标市场真正要发的原文——包含品牌签名、语言版本、变量样例和特殊符号——由服务方逐市场核对条数,不要按国内经验直接换算。
模板审核通过,为什么还要检查变量
模板审核通过,只代表模板本身合规。真正发送时,变量会被替换成实际内容,长度会随之变化。
例如"{姓名}您好,您的订单{订单号}已发货"——模板看着很短,但姓名可能是 2 个字也可能是 8 个字,订单号长度也不固定,替换后可能从 1 条变成 2 条。
| 检查项 | 怎么做 |
|---|---|
| 按最长情况试算 | 用最长的姓名、最长的订单号、最长的活动名称替换后,重新统计长度 |
| 留意链接 | 长链接会显著拉长短信,可改用短链接,但要确认短链本身计入的长度 |
| 确认签名版本 | 不同品牌、不同业务可能使用不同签名,签名长度不同,结果也不同 |
| 抽样实测 | 正式群发前先试发,以实际返回的计费条数为准 |
计费条数和送达情况,要分开看
这两件事容易混为一谈,但含义完全不同:
● 请求受理:是指短信是否成功提交到发送通道
● 送达状态:是指短信是否到达对方手机,是成功、失败还是状态未知
● 计费条数:是指这条短信按长度被算作几条
收到"发送成功"的回执,也不代表用户完成了后续动作(例如完成注册、完成支付)。建议:
● 用任务标识关联消息和回执。
● 按实际文本及通道核对计费量。
● 对失败、未知状态和重试分别统计。
● 用业务系统验证后续动作,不把发送成功等同于用户完成业务。
预算前的自检清单
正文、签名、变量展开和特殊字符都可能影响计数。
| 检查项 | 怎么做 | 验收依据 |
|---|---|---|
| 用最终原文核对 | 带上真实签名、真实变量展开后的完整内容,不要只数未填变量的模板 | 得出每条短信的实际计费条数 |
| 确认分档与计数规则 | 单条字数上限、每段字数、特殊字符如何计算 | 以合同约定或所选通道规则为准 |
| 逐市场核对(国际短信) | 区分纯英文与非纯英文,确认是否需加前缀 | 各目标市场分别确认条数 |
| 单独确认附加费用 | 失败是否计费、重试是否重复计费、是否有最低消费 | 写入合同或报价单 |
常见问题
签名算在长度里吗?
所引腾讯云国内规则将签名与正文一起计算;实际接入要核对选定通道的规则。
显示一条就只扣一条吗?
不一定,长短信可合并展示而按多段计费。
emoji 都只算一个字吗?
不能这样假设,部分字符会占用多个计费单位。
示例能用于报价吗?
只能帮助理解拆分,报价还需要实际文本、目标市场、数量和通道条件。
