首页 » 博客 » 意大利短信最佳实践、合规性和功能

意大利短信最佳实践、合规性和功能

意大利短信市场概览

区域设置名称: 意大利
ISO 代码:
地区 欧洲
移动国家代码 (MCC) 222
拨号代码 +39

市场状况:意大利拥有成熟的移动市场,短信南非 whatsapp 数据采用率很高。该国的主要移动运营商包括 TIM(意大利电信)、Vodafone Italia 和 Wind Tre。虽然 WhatsApp 和 Facebook Messenger 等 OTT 消息应用程序很受欢迎,但短信对于商业通信和身份验证仍然至关重要。移动市场显示 Android(约 75%)和 iOS(约 25%)用户的比例相对均衡,两个平台的渗透率都很高。


意大利短信服务的主要特点和功能

意大利提供全面的短信功能,包括双向消息、串联消息和韩国电话号码:格式、区号和验证指南号码可携带性,但在时间和内容上有一些特定限制。

双向短信支持

意大利全面支持双向短信,让企业能够与客户进行互动消新闻 美国息传递。除了营销信息的标准合规要求外,没有其他具体限制。

串联消息(分段短信)

支持:是的,意大利网络完全支持串联,但支持情况可能因发件人 ID 类型而异。
消息长度规则:GSM-7 编码的标准短信长度为 160 个字符,UCS-2 编码的标准短信长度为 70 个字符(拆分前)。
编码注意事项:支持 GSM-7 和 UCS-2 编码。使用特殊字符的消息将自动使用 UCS-2 编码,从而减少每段的字符限制。

MMS 支持

发送到意大利号码的彩信会自动转换为短信,并嵌入 URL 链接以访问多媒体内容。这确保了所有设备的兼容性,同时保持了共享丰富媒体内容的能力。

收件人电话号码兼容性

号码可携性

意大利提供号码可携性,允许用户在更换运营商时保留自己的电话号码。此功能完全受支持,不会影响短信发送或路由。

向固定电话发送短信

意大利不支持向固定电话号码发送短信。尝试通过 API 向固定电话号码发送消息将导致 400 响应错误(代码 21614),不会发送任何消息,也不会产生任何费用。

意大利短信合规与监管指南

意大利遵守由 AGCOM(意大利通信管理局)管理的严格电信法规,并遵守 GDPR 要求。意大利通信管理局第 42/13/CIR 号决议专门规范了商业消息服务和字母数字发件人 ID 的使用。

根据意大利法律和 GDPR,明确同意是强制性的。您必须:

  • 发送营销信息前获得明确、具体的同意
  • 保存何时以及如何获得同意的详细记录
  • 提供有关消息类型和频率的清晰信息
  • 允许用户随时轻松撤回同意
  • 以证明 GDPR 合规的方式记录同意

HELP/STOP 和其他命令

  • 所有营销信息必须包含退出说明
  • 必须立即执行“停止”命令
  • 建议同时支持意大利语和英语关键字:
    • 停止/费马
    • 帮助/AIUTO
    • 信息
  • 消息应以大写和小写形式处理

请勿致电/请勿打扰登记

意大利设有“Registro Pubblico delle Opposizioni”(公众反对登记册):

  • 企业在发送营销信息之前必须对照此注册表检查号码
  • 需要定期更新禁止名单
  • 维护与公共注册中心分开的内部退出数据库
  • 最佳实践:每天更新您的屏蔽号码列表

时区敏感度

意大利对营销信息有特定的时间限制:

  • 禁止时间
    • 当地时间晚上 10 点至早上 8 点
    • 周日全天
  • 最佳实践:在工作日上午 10 点至晚上 8 点之间发送消息
  • 紧急情况和服务相关的信息不受这些限制

意大利的电话号码选项和短信发件人类型

字母数字发件人 ID

运营商网络能力:完全支持
注册要求:无需预先注册,但必须遵守 AGCOM 指南
发件人 ID 保存:是,符合规定时按原样显示
长度:最多 11 个字符,字母数字

长代码

国内与国际

  • 国内:全力支持
  • 国际:不直接支持;消息通过本地发件人 ID 传递

发件人ID保存

  • 国内:是
  • 国际:否,用字母数字或本地数字发件人 ID 替换

配置时间:国内号码立即可用
用例:非常适合双向通信和客户服务

短代码

支持:是的,可通过主要运营商获得
配置时间:7-9 周
用例

  • 大规模营销活动
  • 双重身份验证
  • 客户服务
  • 优质短信服务

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

禁止内容

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

受监管行业

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

内容过滤

运营商过滤规则

  • 包含特定关键字的邮件可能会被屏蔽
  • URL 应来自信誉良好的域名
  • 过多标点符号可能会触发垃圾邮件过滤器

