首页 » 博客 » 博茨瓦纳短信最佳实践、合规性和功能

博茨瓦纳短信最佳实践、合规性和功能

博茨瓦纳短信市场概况

区域设置名称: 博茨瓦纳
ISO 代码: 体重
地区 中东和非洲
移动国家代码 (MCC) 652
拨号代码 +267

市场状况:博茨瓦纳的移动市场正在不断增长,个人和商业通信中马耳他 whatsapp 数据短信的使用量都在增加。该国的电信行业由三大运营商主导:Mascom Wireless、Orange Botswana 和 BTC Mobile (beMobile)。虽然 WhatsApp 等 OTT 消息应用程序越来越受欢迎,尤其是在城市地区,但短信仍然是一种可靠且广泛使用的通信渠道,尤其是对于企业对消费者的通信以及互联网连接有限的地区。Android 设备在移动市场占据主导地位,但 iOS 设备主要在城市中心占有一席之地。


博茨瓦纳的主要短信功能和能力

博茨瓦纳支持基本的短信功能,但对高级功能有一些限制,主要侧重于支持字母数字发件人 ID 的单向消息传递。

双向短信支持

博茨瓦纳的主要短信服务提供商不支持双向短信。这一限制意味着企业应仅围绕单向通信来设计短信策略。

串联消息(分段短信)

支持:博茨瓦纳不支持串联消息。
消息长度规则:消息应保持在标准 SMS 长度限制内以确保传递。
编码注意事项:支持 GSM-7 和 UCS-2 编码,其中 GSM-7 允许标准拉丁字符,而 UCS-2 允许本地语言支持。

MMS 支持

博茨瓦纳不直接支持彩信。相反,彩信内容会自动转换为短信,并嵌入 URL 链接,收件人可以查看多媒体内容。这种转换确保富媒体仍可共享,同时保持与所有移动设备的兼容性。

收件人电话号码兼容性

号码可携性

博茨瓦纳不提供号码可携性。这意味着手机号码仍与原网络运营商绑定,从而简化消息路由和传递。

向固定电话发送短信

在博茨瓦纳,无法向固定电话号码发送短信。尝试向固定电话号码发送短信将导致发送失败,并且可能会触发 SMS API 的 400 响应错误(错误代码 21614)。这些消息不会出现在日志中,并且不会因失败的尝试而向帐户收取费用。

博茨瓦纳短信合规与监管指南

博茨瓦纳的短信通信受博茨瓦纳通信监管局 (BOCRA) 监管。组织必须遵守 BOCRA 准则以及电信提供商对短信营销和通信的要求。

明确同意要求

  • 发送营销信息前必须获得书面或电子同意 意大利电话号码
  • 同意记录应保存并易于获取
  • 在选择加入时必须明确说明沟通目的 如何创建主题集群
  • 建议在营销活动中使用双重选择

同意文件的最佳做法

  • 存储时间戳和同意来源
  • 保留选择加入方法的详细记录
  • 保留同意记录至少 2 年
  • 定期审核同意数据库

HELP/STOP 和其他命令

  • 所有短信活动必须支持标准 STOP 和 HELP 命令
  • 关键词应支持英语和塞茨瓦纳语
  • 常见命令包括:
    • 停止、结束、取消、退订
    • 帮助、信息
  • 这些命令的响应应该是即时的和免费的

请勿致电/请勿打扰登记

博茨瓦纳没有官方的“禁止致电”登记处。但是,企业应该:

  • 维护自己的抑制名单
  • 24 小时内尊重退出请求
  • 定期清理联系人数据库
  • 实施内部禁止联系政策

时区敏感度

信息发送时间

  • 避免在当地时间晚上 10 点至早上 6 点之间发送消息
  • 例外情况:紧急或关键服务消息
  • 考虑在工作时间(上午 8 点至下午 5 点)发送商业信息
  • 尊重当地节假日和周末

博茨瓦纳的电话号码选项和短信发件人类型

字母数字发件人 ID

运营商网络能力:完全支持
注册要求:无需预先注册
发送者 ID 保存:是,发送者 ID 按规定保存
最佳实践:使用公司名称或可识别的品牌标识符

长代码

国内与国际

  • 不支持国内长代码
  • 支持国际长代码但有限制

发件人 ID 保存:否,国际号码可能会被本地格式替换
配置时间:国际号码立即可用
用例:交易消息、警报、通知

短代码

支持:目前不支持博茨瓦纳
替代方案:使用字母数字发件人 ID 进行营销活动

受限制的短信内容、行业和用例

限制行业

  • 赌博(需要特殊许可)
  • 成人内容(禁止)
  • 金融服务(需监管部门批准)
  • 医疗保健(受隐私法规约束)

内容过滤

运营商过滤规则

  • 包含特定关键字的邮件可能会被屏蔽
  • URL 应来自批准的域
  • 避免过多的标点符号和特殊字符

避免过滤的最佳实践

  • 使用清晰、专业的语言
  • 避免垃圾邮件触发词
  • 在消息中包含公司名称
  • 保持 URL 简短且合法

