首页 » 博客 » 黎巴嫩短信最佳实践、合规性和功能

黎巴嫩短信最佳实践、合规性和功能

黎巴嫩短信市场概况

区域设置名称: 黎巴嫩
ISO 代码:
地区 中东和非洲
移动国家代码 (MCC) 415
拨号代码 +961

市场状况:黎巴嫩拥有活跃的移动通阿联酋 whatsapp 数据信市场,短信使用广泛,尽管 WhatsApp 等 OTT 消息应用程序也获得了广泛欢迎。该国的主要移动运营商是 Alfa 和 Touch(前身为 MTC Touch),为城市和农村地区提供全面覆盖。虽然 Android 和 iOS 设备都很常见,但 Android 因其价格实惠的设备种类更多而占据更大的市场份额。


黎巴嫩的主要短信功能和能力

黎巴嫩支持基本的短信功能,但对高级功能有一些限制,主要侧重于单向消息马其顿短信最佳实践、合规性和功能传递功能,支持连接消息和字母数字发件人 ID。

双向短信支持

黎巴嫩不支持通过标准 A2P 渠道发送双向短信。企业应考虑使用其他通信渠道(如电子邮件或 Web 表单)来接收客户回复。

串联消息(分段短信)

支持:是的,支持串联,但可用性可能因发件人 ID 类型而异。
消息长度规则:使用 GSM-7 编码进行拆分之前的标准 160 个字符。
编码注意事项:使用 GSM-7 编码的消息允许 160 个字符,而 UCS-2 编码(用于阿拉伯语和特殊字符)允许每段 70 个字符。

MMS 支持

黎巴嫩不直接支持彩信。相反,彩信内容会自动转换领导孟加拉国搜索引擎优化为短信,并嵌入 URL 链接,收件人可以查看多媒体内容。这既确保了兼容性,又保持了共享富媒体内容的能力。

收件人电话号码兼容性

号码可携性

黎巴嫩不提供号码可携性。这意味着手机号码仍与原运营商绑定,从而简化了消息路由和传递。

向固定电话发送短信

在黎巴嫩无法向固定电话号码发送短信。尝试向固定电话号码发送消息将导致 400 响应错误(代码 21614),并且该消息将不会发送或记录在系统中。

黎巴嫩短信合规与监管指南

黎巴嫩的短信通信受电信管理局 (TRA) 监管。虽然具体的短信营销法律仍在制定中,但企业必须遵守一般电信法规以及有关信息同意和隐私的国际最佳实践。

明确同意要求:

  • 在发送任何营销信息之前,获得明确、有记录的选择加入同意
  • 保存何时以及如何获得同意的详细记录
  • 在选择加入时包含明确的服务条款和隐私政策信息
  • 指定用户可以期待的消息类型和频率

文档的最佳实践:

  • 存储带有时间戳和来源的同意记录
  • 维护选择加入方法的审计线索
  • 定期更新和验证同意状态
  • 实施营销活动的双重选择

HELP/STOP 和其他命令

  • 所有短信活动必须支持英语和阿拉伯语的标准退出关键字:
    • 停止/停止
    • 取消/取消
    • 帮助/帮助
  • 这些命令的响应信息应该用英语和阿拉伯语发送
  • 收到停止命令后必须立即发送退出确认

请勿致电/请勿打扰登记

黎巴嫩没有官方的“禁止致电”登记处。但是,企业应该:

  • 维护自己的抑制名单
  • 24 小时内尊重退出请求
  • 定期清理联系人列表以删除未订阅的号码
  • 实施自动化系统以防止向选择退出的号码发送消息

时区敏感度

黎巴嫩遵守东欧时间 (EET/UTC+2)。最佳做法包括:

  • 在当地时间上午 9:00 至晚上 8:00 之间发送消息
  • 避免在宗教节日和周五祈祷期间发送
  • 适当时考虑调整斋月时间
  • 如有必要,可在上述时间以外发送紧急信息

黎巴嫩的电话号码选项和短信发件人类型

字母数字发件人 ID

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

长代码

国内与国际

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

发件人 ID 保存:否,国际数字发件人 ID 通常会被覆盖
配置时间:N/A
用例:不推荐用于营销活动;更适合交易消息

短代码

支持:黎巴嫩目前不支持
配置时间:N/A
用例:N/A


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

受限内容类型:

  • 赌博和博彩服务
  • 成人内容或露骨内容
  • 未经适当授权的政治信息
  • 加密货币和未经授权的金融服务
  • 未经适当许可的宗教内容

受监管行业:

  • 金融服务需要额外的免责声明
  • 医疗保健信息必须遵守隐私法规
  • 保险服务需要特定的监管批准

内容过滤

已知运营商过滤器:

  • 来自未知域名的 URL 可能会被阻止
  • 包含与受限内容相关的特定关键字的邮件
  • 多个感叹号或全大写消息

最佳实践:

  • 避免在邮件中使用 URL 缩短器
  • 使用清晰、专业的语言
  • 在消息中包含公司名称
  • 避免过多的标点符号和特殊字符

在黎巴嫩发送短信的最佳做法

信息传递策略

  • 尽可能将消息控制在 160 个字符以内
  • 包含明确的号召性用语
  • 慎重使用个性化标记
  • 保持一致的品牌声音

