首页 » 博客 » 西班牙短信最佳实践、合规性和功能

西班牙短信最佳实践、合规性和功能

西班牙短信市场概览

区域设置名称: 西班牙
ISO 代码: ES
地区 欧洲
移动国家代码 (MCC) 214
拨号代码 +34

市场状况:西班牙拥有高度发达的移动市场,短瑞士 whatsapp 数据信使用十分广泛。该国的主要移动运营商包括 Movistar、沃达丰和 Orange,共为超过 5500 万移动用户提供服务。虽然 WhatsApp 等 OTT 消息应用程序在个人通信中非常受欢迎,但短信对于商业通信仍然至关重要,尤其是用于身份验证、通知和营销。移动市场显示 Android(约 80%)和 iOS(约 20%)用户之间的分配相对均衡,智能手机普及率超过 80%。


西班牙的主要短信功能和能力

西班牙提供全面的短信功能,包括双向消息、串联消息以及对国诺福克岛短信最佳实践、合规性和功能内和国际消息的全面支持以及各种发件人 ID 选项。

双向短信支持

是的,西班牙完全支持双向短信通信。除了获得用户同意和维护退出机制的标准合规要求外,没有其他具体限制。

串联消息(分段短信)

支持:是的,西班牙网络完全支持串联。
消息长度规则

  • GSM-7 编码:单条短信 160 个字符,串联短信每段 153 个字符
  • Unicode/UCS-2:单条短信 70 个字符,连接消息每段 67 个字符
    编码注意事项:标准拉丁字母优先使用 GSM-7,而特殊字符和西班牙语特定字符(ñ、á、é、í、ó、ú)则需要使用 UCS-2。

MMS 支持

MMS 消息会自动转换为 SMS,并嵌入 URL 链接以访问多媒体领导孟加拉国搜索引擎优化内容。这确保了所有设备的兼容性,同时保持了共享丰富媒体内容的能力。

收件人电话号码兼容性

号码可携性

西班牙提供号码可携性,允许用户在更换运营商时保留自己的电话号码。由于西班牙电信基础设施可以高效处理号码可携性,因此此功能不会对短信发送或路由产生重大影响。

向固定电话发送短信

西班牙不支持向固定电话号码发送短信。尝试向固定电话号码发送短信将导致发送失败,并且通常会通过 SMS API 生成 400 响应错误(错误代码 21614)。消息不会显示在日志中,也不会向帐户收取这些尝试的费用。

西班牙短信合规与监管指南

西班牙的短信通信由两个主要机构监管:西班牙数据保护局 (AEPD) 和国家市场与竞争委员会 (CNMC)。这两个机构分别负责执行 GDPR 合规性和电信法规。

明确同意要求:

  • 发送营销信息前,获得收件人的书面或电子确认
  • 明确披露消息目的、频率和公司身份
  • 对不同类型的通信(营销、交易等)分别同意
  • 记录何时、如何以及给予何种同意
  • 能够证明同意是自愿且具体的

HELP/STOP 和其他命令

必填关键字:

  • STOP/ALTO(西班牙语对应)用于选择退出
  • BAJA(取消订阅)
  • AYUDA/HELP 寻求帮助
  • 所有命令必须支持西班牙语和英语
  • 响应信息必须与收到的命令使用相同的语言

请勿致电/请勿打扰登记

西班牙设有 Lista Robinson,这是一个全国性的营销传播退出登记处。最佳做法包括:

  • 定期检查 Lista Robinson 数据库
  • 维护内部抑制名单
  • 立即处理退出请求(24 小时内)
  • 在活动启动前主动筛选注册号码

时区敏感度

西班牙对商业短信有特定的时间限制:

  • 允许时间:上午 8:00 至晚上 9:00(当地时间)
  • 时区:考虑加那利群岛(比西班牙大陆晚 1 小时)
  • 例外:紧急或关键服务消息
  • 节假日注意事项:避免在国家和地方节假日期间发送

西班牙的电话号码选项和短信发件人类型

字母数字发件人 ID

运营商网络能力:全面支持所有主要网络 注册要求:无需预先注册,但支持动态使用 发件人 ID 保存:是的,发件人 ID 按规定保存 特殊注意事项:自 2024 年 6 月 6 日起,受 MEF 保护的发件人 ID 需要授权书 (LOA)

长代码

国内与国际:均支持

  • 国内:仅限于国内短信
  • 国际:全面支持跨境信息发送 者ID保存:是,所有主要运营商均保留 配置时间:立即至24小时 使用案例
  • 国内:客户服务、通知
  • 国际:全球通信,漫游支持

短代码

支持:在西班牙全面可用 配置时间:12-14 周 用例

  • 大规模营销活动
  • 双重身份验证
  • 客户参与计划
  • 优质费率服务

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

禁止内容:

  • 大麻相关内容(严格禁止)
  • 未经适当许可进行赌博
  • 成人内容
  • 未经授权的金融服务
  • 未进行适当披露的政治信息

内容过滤

运营商过滤规则:

  • 限制行业相关关键词
  • 来自可疑域的 URL
  • 高频重复信息
  • 未提供适当退订信息的消息

避免过滤的最佳做法:

  • 避免在敏感行业中使用 URL 缩短器
  • 包含清晰的发件人身份信息
  • 保持一致的发送模式
  • 使用受监管行业认可的模板

