首页 » 博客 » 保加利亚短信最佳实践、合规性和功能

保加利亚短信最佳实践、合规性和功能

保加利亚短信市场概览

区域设置名称: 保加利亚
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 和当地法规

下一步

    1. 审查通信监管委员会的指导方针
    2. 实施适当的同意管理系统。
滚动至顶部