首页 » 博客 » 哥斯达黎加的电话号码选项和短信发件人类型

哥斯达黎加的电话号码选项和短信发件人类型

字母数字发件人 ID

运营商网络能力:支持
注册要求:无需预先注册
发件人 ID 保存:出于安全目的,运营商可能会覆盖发件人 ID

长代码

国内与国际

  • 不支持国内长代码
  • 支持国际长代码但可能会被覆盖

发件人 ID 保存:否,国际号码通常用本地格式替换 配置时间:国际号码立即 可用 用例

短代码

支持:可通过主要运营商获得 配置时间:典型批准时间为 8-12 周 用例


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

限制行业

  • 赌博和博彩服务 美国数据库
  • 成人内容
  • 未经授权的药品销售
  • 未经适当授权的政治活动

受监管行业

  • 金融服务需要额外的免责声明
  • 医疗保健信息必须维护患者隐私
  • 保险服务需要明确的条款和条件

内容过滤

已知运营商过滤器

  • 来自未知域的 URL
  • 多个感叹号
  • 全大写消息
  • 过多特殊字符

避免过滤的最佳实践

  • 使用注册的 URL 缩短服务
  • 保持一致的发件人 ID
  • 避免垃圾邮件触发词
  • 保持消息格式简单

在哥斯达黎加发送短信的最佳做法

信息传递策略

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

发送频率和时间

  • 每位收件人每周最多可发送 2-4 条消息
  • 尊重当地节日和文化活动
  • 根据高峰营业时间安排
  • 分散批量广告活动

本土化

  • 主要语言:西班牙语
  • 考虑在旅游区提供双语信息
  • 使用本地日期/时间格式
  • 尊重文化差异

退出管理

  • 立即处理退出
  • 维护集中退出数据库
  • 通过最后一条消息确认退出
  • 定期清理数据库

测试和监控

  • 在所有主要运营商上进行测试(Kolbi、Movistar、Claro)
  • 监控承运商的运送费率
  • 跟踪参与度指标
  • 定期对消息内容进行 A/B 测试

哥斯达黎加的 SMS API 集成

Twilio

Twilio 提供强大的 SMS 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 Costa Rica
async function sendSMSToCostaRica(
  to: string,
  message: string
): Promise<void> {
  try {
    // Format number to Costa Rica format (+506)
    const formattedNumber = to.startsWith('+506') ? to : `+506${to}`;
    
    const response = await client.messages.create({
      body: message,
      to: formattedNumber,
      from: process.env.TWILIO_PHONE_NUMBER,
      // Optional statusCallback URL for delivery updates
      statusCallback: 'https://your-callback-url.com/status'
    });
    
    console.log(`Message sent successfully! SID: ${response.sid}`);
  } catch (error) {
    console.error('Error sending message:', error);
    throw error;
  }
}

辛奇

Sinch 提供了一个简单的 API 用于发送短信到哥斯达黎加,并支持传递报告和批量发送。

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

class SinchSMSService {
  private client: SinchClient;
  
  constructor() {
    this.client = new SinchClient({
      projectId: process.env.SINCH_PROJECT_ID,
      apiToken: process.env.SINCH_API_TOKEN
    });
  }

  async sendMessage(to: string, message: string): Promise<void> {
    try {
      const response = await this.client.sms.batches.send({
        to: [to],
        from: process.env.SINCH_SENDER_ID,
        body: message,
        // Enable delivery report
        deliveryReport: 'summary'
      });
      
      console.log('Message batch ID:', response.id);
    } catch (error) {
      console.error('Sinch SMS error:', error);
      throw error;
    }
  }
}

信息鸟

MessageBird 为哥斯达黎加提供可靠的短信传递服务,并支持 Unicode 消息和传递追踪。

import { MessageBird } from 'messagebird';

class MessageBirdService {
  private client: MessageBird;
  
  constructor() {
    this.client = new MessageBird(process.env.MESSAGEBIRD_API_KEY);
  }

  async sendSMS(
    to: string,
    message: string,
    options: { reference?: string } = {}
  ): Promise<void> {
    try {
      const params = {
        originator: process.env.MESSAGEBIRD_ORIGINATOR,
        recipients: [to],
        body: message,
        reference: options.reference,
        reportUrl: 'https://your-webhook-url.com/delivery-reports'
      };

      await this.client.messages.create(params);
    } catch (error) {
      console.error('MessageBird error:', error);
      throw error;
    }
  }
}

普利沃

Plivo 提供支持哥斯达黎加的高级短信功能,包括消息排队和详细的传递报告。

import { Client } from 'plivo';

class PlivoSMSService {
  private client: Client;
  
  constructor() {
    this.client = new Client(
      process.env.PLIVO_AUTH_ID,
      process.env.PLIVO_AUTH_TOKEN
    );
  }

  async sendSMS(
    to: string,
    message: string,
    options = { dlrUrl?: string }
  ): Promise<void> {
    try {
      const response = await this.client.messages.create({
        src: process.env.PLIVO_SOURCE_NUMBER,
        dst: to,
        text: message,
        url: options.dlrUrl,
        method: 'POST'
      });
      
      console.log('Message UUID:', response.messageUuid);
    } catch (error) {
      console.error('Plivo error:', error);
      throw error;
    }
  }
}

API 速率限制和吞吐量

  • 默认速率限制因提供商而异(通常为每秒 1-10 条消息)
  • 实现重试逻辑的指数退避算法
  • 使用队列系统(Redis、RabbitMQ)进行大容量发送
  • 考虑批量消息的批处理 API

错误处理和报告

  • 实施全面的错误日志记录
  • 通过 webhook 监控送达回执
  • 跟踪常见错误代码:
    • 数字格式无效
    • 网络错误
    • 超出速率限制
  • 存储消息状态更新以供分析。
滚动至顶部