在西班牙发送短信的最佳做法

信息传递策略

  • 尽可能将消息控制在 160 个字符以内
  • 包含明确的号召性用语
  • 使用收件人姓名或相关数据进行个性化
  • 保持一致的品牌声音

发送频率和时间

  • 每位收件人每月最多可发送 2-4 条消息
  • 尊重西班牙营业时间(9:00-14:00,16:00-19:00)
  • 考虑午睡时间(14:00-16:00)
  • 避开周日和国家法定节假日

本土化

  • 默认为普通观众提供西班牙语
  • 在相关地区提供加泰罗尼亚语、巴斯克语或加利西亚语选项
  • 使用正确的西班牙语日期格式 (DD/MM/YYYY)
  • 考虑区域文化敏感性

退出管理

  • 24 小时内处理退出
  • 维护集中退出数据库
  • 通过最后一条消息确认退出
  • 定期审核退出名单

测试和监控

  • 在 Movistar、Vodafone 和 Orange 网络上进行测试
  • 监控承运商的运送费率
  • 按一天中的时间跟踪参与度指标
  • 定期对消息内容进行 A/B 测试

西班牙的 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
);

async function sendSMSToSpain() {
  try {
    // Send message with Spanish number formatting
    const message = await client.messages.create({
      body: 'Hola! Este es un mensaje de prueba.',
      from: '+34XXXXXXXXX', // Spanish sender number
      to: '+34XXXXXXXXX',   // Spanish recipient number
      // Optional parameters for delivery tracking
      statusCallback: 'https://your-callback-url.com/status'
    });
    
    console.log(`Message sent successfully! SID: ${message.sid}`);
  } catch (error) {
    console.error('Error sending message:', error);
  }
}

辛奇

Sinch 提供了带有承载令牌认证的简单 REST API。

import axios from 'axios';

const SINCH_API_TOKEN = process.env.SINCH_API_TOKEN;
const SINCH_SERVICE_PLAN_ID = process.env.SINCH_SERVICE_PLAN_ID;

async function sendSinchSMS() {
  try {
    const response = await axios.post(
      `https://sms.api.sinch.com/xms/v1/${SINCH_SERVICE_PLAN_ID}/batches`,
      {
        from: 'YourBrand', // Alphanumeric sender ID
        to: ['+34XXXXXXXXX'],
        body: 'Su mensaje de confirmación',
        // Optional delivery report flag
        delivery_report: 'summary'
      },
      {
        headers: {
          'Authorization': `Bearer ${SINCH_API_TOKEN}`,
          'Content-Type': 'application/json'
        }
      }
    );
    
    console.log('Batch ID:', response.data.id);
  } catch (error) {
    console.error('Sinch API error:', error.response?.data);
  }
}

信息鸟

MessageBird 提供功能丰富的 API,支持各种消息类型。

import messagebird from 'messagebird';

const client = messagebird(process.env.MESSAGEBIRD_API_KEY);

function sendMessageBirdSMS() {
  const params = {
    originator: 'CompanyName',
    recipients: ['+34XXXXXXXXX'],
    body: 'Mensaje importante de su empresa',
    // Spanish language indicator
    language: 'es',
    // Enable delivery status updates
    reportUrl: 'https://your-webhook.com/delivery-status'
  };

  client.messages.create(params, (err, response) => {
    if (err) {
      console.error('MessageBird error:', err);
      return;
    }
    console.log('Message sent successfully:', response.id);
  });
}

普利沃

Plivo 提供强大的 API,支持大容量消息传递。

import plivo from 'plivo';

const client = new plivo.Client(
  process.env.PLIVO_AUTH_ID,
  process.env.PLIVO_AUTH_TOKEN
);

async function sendPlivoSMS() {
  try {
    const response = await client.messages.create({
      src: '+34XXXXXXXXX', // Your Plivo Spanish number
      dst: '+34XXXXXXXXX', // Destination Spanish number
      text: 'Su mensaje de texto',
      // Optional URL tracking
      url: 'https://your-callback-url.com/status',
      // Optional message type
      type: 'sms'
    });
    
    console.log('Message UUID:', response.messageUuid);
  } catch (error) {
    console.error('Plivo error:', error);
  }
}

API 速率限制和吞吐量

  • 标准限制
    • Twilio:每秒 100 条消息
    • Sinch:50 条消息/秒
    • MessageBird:每秒 60 条消息
    • Plivo:每秒 80 条消息

吞吐量管理策略:

  • 实现队列系统(Redis/RabbitMQ)
  • 使用批处理 API 进行批量发送
  • 实施指数退避重试
  • 监控速率限制标头

错误处理和报告

  • 实施全面日志记录
  • 监控送货回执
  • 跟踪常见错误代码:
    • 21614:数字格式无效
    • 30003:无法到达目的地
    • 30007:载波滤波
  • 存储消息状态更新
  • 设置故障阈值警报

回顾和其他资源

关键要点:

  1. 合规第一:始终获得明确同意并尊重选择退出
  2. 时间问题:尊重西班牙的营业时间和文化考虑
  3. 语言支持:提供西班牙语和地区语言的信息
  4. 技术实现:使用可靠的 API 并进行适当的错误处理
  5. 监控:跟踪交付率和参与度指标。

 

滚动至顶部