不丹短信市场概况
区域设置名称: | 不丹 |
---|---|
ISO 代码: | 英国电信 |
地区 | 亚洲 |
移动国家代码 (MCC) | 402 |
拨号代码 | +975 |
市场状况:不丹的移动市场主要由 B-Mobile 主导。牙买加 whatsapp 数据 短信仍然是重要的通信渠道,尽管通过 B-Mobile 网络交付被视为“尽力而为”。市场显示 OTT 消息应用程序的采用率不断上升,尤其是在城市地区,但由于短信的可靠性和普及性,它仍然在商业通信和通知方面具有重要意义。
不丹短信的主要功能和能力
不丹支持基本的短信功能,但有一些限制,主要通过 B-Mobile 的网络基础设施运行,并提供尽力送达的保证。
双向短信支持
根据当前运营商的能力,不丹不支持双向短信。这意味着企业无法通过标准短信渠道收到对其发送消息的回复。
串联消息(分段短信)
支持:是的,支持串联消息,但根据发件人 ID 类型有一些限制。
消息长度规则:在串联之前适用标准短信长度限制。
编码注意事项:支持 GSM-7 和 UCS-2 编码,UCS-2 对于本电话号码业务线索地宗卡语支持尤其重要。
MMS 支持
不丹不直接支持彩信。尝试发送彩信内容时,信息会自动转换为短信格式,并嵌入 URL 链接,收件人可以通过该链接访问多媒体内容。
收件人电话号码兼容性
号码可携性
不丹不提供号码可携性。这意味着手机号码仍与原运营商绑定,简化了信息路由,但限制了消费者的灵活性。
向固定电话发送短信
不丹不支持向固定电话号码发送短信。尝试向固定电话号码发送信息将导致发送失败并出现 400 响应错误(代码 21614),并且不会产生任何费用。
不丹短信合规与监管指南
根据 2018 年《信息、通信和媒体法》,不丹的短信通信受不丹信息通信和媒体管理局 (BICMA) 的监管。SMS-CB 服务行为准则为移动服务提供商和信息发送者提供了具体指导方针。
同意和选择加入
明确同意要求:
- 发送营销信息前必须获得书面或电子同意
- 同意记录应保存并易于获取
- 在选择加入时必须明确说明沟通目的
- 同意书应明确规定订阅者将收到的消息类型
HELP/STOP 和其他命令
- 所有短信活动必须支持“帮助”和“停止”命令
- 应能识别英语和宗卡语的命令
- 对帮助/停止命令的响应必须立即且免费
- 用户必须有随时取消订阅 SMS-CB 服务的选项
请勿致电/请勿打扰登记
尽管不丹没有设立集中式“禁止致电”登记处,但企业应该:
- 维护自己的抑制名单
- 立即尊重退出请求
- 记录所有退出请求
- 在 24 小时内删除选择退出的号码 评估和优化页面速度
- 定期清理联系人列表以确保合规性
时区敏感度
不丹遵循 BTT(UTC+6),虽然没有严格的法定时间限制,但最佳做法包括:
- 在 BTT 上午 9:00 至晚上 8:00 之间发送消息
- 避免在宗教节日和节日期间发送信息
- 将工作时间以外的紧急信息限制在真正的紧急情况下
不丹的电话号码选项和短信发件人类型
字母数字发件人 ID
运营商网络能力:支持
注册要求:无需预先注册
发件人 ID 保存:是,发件人 ID 会保存并显示为已发送
长代码
国内与国际:
- 不支持国内长代码
- 完全支持国际长代码
发件人 ID 保存:是,原始发件人 ID 被保存
配置时间:立即至 24 小时
用例:适用于交易消息和双因素身份验证
短代码
支持:不丹目前不支持
配置时间:N/A
使用案例:N/A
受限制的短信内容、行业和用例
限制内容:
- 赌博和博彩服务
- 成人内容或露骨内容
- 未经授权的金融服务
- 未经适当授权的政治竞选信息
- 未经适当许可的宗教内容
内容过滤
运营商过滤规则:
- 包含受限关键字的消息可能会被屏蔽
- URL 应来自经过验证的域
- 大量相同的邮件可能会被标记为垃圾邮件
避免阻塞的最佳实践:
- 避免过多的标点符号和特殊字符
- 使用已注册并获批准的发件人 ID
- 保持一致的发送模式
- 在消息中包含清晰的业务标识
在不丹发送短信的最佳做法
信息传递策略
- 尽可能将消息控制在 160 个字符以内
- 包含明确的号召性用语
- 在每条消息中标识您的业务
- 使用批准的模板进行一致的消息传递
发送频率和时间
- 每位收件人每周最多可收到 3-4 条消息
- 尊重不丹的节日
- 在工作时间内安排消息
- 分散批量活动以避免网络拥堵
本土化
- 支持英语和宗卡语
- 考虑本地语言的 Unicode 要求
- 使用适合当地文化的信息
- 尊重当地习俗和敏感性
退出管理
- 在消息中包含明确的退出说明
- 24 小时内处理退出
- 维护准确的退出记录
- 提供多种退出渠道
测试和监控
- 在不同设备上测试消息
- 密切监控运送率
- 跟踪参与度指标
- 定期检查退回率和投递失败率
不丹的 SMS API 集成
Twilio
Twilio 提供了一个简单的 REST API,用于向不丹发送短信。以下是实现方法:
import { Twilio } from 'twilio';
// Initialize the client with your credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to Bhutan
async function sendSmsToBhutan(
to: string,
message: string,
senderId: string
): Promise<void> {
try {
// Ensure proper formatting for Bhutan numbers (+975)
const formattedNumber = to.startsWith('+975') ? to : `+975${to}`;
const response = await client.messages.create({
body: message,
from: senderId, // Alphanumeric sender ID
to: formattedNumber,
});
console.log(`Message sent successfully! SID: ${response.sid}`);
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
辛奇
Sinch 通过其 REST API 为不丹提供强大的 SMS 功能:
import { SinchClient } from '@sinch/sdk-core';
// Initialize Sinch client
const sinchClient = new SinchClient({
projectId: process.env.SINCH_PROJECT_ID,
keyId: process.env.SINCH_KEY_ID,
keySecret: process.env.SINCH_KEY_SECRET,
smsRegion: 'ap' // Asia Pacific region for Bhutan
});
// Function to send SMS using Sinch
async function sendSinchSms(
to: string,
message: string
): Promise<void> {
try {
const response = await sinchClient.sms.batches.send({
sendSMSRequestBody: {
to: [to],
from: 'YourBrand', // Alphanumeric sender ID
body: message,
type: 'mt_text'
}
});
console.log(`Batch ID: ${response.id}`);
} catch (error) {
console.error('Sinch SMS Error:', error);
throw error;
}
}
信息鸟
MessageBird 提供了可靠的 API 来向不丹发送短信:
import messagebird from 'messagebird';
// Initialize MessageBird client
const messageBirdClient = messagebird(process.env.MESSAGEBIRD_API_KEY);
// Function to send SMS via MessageBird
function sendMessageBirdSms(
to: string,
message: string,
senderId: string
): Promise<void> {
return new Promise((resolve, reject) => {
const params = {
originator: senderId,
recipients: [to],
body: message,
datacoding: 'unicode' // Support for local language
};
messageBirdClient.messages.create(params, (err, response) => {
if (err) {
reject(err);
return;
}
resolve(response);
});
});
}
普利沃
Plivo 与不丹短信的 API 集成:
import plivo from 'plivo';
// Initialize Plivo client
const plivoClient = new plivo.Client(
process.env.PLIVO_AUTH_ID,
process.env.PLIVO_AUTH_TOKEN
);
// Function to send SMS via Plivo
async function sendPlivoSms(
to: string,
message: string,
senderId: string
): Promise<void> {
try {
const response = await plivoClient.messages.create({
src: senderId,
dst: to,
text: message,
url_strip_query_params: false
});
console.log('Message UUID:', response.messageUuid);
} catch (error) {
console.error('Plivo Error:', error);
throw error;
}
}
API 速率限制和吞吐量
- 默认速率限制:每秒 30 个请求
- 建议每小时处理量超过 1000 件时进行批量处理
- 实现重试逻辑的指数退避算法
- 高峰时段排队消息
吞吐量管理策略:
- 实现消息队列系统
- 使用批处理 API 进行批量发送
- 监控投递率并调整发送速度
- 实施断路器来处理错误
错误处理和报告
- 记录所有 API 响应和错误
- 实现失败消息的重试逻辑
- 监控送货回执
- 跟踪常见错误代码及其解决方案
- 设置异常错误率警报
回顾和其他资源
关键要点:
- 始终使用正确的电话号码格式 (+975)
- 实施适当的退出处理
- 遵循时区注意事项
- 维护干净的联系人列表
- 监控配送率。