避免阻塞的最佳实践

  • 尽可能避免使用 URL 缩短器
  • 使用一致的发件人 ID
  • 保持规律的发送模式
  • 保持内容专业且清晰

在意大利发送短信的最佳做法

信息传递策略

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

发送频率和时间

  • 每周限制 2-3 条营销信息
  • 遵守意大利营业时间(上午 8 点至晚上 8 点)
  • 考虑意大利节日和当地活动
  • 间隔发送消息以避免收件人不知所措

本土化

  • 所有营销信息默认为意大利语
  • 提供语言偏好选择
  • 考虑使用地方方言进行有针对性的宣传
  • 使用正确的意大利语格式来表示日期和数字

退出管理

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

测试和监控

  • 在所有主要的意大利运营商(TIM、Vodafone、Wind Tre)上进行测试
  • 监控承运商的运送费率
  • 跟踪参与度指标
  • 定期测试选择退出功能

意大利的 SMS API 集成

Twilio

Twilio 提供强大的 SMS API,全面支持意大利消息传递要求。集成需要帐户 SID 和身份验证令牌进行身份验证。

import { Twilio } from 'twilio';

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

// Function to send SMS to Italian number
async function sendSMSToItaly(
  to: string,
  message: string,
  senderId: string
): Promise<void> {
  try {
    // Ensure proper formatting for Italian numbers
    const formattedNumber = to.startsWith('+39') ? to : `+39${to}`;

    const response = await client.messages.create({
      body: message,
      from: senderId, // Alphanumeric sender ID or Twilio number
      to: formattedNumber,
      // 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);
  }
}

辛奇

Sinch 在意大利提供直接承运商连接,支持字母数字发件人 ID 和递送报告。

import axios from 'axios';

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

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

  async sendSMS(to: string, message: string, senderId: string): Promise<void> {
    try {
      const response = await axios.post(
        `${this.baseUrl}/${this.serviceId}/batches`,
        {
          from: senderId,
          to: [to],
          body: message,
          // Italy-specific parameters
          delivery_report: 'summary'
        },
        {
          headers: {
            'Authorization': `Bearer ${this.apiToken}`,
            'Content-Type': 'application/json'
          }
        }
      );

      console.log('Message sent:', response.data.id);
    } catch (error) {
      console.error('Sinch API error:', error);
    }
  }
}

信息鸟

MessageBird 在意大利提供可靠的短信传递服务,并支持当地的合规要求。

import messagebird from 'messagebird';

class MessageBirdClient {
  private client: any;

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

  sendSMS(
    to: string,
    message: string,
    senderId: string
  ): Promise<void> {
    return new Promise((resolve, reject) => {
      this.client.messages.create({
        originator: senderId,
        recipients: [to],
        body: message,
        // Italy-specific parameters
        scheduledDatetime: this.validateBusinessHours(),
        reportUrl: 'https://your-webhook.com/delivery-reports'
      }, (err: any, response: any) => {
        if (err) {
          reject(err);
        } else {
          resolve(response);
        }
      });
    });
  }

  private validateBusinessHours(): string | null {
    // Implement business hours validation for Italy
    // Returns null for immediate sending or ISO string for scheduled delivery
    return null;
  }
}

API 速率限制和吞吐量

费率限制因提供商而异,但通常包括:

  • Twilio:每秒 100 条消息
  • Sinch:每秒 30 条消息
  • MessageBird:每秒 60 条消息

大规模发送策略

  • 使用 Redis 或 RabbitMQ 实现排队系统
  • 尽可能使用批处理 API
  • 实施指数退避重试
  • 监控吞吐量并调整发送速率

错误处理和报告

interface SMSError {
  code: string;
  message: string;
  timestamp: Date;
  recipient: string;
}

class SMSErrorHandler {
  private errors: SMSError[] = [];

  logError(error: SMSError): void {
    this.errors.push(error);
    
    // Log to monitoring system
    console.error(`SMS Error [${error.code}]: ${error.message}`);
    
    // Handle specific error types
    switch(error.code) {
      case 'invalid_number':
        // Clean up invalid numbers
        break;
      case 'rate_limit':
        // Implement backoff strategy
        break;
      case 'carrier_error':
        // Queue for retry
        break;
    }
  }
}

回顾和其他资源

关键要点

  1. 合规重点
    • 获得明确同意
    • 遵守营业时间(上午 8 点至晚上 10 点)
    • 维护退出列表
    • 遵守 GDPR 要求
  2. 技术考虑
    • 使用正确的数字格式 (+39)
    • 实现重试逻辑
    • 监控配送率
    • 适当处理错误
  3. 下一步
    • 审查 AGCOM 指南
    • 设置送达报告
    • 与意大利主要运营商进行测试
    • 实施适当的错误处理。
滚动至顶部