首页 » 博客 » 文莱短信最佳实践、合规性和功能

文莱短信最佳实践、合规性和功能

文莱短信市场概况

区域设置名称: 文莱
ISO 代码: 国阵
地区 亚洲
移动国家代码 (MCC) 528
拨号代码 +673

市场状况:文莱拥有高度发达的移动新加坡 whatsapp 数据电信基础设施,短信使用十分广泛。市场主要由 DST、Progresif 和 imagine 等主要运营商主导。虽然 WhatsApp 和微信等 OTT 消息应用程序很受欢迎,但短信因其可靠性和普及性对于商业通信和身份验证服务仍然至关重要。


文莱短信的主要功能和能力

文莱支持标准短信功能,包括字母数字发件人 ID 和串联消息,但双向短信功能有限。

双向短信支持

文莱的 A2P 消息传递不支持双向短信。
由于此功能目前不受支持,因此没有特殊要求。

串联消息(分段短信)

支持:是的,支持串联,但可用性可能因发件人 ID 类型而异。
消息长度规则:标准短信长度限制适用 – GSM-7 编码为 160 个字符,UCS-2 编码为 70 个字符。
编码注意事项:支持 GSM-7 和 UCS-2 编码,消息会根据您可以通过搜索关键字进行跟踪使用的编码自动拆分和重新连接。

MMS 支持

MMS 消息会自动转换为 SMS,并嵌入 URL 链接以访问多媒体内容。
最佳实践:发送多媒体内容时,请确保 URL 简短且标记清晰,并考虑在消息中包含内容的文件大小。

收件人电话号码兼容性

号码可携性

文莱不提供号码可携性。
这意味着电话号码仍与原移动网络运营商绑定,从而简化了消息路由和传递。

向固定电话发送短信

在文莱,无法向固定电话号码发送短信。
尝试向固定电话号码发送短信将导致 400 响应,错误代码为 21614,并且该消息将不会发送或从账户中扣除。

文莱短信合规与监管指南

信息通信技术产业管理局 (AITI) 根据 2001 年《电信法令》负责监管文莱的短信通信。AITI 执行严格的法规,重点关注消费者保护和数据隐私。

明确同意要求

  • 实施多层级同意获取系统 新闻 美国
  • 记录时间戳和同意操作
  • 生成唯一的同意标识符
  • 保留同意记录至少 2 年

文件必须包括

  • 用户身份
  • 电话号码
  • 同意时间戳
  • 同意渠道
  • 目的代码
  • 条款版本

HELP/STOP 和其他命令

必填关键字

  • 英语:“停止”、“取消”、“取消订阅”、“结束”
  • 马来语:“BERHENTI”、“TAMAT”

实施要求

  • 在 24 小时内处理退出请求
  • 发送英语和马来语的确认信息
  • 实时更新集中退出数据库

请勿致电/请勿打扰登记

虽然文莱没有集中式 DNC 注册表,但企业必须:

  • 维护自己的抑制名单
  • 立即尊重退出请求
  • 记录所有选择退出的操作
  • 定期审核和更新抑制列表

时区敏感度

营业时间

  • 允许发送时间:文莱标准时间 (UTC+8) 上午 8:00 – 晚上 8:00
  • 需要自动验证营业时间
  • 紧急消息例外(必须明确标记为紧急)

文莱的电话号码选项和短信发件人类型

字母数字发件人 ID

运营商网络能力:支持
注册要求:无需预先注册,支持动态使用
发送者 ID 保存:是,发送者 ID 按规定保存

长代码

国内与国际

  • 国内长代码:不支持
  • 国际长代码:支持

发件人 ID 保存:是,原始发件人 ID 被保存
配置时间:立即至 24 小时
用例:适用于交易消息和双因素身份验证

短代码

支持:文莱不支持
配置时间:N/A
使用案例:N/A


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

禁止内容

  • 赌博和博彩服务
  • 成人内容或露骨内容
  • 未经授权的金融服务
  • 未获得适当许可的加密货币促销活动
  • 未经授权的政治竞选信息

内容过滤

运营商过滤规则

  • 包含限制关键字的消息将被自动屏蔽
  • URL 必须来自批准的域
  • 信息内容必须符合当地的文化和宗教敏感性

避免阻塞的最佳实践

  • 避免过多的标点符号和特殊字符
  • 使用经批准的 URL 缩短服务
  • 包括明确的业务标识
  • 遵循字符编码标准

在文莱发送短信的最佳做法

信息传递策略

  • 尽可能将消息控制在 160 个字符以内
  • 包含明确的号召性用语
  • 一致地使用企业名称
  • 避免过度大写