在博茨瓦纳发送短信的最佳做法

信息传递策略

  • 尽可能将消息控制在 160 个字符以内
  • 包含明确的号召性用语
  • 使用收件人姓名进行个性化
  • 保持一致的发件人 ID

发送频率和时间

  • 每位收件人每周最多可收到 2-3 条消息
  • 尊重营业时间
  • 考虑文化活动和节日
  • 分散批量广告活动

本土化

  • 支持英语和塞茨瓦纳语
  • 使用适当的文化参考
  • 考虑地区差异
  • 避免使用可能翻译不太好的口语

退出管理

  • 24 小时内处理退出
  • 在所有广告系列中维护单一退出列表
  • 最后一条消息确认退出
  • 定期清理数据库

测试和监控

  • 在所有主要运营商(Mascom、Orange、BTC)上进行测试
  • 监控承运商的运送费率
  • 跟踪参与度指标
  • 定期绩效报告

博茨瓦纳的 SMS API 集成

Twilio

Twilio 提供强大的 SMS API,全面支持博茨瓦纳。集成需要账户 SID 和身份验证令牌进行身份验证。

import { Twilio } from 'twilio';

// Initialize Twilio client with credentials
const client = new Twilio(
  process.env.TWILIO_ACCOUNT_SID,
  process.env.TWILIO_AUTH_TOKEN
);

async function sendSMSToBotswana(
  to: string,
  message: string,
  senderId: string
) {
  try {
    // Send message with proper country code format
    const response = await client.messages.create({
      body: message,
      from: senderId, // Alphanumeric sender ID
      to: `+267${to}` // Botswana country code
    });
    
    console.log(`Message sent successfully: ${response.sid}`);
    return response;
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

辛奇

Sinch 在博茨瓦纳提供直接承运商连接,并支持字母数字发件人 ID。

import axios from 'axios';

class SinchSMSService {
  private readonly apiToken: string;
  private readonly serviceId: string;
  private readonly baseUrl: string;

  constructor(apiToken: string, serviceId: string) {
    this.apiToken = apiToken;
    this.serviceId = serviceId;
    this.baseUrl = 'https://sms.api.sinch.com/xms/v1';
  }

  async sendSMS(to: string, message: string, senderId: string) {
    try {
      const response = await axios.post(
        `${this.baseUrl}/${this.serviceId}/batches`,
        {
          from: senderId,
          to: [`+267${to}`],
          body: message
        },
        {
          headers: {
            'Authorization': `Bearer ${this.apiToken}`,
            'Content-Type': 'application/json'
          }
        }
      );
      
      return response.data;
    } catch (error) {
      console.error('Sinch SMS Error:', error);
      throw error;
    }
  }
}

信息鸟

MessageBird 在博茨瓦纳提供可靠的短信传递服务,并支持大容量短信。

import { MessageBird } from 'messagebird';

class MessageBirdService {
  private client: MessageBird;

  constructor(apiKey: string) {
    this.client = new MessageBird(apiKey);
  }

  async sendSMS(
    to: string,
    message: string,
    senderId: string
  ): Promise<any> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator: senderId,
        recipients: [`+267${to}`],
        body: message,
        datacoding: 'auto' // Automatic encoding detection
      }, (err, response) => {
        if (err) {
          reject(err);
        } else {
          resolve(response);
        }
      });
    });
  }
}

普利沃

Plivo 为博茨瓦纳的短信提供有竞争力的价格和可靠的传送。

import plivo from 'plivo';

class PlivoSMSService {
  private client: any;

  constructor(authId: string, authToken: string) {
    this.client = new plivo.Client(authId, authToken);
  }

  async sendSMS(to: string, message: string, senderId: string) {
    try {
      const response = await this.client.messages.create({
        src: senderId,
        dst: `+267${to}`,
        text: message,
        // Optional parameters for delivery tracking
        url: 'https://your-callback-url.com/status',
        method: 'POST'
      });
      
      return response;
    } catch (error) {
      console.error('Plivo Error:', error);
      throw error;
    }
  }
}

API 速率限制和吞吐量

  • 默认速率限制:每秒 100 条消息
  • 建议对每小时处理量 > 1000 件的情况进行批量处理
  • 实现重试逻辑的指数退避算法
  • 在高峰时段对消息进行排队

吞吐量管理策略

  • 尽可能使用批处理 API
  • 实现消息队列系统
  • 监控投递率并调整发送速度
  • 在非高峰时段安排大型活动

错误处理和报告

  • 实施全面日志记录
  • 监控送货回执
  • 跟踪常见错误代码
  • 设置故障阈值的自动警报

回顾和其他资源

关键要点

  • 始终使用字母数字发件人 ID
  • 尊重安静时间(晚上 10 点至凌晨 6 点)
  • 保存适当的同意记录
  • 支持英语和塞茨瓦纳语
  • 密切监控运送率

下一步

  1. 审查 BOCRA 法规
  2. 实施适当的选择加入/选择退出处理
  3. 设置配送监控
  4. 在所有主要运营商上进行测试。
滚动至顶部