发送频率和时间

  • 每位用户每月最多发送 2-4 条消息
  • 尊重宗教和文化习俗
  • 避免在重大节假日期间发送
  • 适当地间隔开消息

本土化

  • 支持阿拉伯语和英语
  • 使用正确的阿拉伯字符编码
  • 考虑信息内容中的文化差异
  • 确保阿拉伯语文本从右到左正确显示

退出管理

  • 实时处理退出
  • 发送退出确认
  • 维护集中退出数据库
  • 定期审核选择退出合规性

测试和监控

  • 在两家主要运营商之间测试消息
  • 监控承运商的运送费率
  • 跟踪参与度指标
  • 定期测试选择退出功能

黎巴嫩的 SMS API 集成

Twilio

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

关键参数:

  • accountSid:您的 Twilio 帐户标识符
  • authToken:您的身份验证令牌
  • from:字母数字发件人 ID(最多 11 个字符)
  • to:E.164 格式的收件人号码 (+961)
  • body:消息内容(支持Unicode)
import { Twilio } from 'twilio';

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

// Function to send SMS to Lebanon
async function sendSMSToLebanon(
  to: string,
  message: string,
  senderId: string
): Promise<void> {
  try {
    // Validate Lebanon phone number format
    if (!to.startsWith('+961')) {
      throw new Error('Invalid Lebanon phone number format');
    }

    const response = await client.messages.create({
      body: message,
      from: senderId,  // Alphanumeric sender ID
      to: to,
      // Optional parameters for delivery tracking
      statusCallback: 'https://your-webhook.com/status'
    });

    console.log(`Message sent successfully! SID: ${response.sid}`);
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

辛奇

Sinch 提供了一个简单的 REST API 来向黎巴嫩发送短信,需要 API 令牌和服务计划 ID。

关键参数:

  • serviceplanId:您的 Sinch 服务计划标识符
  • apiToken:用于身份验证的 Bearer 令牌
  • from: 发件人 ID
  • to:收件人号码数组
  • body:留言内容
import axios from 'axios';

class SinchSMSService {
  private readonly baseUrl: string;
  private readonly headers: Record<string, string>;

  constructor(serviceplanId: string, apiToken: string) {
    this.baseUrl = `https://sms.api.sinch.com/xms/v1/${serviceplanId}/batches`;
    this.headers = {
      'Authorization': `Bearer ${apiToken}`,
      'Content-Type': 'application/json'
    };
  }

  async sendSMS(to: string, message: string, senderId: string): Promise<void> {
    try {
      const response = await axios.post(
        this.baseUrl,
        {
          from: senderId,
          to: [to],
          body: message,
          // Enable delivery reports
          delivery_report: 'summary'
        },
        { headers: this.headers }
      );

      console.log('Message sent:', response.data.id);
    } catch (error) {
      console.error('Sinch SMS error:', error.response?.data || error);
      throw error;
    }
  }
}

信息鸟

MessageBird(在模板中称为“Bird”)为黎巴嫩短信提供了功能丰富的 API。

关键参数:

  • apiKey:您的 MessageBird API 密钥
  • originator:发件人 ID(字母数字或电话号码)
  • recipients:收件人号码数组
  • body:留言内容
import { MessageBirdClient, MessageParameters } from 'messagebird';

class MessageBirdService {
  private client: MessageBirdClient;

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

  async sendSMS(
    to: string,
    message: string,
    senderId: string
  ): Promise<void> {
    const params: MessageParameters = {
      originator: senderId,
      recipients: [to],
      body: message,
      // Optional parameters
      reportUrl: 'https://your-webhook.com/delivery-reports'
    };

    return new Promise((resolve, reject) => {
      this.client.messages.create(params, (err, response) => {
        if (err) {
          console.error('MessageBird error:', err);
          reject(err);
        } else {
          console.log('Message sent:', response.id);
          resolve();
        }
      });
    });
  }
}

API 速率限制和吞吐量

黎巴嫩的利率限制:

  • 标准速率限制:每秒 30 条消息
  • 突发限制:短时间内每秒 50 条消息
  • 每日配额因提供商和计划而异

吞吐量管理策略:

  • 实现重试逻辑的指数退避算法
  • 使用队列系统(Redis、RabbitMQ)处理高容量数据
  • 尽可能批量处理消息(每个请求最多 100 条)
  • 监控投递率并调整发送模式

错误处理和报告

常见错误情形:

  • 电话号码格式无效
  • 网络超时
  • 超出速率限制
  • 发件人 ID 格式无效

记录最佳实践:

interface SMSLogEntry {
  messageId: string;
  timestamp: Date;
  recipient: string;
  status: string;
  errorCode?: string;
  errorMessage?: string;
}

// Example logging implementation
function logSMSActivity(entry: SMSLogEntry): void {
  console.log(JSON.stringify({
    ...entry,
    service: 'sms',
    country: 'Lebanon',
    timestamp: new Date().toISOString()
  }));
}

回顾和其他资源

关键要点

  1. 合规重点
    • 获得明确同意
    • 尊重时区限制
    • 支持双语退出命令
  2. 技术考虑
    • 使用正确的字符编码
    • 实现重试逻辑
    • 监控配送率
  3. 最佳实践
    • 跨运营商进行全面测试
    • 维护干净的联系人列表
    • 记录所有同意记录 。
滚动至顶部