首页 » 博客 » 赤道几内亚短信最佳实践、合规性和功能

赤道几内亚短信最佳实践、合规性和功能

赤道几内亚短信市场概况

区域设置名称: 赤道几内亚
ISO 代码: GQ
地区 中东和非洲
移动国家代码 (MCC) 627
拨号代码 +240

市场状况:赤道几内亚的移动市场正在不断增长,短信仍然是重要的通信渠道。虽然 WhatsApp 等 OTT 消息应用程序越来越受欢迎,但由于其覆盖范围广泛且独立于网络,短信仍然是可靠的商业通信和通知方式。该市场主要由包括 GETESA(Orange GQ)在内的主要运营商提供服务。


赤道几内亚短信服务的主要特点和功能

赤道几内亚提供基本的短信功能,但对双向消息和串联等高级功能有一些限制。

双向短信支持

赤道几内亚不支持双向短信。这意味着企业只能发送出站消息,而无法通过同一渠道接收回复。

串联消息(分段短信)

支持:赤道几内亚不支持串联消息。
消息长度规则:适用标准短信字符限制 – GSM-7 编码为 160 个字符,Unicode 编码为 70 个字符。
编码注意事项:支持 GSM-7 和 UCS-2 编码,但消息必须符合单条消息字符限制。

MMS 支持

MMS 消息会自动转换为带有内嵌 URL 链接的 SMS。这意味着任何多媒体内容都可以通过网络链接访问,而不是直接在消息中访问。最佳做法是确保您的多媒体内容针对移动设备进行了优化,并托管在可靠、快速加载的平台上。

收件人电话号码兼容性

号码可携性

赤道几内亚不提供号码可携性。这意味着手机号码仍与原运营商绑定,这有助于确保更可靠的消息路由。

向固定电话发送短信

在赤道几内亚,无法向固定电话号码发送短信。尝试向固定电话号码发送消息将导致发送失败,并可能触发错误响应(例如 Twilio 的 400 响应,错误代码为 21614)。发送到固定电话号码的消息不会出现在日志中,也不会向帐户收取费用。

赤道几内亚短信合规与监管指南

赤道几内亚的短信通信受交通、邮电和电信部监管,该部已颁布第 3/2020 号部长令,概述了电信法规。虽然具体的短信营销法律有限,但企业必须遵循一般电信准则和国际最佳实践。

明确同意要求

  • 在发送任何营销或促销信息之前,获得明确、有记录的同意
  • 保存何时以及如何获得同意的详细记录
  • 在选择加入过程中包含明确的条款和条件
  • 提供有关消息频率和内容类型的透明信息

HELP/STOP 和其他命令

  • 所有营销信息都需要支持 STOP 命令
  • 信息应以西班牙语(官方语言)和法语(广泛使用)提供
  • 支持的常用关键字:
    • 停止、BAJA、取消(西班牙语)
    • ARRÊTER,STOP(法语)
    • 帮助、援助、帮助

请勿致电/请勿打扰登记

尽管赤道几内亚没有设立官方的“禁止致电”登记处,但企业应该:

  • 维护自己的抑制名单
  • 立即尊重退出请求
  • 记录所有退出请求及其处理日期
  • 定期清理联系人列表以删除未订阅的号码

时区敏感度

赤道几内亚在西非时区(WAT,UTC+1)运营:

  • 在当地时间上午 8:00 到晚上 8:00 之间发送消息
  • 避免在宗教节日和周日发送
  • 如果确实紧急,紧急信息可能会在上述时间之外发送

赤道几内亚的电话号码选项和短信发件人类型

字母数字发件人 ID

运营商网络能力:支持动态使用
注册要求:无需预先注册 发送
者 ID 保存:发送者 ID 通常在发送后保存

长代码

国内与国际

  • 运营商支持国内长代码,但目前主要供应商尚未提供
  • 不支持国际长代码

发件人 ID 保存:国内号码保留原始发件人 ID
配置时间:国内号码不
适用 用例:主要用于交易和验证消息

短代码

支持:赤道几内亚目前不支持短代码
配置时间:N/A
使用案例:N/A


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

限制行业及内容

  • 赌博和博彩服务
  • 成人内容或服务
  • 未经授权的金融服务
  • 未经适当授权的政治信息
  • 加密货币和投资计划

内容过滤

已知运营商过滤规则

  • 包含与限制行业相关的某些关键字的邮件
  • 来自可疑或列入黑名单的域名的 URL
  • 邮件中标点符号过多或全大写

避免过滤的最佳实践

  • 使用清晰、专业的语言
  • 避免使用 URL 缩短器
  • 限制特殊字符和过多标点符号
  • 尽可能在发件人 ID 中包含公司名称

在赤道几内亚发送短信的最佳做法

信息传递策略

  • 尽可能将消息控制在 160 个字符以内
  • 包含明确的号召性用语
  • 在适当的情况下使用收件人姓名对信息进行个性化
  • 保持一致的发件人 ID,以提高品牌识别度

发送频率和时间

  • 将每个收件人每月的营销信息限制为 2-4 条
  • 遵守当地营业时间(上午 8:00 – 晚上 8:00)
  • 考虑当地的活动和节日
  • 间隔发送消息以避免收件人不知所措