发送频率和时间

  • 每位收件人每天最多 3 条消息
  • 尊重宗教仪式(特别是在斋月期间)
  • 避免在周五祈祷期间发送(中午 12:00 – 下午 2:00)
  • 考虑公共假期和皇家庆典

本土化

  • 同时使用英语和马来语以扩大影响力
  • 马来语信息应使用适当正式的马来语
  • 考虑消息内容中的文化敏感性
  • 称呼收件人时使用适当的敬语

退出管理

  • 在每条消息中包括明确的退出说明
  • 24 小时内处理退出
  • 发送英语和马来语的退出确认信息
  • 维护准确的退出记录

测试和监控

  • 向所有主要运营商 (DST、Progresif、imagine) 发送测试消息
  • 监控承运商的运送费率
  • 跟踪退出率和模式
  • 定期审核同意记录和抑制名单

文莱的 SMS API 集成

Twilio

Twilio 提供强大的 SMS API,全面支持文莱。集成需要 Twilio 仪表板上的帐户 SID 和 Auth Token。

import * as Twilio from 'twilio';

// Initialize Twilio client
const client = new Twilio(
  process.env.TWILIO_ACCOUNT_SID,    // Your Account SID
  process.env.TWILIO_AUTH_TOKEN      // Your Auth Token
);

// Function to send SMS to Brunei
async function sendSmsToBrunei(
  to: string,                        // Recipient number (format: +673XXXXXXX)
  message: string,                   // Message content
  senderId: string = 'YOUR_SENDER'   // Alphanumeric sender ID
) {
  try {
    const response = await client.messages.create({
      body: message,
      to: to,                        // Brunei number in E.164 format
      from: senderId,                // Your approved sender ID
      // Optional parameters for delivery tracking
      statusCallback: 'https://your-webhook.com/status'
    });
    
    console.log(`Message sent successfully! SID: ${response.sid}`);
    return response;
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

辛奇

Sinch 在文莱提供直连承运商,投递率高。身份验证使用服务计划 ID 和 API 令牌。

import axios from 'axios';

class SinchSmsService {
  private readonly apiToken: string;
  private readonly servicePlanId: string;
  private readonly baseUrl: string = 'https://sms.api.sinch.com/xms/v1';

  constructor(servicePlanId: string, apiToken: string) {
    this.servicePlanId = servicePlanId;
    this.apiToken = apiToken;
  }

  async sendSmsToBrunei(
    to: string,                      // Recipient number
    message: string,                 // Message content
    senderId: string                 // Sender ID
  ) {
    try {
      const response = await axios.post(
        `${this.baseUrl}/${this.servicePlanId}/batches`,
        {
          from: senderId,
          to: [to],
          body: message,
          // Brunei-specific delivery options
          delivery_report: 'summary'
        },
        {
          headers: {
            'Authorization': `Bearer ${this.apiToken}`,
            'Content-Type': 'application/json'
          }
        }
      );
      
      return response.data;
    } catch (error) {
      console.error('Sinch SMS error:', error);
      throw error;
    }
  }
}

信息鸟

MessageBird 在文莱提供可靠的短信传递服务,支持字母数字和数字发件人 ID。

import { MessageBird } from 'messagebird';

class MessageBirdService {
  private client: MessageBird;

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

  sendMessage(
    recipient: string,               // Brunei number
    message: string,                 // Message content
    originator: string              // Sender ID
  ): Promise<any> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator,
        recipients: [recipient],
        body: message,
        // Brunei-specific parameters
        datacoding: 'auto',          // Automatic character encoding
        type: 'sms'                  // Message type
      }, (err, response) => {
        if (err) {
          reject(err);
        } else {
          resolve(response);
        }
      });
    });
  }
}

API 速率限制和吞吐量

文莱的费率限制

  • 每位收件人每天最多 3 条消息
  • 批量发送限制:每个请求 100 条消息
  • API 调用:每秒 100 个请求

吞吐量管理策略

  • 使用 Redis 或 RabbitMQ 实现消息队列
  • 针对大型活动使用批量发送
  • 实施指数退避重试
  • 监控投递率并调整发送速度

错误处理和报告

记录最佳实践

  • 记录所有 API 响应和交付状态
  • 实施送达回执的 Webhook 端点
  • 跟踪消息生命周期事件
  • 存储送货收据以确保合规性

故障排除提示

  • 验证电话号码格式 (E.164)
  • 检查发件人 ID 合规性
  • 监控速率限制标头
  • 为 API 调用实施断路器

回顾和其他资源

关键要点

  • 始终使用 E.164 格式的电话号码 (+673XXXXXXX)
  • 实施适当的同意管理
  • 遵守当地营业时间(上午 8:00 – 晚上 8:00)
  • 支持英语和马来语退出关键字。
滚动至顶部