保加利亚短信市场概览
区域设置名称: | 保加利亚 |
---|---|
ISO 代码: | 保利 |
地区 | 欧洲 |
移动国家代码 (MCC) | 284 |
拨号代码 | +359 |
市场状况:保加利亚拥有成熟的移动市场,短信采用率卢森堡 whatsapp 数据很高。该国的主要移动运营商包括 A1 Bulgaria、Telenor Bulgaria 和 Vivacom。虽然 WhatsApp 和 Viber 等 OTT 消息应用程序很受欢迎,但短信对于商业通信和身份验证仍然至关重要。市场显示 Android 和 iOS 用户之间的分配相对均衡,Android 在市场份额上略有优势。
保加利亚短信的主要功能和能力
保加利亚支持大多数标准短信功能,包括串联消息和号码可携带性,但双向短信功能有限。
双向短信支持
保加利亚的主要短信提供商不支持双向短信。此限制会影响交互式消息传递活动和自动响应系统。
串联消息(分段短信)
支持:是的,支持串联,但可用性可能因发件人 ID 类型而异。
消息长度规则:适用标准短信长度限制 – GSM-7 编码为 160 个字符,UCS-2 编码为 70 个字符。
编码注意事项:支持 GSM-7 和 UCS-2 编码。使用特殊字符的消息将自动使用 UCS-2 编码,从而减少每段的字符限制。
MMS 支持
MMS 消息会自动转换为带有内嵌 URL 链接的 SMS。此转换可确保交付,同时通过基于 Web 的内容交付保持丰富的媒体共享功能。
收件人电话号码兼容性
号码可携性
保加利亚提供号码可携性。此功能允许用户在移动运营商之间切换时保留自己的电话号码,对短信发送或路由的影响最小。
向固定电话发送短信
在保加利亚,无法向固定电话号码发送短信。尝试向固定电话号码发送消息将导致发送失败,并且通常会通过 SMS API 生成 400 响应错误(代码 21614)。
保加利亚短信合规与监管指南
保加利亚遵守欧盟电信法规和 GDPR 的 SMS 通信要求。通信监管委员会 (CRC) 负责监管电信活动,而个人数据保护委员会 (CPDP) 负责执行数据隐私法规。
同意和选择加入
明确同意要求:
-
-
- 发送营销信息前必须获得书面或电子同意 电话号码业务线索
- 必须保留同意记录并方便获取
- 在选择加入时必须明确说明沟通目的
- 建议在营销活动中进行双重选择 继续建立你的信誉和品牌知名度
-
HELP/STOP 和其他命令
-
-
- STOP 命令必须同时支持保加利亚语和英语
- 常见关键字包括:STOP、ОТКАЗ、КРАЙ
- 所有营销信息必须包含退出说明
- 默认情况下,应以保加利亚语提供帮助响应
-
请勿致电/请勿打扰登记
保加利亚没有设立集中式“禁止致电”登记处。但是,企业必须:
-
-
- 维护自己的抑制名单
- 24 小时内尊重退出请求
- 保留退出号码记录至少 2 年
- 根据内部退出数据库定期清理联系人列表
-
时区敏感度
保加利亚遵守东欧时间 (EET/EEST)。最佳做法包括:
-
-
- 在当地时间上午 9:00 到晚上 8:00 之间发送消息
- 避免在国定假日发送消息
- 将工作时间以外的紧急消息限制在真正的紧急情况下
-
保加利亚的电话号码选项和短信发件人类型
字母数字发件人 ID
运营商网络能力:支持
注册要求:无需预先注册,但支持动态使用
发件人 ID 保存:是,但 A1 和 Vivacom Bulgaria 除外,这几个国家可使用通用字母数字 ID
长代码
国内与国际:
-
-
- 不支持国内长代码
- 支持国际长代码
-
发件人 ID 保存:否,国际号码可能会被通用字母数字 ID 覆盖
配置时间:立即至 24 小时
用例:交易消息、警报和通知
短代码
支持:保加利亚目前不支持
配置时间:N/A
使用案例:N/A
受限制的短信内容、行业和用例
限制行业:
-
-
- 未经授权的赌博服务
- 成人内容或服务
- 无牌金融服务
- 加密货币促销活动缺乏适当的免责声明
- 未经授权的医药产品
-
内容过滤
运营商过滤规则:
-
-
- 包含特定关键字的邮件可能会被屏蔽
- URL 应来自信誉良好的域名
- 避免过多的大写字母和特殊字符
-
避免过滤的最佳实践:
-
-
- 使用清晰、专业的语言
- 避免垃圾邮件触发词
- 在发件人 ID 中包含公司名称
- 保持 URL 简短且合法
-
在保加利亚发送短信的最佳做法
信息传递策略
-
-
- 尽可能将消息控制在 160 个字符以内
- 包含明确的号召性用语
- 使用收件人的姓名或偏好来个性化消息
- 保持一致的品牌声音
-
发送频率和时间
-
-
- 每位收件人每月最多可发送 2-4 条消息
- 尊重保加利亚节日和东正教节日
- 除非特别要求,否则避免周末
- 间隔发送消息以防止收件人疲劳
-
本土化
-
-
- 主要语言应为保加利亚语
- 考虑为国际企业提供双语信息
- 对西里尔字母使用正确的字符编码
- 尊重当地的文化差异和习俗
-
退出管理
-
-
- 立即处理退出
- 保留清晰的退出记录
- 确认退出成功
- 定期审核退出名单
-
测试和监控
-
-
- 在保加利亚所有主要运营商 (A1、Telenor、Vivacom) 上进行测试
- 监控承运商的运送费率
- 跟踪参与度指标
- 定期测试选择退出功能
-
保加利亚的 SMS API 集成
Twilio
Twilio 提供强大的 SMS API,全面支持保加利亚号码。实现方法如下:
import * as Twilio from 'twilio';
// Initialize client with your credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
// Function to send SMS to Bulgaria
async function sendBulgarianSMS(
to: string,
message: string,
senderId: string
) {
try {
// Validate Bulgarian phone number format
if (!to.startsWith('+359')) {
throw new Error('Invalid Bulgarian phone number format');
}
const response = await client.messages.create({
body: message,
to: to, // Bulgarian number in E.164 format
from: senderId, // Your registered sender ID
// Optional parameters for delivery tracking
statusCallback: 'https://your-webhook.com/status'
});
return response.sid;
} catch (error) {
console.error('SMS sending failed:', error);
throw error;
}
}
辛奇
Sinch 向保加利亚提供可靠的短信递送服务,并支持 Unicode 字符:
import { SinchClient } from '@sinch/sdk-core';
// Initialize Sinch client
const sinchClient = new SinchClient({
servicePlanId: process.env.SINCH_SERVICE_PLAN_ID,
apiToken: process.env.SINCH_API_TOKEN,
region: 'eu' // Use EU region for Bulgaria
});
async function sendSinchSMS(
recipientNumber: string,
messageText: string
) {
try {
const response = await sinchClient.sms.batches.send({
to: [recipientNumber],
from: 'YourBrand', // Alphanumeric sender ID
body: messageText,
// Enable delivery reports
deliveryReport: 'summary'
});
return response.id;
} catch (error) {
console.error('Sinch SMS failed:', error);
throw error;
}
}
信息鸟
MessageBird 为保加利亚号码提供高吞吐量短信传递:
import * as messagebird from 'messagebird';
// Initialize MessageBird client
const mbClient = messagebird(process.env.MESSAGEBIRD_API_KEY);
// Function to send SMS with delivery tracking
async function sendMessageBirdSMS(
to: string,
message: string
): Promise<string> {
return new Promise((resolve, reject) => {
mbClient.messages.create({
originator: 'YourBrand',
recipients: [to],
body: message,
// Optional parameters
reportUrl: 'https://your-webhook.com/delivery',
encoding: 'auto' // Automatically handle Unicode
}, (err, response) => {
if (err) reject(err);
else resolve(response.id);
});
});
}
普利沃
Plivo 为保加利亚短信提供有竞争力的费率,并提供详细的传递信息:
import * as plivo from 'plivo';
// Initialize Plivo client
const plivoClient = new plivo.Client(
process.env.PLIVO_AUTH_ID,
process.env.PLIVO_AUTH_TOKEN
);
async function sendPlivoSMS(
destination: string,
message: string
) {
try {
const response = await plivoClient.messages.create({
src: 'YourBrand', // Your sender ID
dst: destination, // Destination number
text: message,
// Optional parameters
url: 'https://your-webhook.com/status',
method: 'POST'
});
return response.messageUuid[0];
} catch (error) {
console.error('Plivo SMS failed:', error);
throw error;
}
}
API 速率限制和吞吐量
-
-
- Twilio:每秒 100 条消息
- Sinch:每秒 30 条消息
- MessageBird:每秒 60 条消息
- Plivo:每秒 50 条消息
-
吞吐量管理策略:
-
-
- 实现重试逻辑的指数退避算法
- 使用队列系统(Redis、RabbitMQ)进行大容量发送
- 尽可能批量发送消息(每个请求最多 500 个收件人)
- 监控投递率并相应调整发送模式
-
错误处理和报告
-
-
- 使用 Winston 或 Bunyan 实现全面日志记录
- 跟踪承运商的运送率和失败率
- 设置异常错误率的自动警报
- 存储交货收据以供审计
- 实施断路器以应对 API 故障
-
回顾和其他资源
关键要点:
-
-
- 对于保加利亚号码 (+359) 始终使用 E.164 格式
- 实施适当的错误处理和重试逻辑
- 监控投递率并调整发送模式
- 保持遵守 GDPR 和当地法规
-
下一步:
-
- 审查通信监管委员会的指导方针
- 实施适当的同意管理系统。