本土化

  • 主要语言:西班牙语和法语
  • 考虑特定地区的方言
  • 在商务沟通中使用正式语气
  • 对于重要信息,包含西班牙语和法语版本

退出管理

  • 24 小时内处理退出
  • 维护集中退出数据库
  • 在每条营销信息中都包含退出说明
  • 定期审核退出名单的合规性

测试和监控

  • 在所有主要运营商上测试消息
  • 监控承运商的运送费率
  • 跟踪退出率和模式
  • 定期审查消息性能指标
  • 在流行的设备类型上测试消息呈现

赤道几内亚的 SMS API 集成

Twilio

Twilio 提供了一个简单的 REST API,用于向赤道几内亚发送短信。身份验证使用您的帐户 SID 和身份验证令牌。

import { Twilio } from 'twilio';

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

// Function to send SMS to Equatorial Guinea
async function sendSMSToEquatorialGuinea(
  to: string,
  message: string,
  senderId: string
) {
  try {
    // Ensure proper number formatting for Equatorial Guinea (+240)
    const formattedNumber = to.startsWith('+240') ? to : `+240${to}`;
    
    const response = await client.messages.create({
      body: message,
      from: senderId, // Alphanumeric sender ID or Twilio number
      to: formattedNumber,
    });
    
    console.log(`Message sent successfully! SID: ${response.sid}`);
    return response;
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

辛奇

Sinch 提供强大的 SMS API,支持赤道几内亚。他们的 API 需要 API 令牌和服务计划 ID 进行身份验证。

import { SinchClient } from '@sinch/sdk-core';

// Initialize Sinch client
const sinchClient = new SinchClient({
  projectId: process.env.SINCH_PROJECT_ID,
  keyId: process.env.SINCH_KEY_ID,
  keySecret: process.env.SINCH_KEY_SECRET,
});

// Function to send SMS using Sinch
async function sendSMSWithSinch(
  to: string,
  message: string,
  senderId: string
) {
  try {
    const response = await sinchClient.sms.batches.send({
      sendSMSRequestBody: {
        to: [to],
        from: senderId,
        body: message,
        delivery_report: 'summary' // Request delivery report
      }
    });
    
    console.log(`Batch ID: ${response.id}`);
    return response;
  } catch (error) {
    console.error('Sinch API error:', error);
    throw error;
  }
}

Bird 的 API 为赤道几内亚提供了 SMS 功能以及简单的 REST 端点。

import axios from 'axios';

// Bird API configuration
const BIRD_API_CONFIG = {
  baseURL: 'https://api.bird.com',
  headers: {
    'Authorization': `Bearer ${process.env.BIRD_API_KEY}`,
    'Content-Type': 'application/json'
  }
};

// Function to send SMS via Bird
async function sendSMSWithBird(
  to: string,
  message: string,
  senderId: string
) {
  try {
    const response = await axios.post(
      '/v1/messages',
      {
        recipient: to,
        sender_id: senderId,
        content: message,
        country_code: 'GQ'
      },
      BIRD_API_CONFIG
    );
    
    console.log('Message sent:', response.data);
    return response.data;
  } catch (error) {
    console.error('Bird API error:', error);
    throw error;
  }
}

API 速率限制和吞吐量

赤道几内亚的费率限制因提供商而异:印度尼西亚 whatsapp 数据

  • Twilio:每秒 100 条消息
  • Sinch:每秒 30 条消息
  • Bird:每秒 50 条消息

大规模发送策略

  • 实现重试逻辑的指数退避算法
  • 使用 Redis 或 RabbitMQ 等队列系统
  • 以 50-100 条为一组批量处理消息
  • 监控吞吐量并调整发送速率

错误处理和报告

常见错误情况

// Generic error handler for SMS APIs
function handleSMSError(error: any): void {
  if (error.code === 'invalid_number') {
    console.error('Invalid phone number format for Equatorial Guinea');
  } else if (error.code === 'rate_limit_exceeded') {
    // Implement exponential backoff
    setTimeout(() => {
      // Retry logic here
    }, calculateBackoffTime());
  } else if (error.code === 'delivery_failed') {
    // Log delivery failure for analysis
    logDeliveryFailure(error);
  }
}

// Logging function for delivery failures
function logDeliveryFailure(error: any): void {
  const logEntry = {
    timestamp: new Date().toISOString(),
    error_code: error.code,
    message_id: error.messageId,
    recipient: error.recipient,
    reason: error.reason
  };
  
  // Log to monitoring system
  console.error('Delivery failure:', logEntry);
}

回顾和其他资源

关键要点

  1. 合规重点
  2. 技术考虑
    • 使用正确的数字格式 (+240)
    • 实现重试逻辑
    • 监控配送率
  3. 最佳实践
    • 本地化内容(西班牙语/法语)
    • 保持一致的发件人 ID
    • 定期跨运营商测试

下一步

  1. 技术设置
    • 选择 SMS API 提供商
    • 实施错误处理
    • 设置监控
  2. 遵守
滚动至顶部