马其顿短信市场概览
区域设置名称: | 马其顿 |
---|---|
ISO 代码: | MK |
地区 | 欧洲 |
移动国家代码 (MCC) | 294 |
拨号代码 | +389 |
市场状况:马其顿拥有成熟的移动市场,短信采塞内加尔 whatsapp 数据用率很高。该国的主要移动运营商包括 A1 Macedonia(前身为 Vip)、Makedonski Telekom 和 Lycamobile。虽然 Viber 和 WhatsApp 等 OTT 消息应用程序很受欢迎,但短信对于商业通信和身份验证仍然至关重要。Android 设备占据市场主导地位,市场份额约为 85%,而 iOS 的市场份额为 15%。
马其顿的主要短信功能和能力
马其顿支持大多数标准短信功能,包括串联消息和b2b内容营销与b2c有何不同?字母数字发件人 ID,但双向短信功能有限。
双向短信支持
大多数国际短信提供商在马其顿不支持双向短信。通过直接运营商协议,本地实施可能可行。
串联消息(分段短信)
支持:是,所有主要运营商都支持串联。
消息长度规则:GSM-7 编码为 160 个字符,UCS-2 编码为 70 个字符(拆分前)。
编码注意事项:GSM-7 用于标准 ASCII 字符,而 UCS-2 则用于西里尔字母和特殊字符。
MMS 支持
MMS 消息会自动转换为带有内嵌 URL 链接的 SMS。此转换可确保在所有网络上传输兼容性,同时仍允许通过网络链接共享富媒体内容。
收件人电话号码兼容性
号码可携性
马其顿提供号码可携性。
此功能不会对短信传送或路由产生很大影响,因为短信会自动路由到当前运营商。
向固定电话发送短信
马其顿不支持向固定电话号码发送短信。
尝试向固定电话号码发送短信将导致发送失败,并且大多数 SMS API 都会出现 400 响应错误(错误代码 21614)。
马其顿短信合规与监管指南
马其顿的短信通信受电子通信局 (AEK) 监管,必须遵守《电子通信法》和《个人数据保护法》。该国遵循欧盟式的数据保护原则,但不受 GDPR 约束。
同意和选择加入
发送任何营销或促销短信之前必须获得明确同意。获取同意的最佳做法包括:
-
- 收件人的书面或电子确认 新闻 美国
- 明确披露消息频率和内容类型
- 维护带有时间戳和来源的详细同意记录
- 营销列表的双重确认
- 每 24 个月定期更新同意
HELP/STOP 和其他命令
- 所有短信活动都必须支持标准退出关键字:
- 停止、取消、结束、退出
- ПОМОШ(马其顿语帮助)
- СТОП(马其顿语中的“STOP”)
- 信息应以拉丁字母和西里尔字母处理
- 回复信息必须以马其顿语和英语提供
请勿致电/请勿打扰登记
马其顿没有设立集中式“禁止致电”登记处。但是,企业应该:
- 维护自己的抑制名单
- 24 小时内尊重退出请求
- 定期清理联系人列表
- 记录所有带有时间戳的退出请求
时区敏感度
马其顿遵守欧洲中部时间 (CET/CEST)。最佳做法包括:
- 在当地时间 09:00 至 20:00 之间发送消息
- 避免在国定假日期间发送消息
- 限制这些时段以外的紧急信息
- 尊重周末安静时间(10:00 之前和 18:00 之后)
马其顿的电话号码选项和短信发件人类型
字母数字发件人 ID
运营商网络能力:支持
注册要求:允许动态使用,无需预先注册
发送者 ID 保存:是,发送者 ID 在所有主要网络中均会保存
长代码
国内与国际:
- 国内长代码:支持但不适用于国际提供商
- 国际长代码: 当地网络不支持
发件人 ID 保存:否,国际长代码可能会被通用字母数字 ID
取代 配置时间:国内号码需 1-2 个工作日
用例:推荐用于交易消息和双因素身份验证
短代码
支持:仅通过本地运营商提供
配置时间:审批需 8-12 周
用例:大批量营销活动、优质服务和紧急警报
受限制的短信内容、行业和用例
受限内容类别包括:
- 赌博和博彩服务
- 成人内容或服务
- 加密货币促销
- 未经授权的金融服务
- 未经适当披露的政治竞选信息
内容过滤
已知运营商过滤规则:
- 包含马其顿语或英语特定关键词的消息
- 来自可疑域的 URL
- 高频发送模式
避免阻塞的提示:
- 避免使用 URL 缩短器
- 使用一致的发件人 ID
- 保持规律的发送模式
- 包括明确的业务标识
- 避免过多标点符号和大写字母
在马其顿发送短信的最佳实践
信息传递策略
- 尽可能将消息控制在 160 个字符以内
- 包含明确的号召性用语
- 使用收件人姓名或相关详细信息进行个性化
- 在各个活动中保持一致的发件人 ID
发送频率和时间
- 每位收件人每月最多可发送 4-5 条消息
- 太空行动至少间隔 72 小时
- 避免在重大节假日期间发送
- 考虑穆斯林的斋月时间
本土化
- 主要语言应为马其顿语
- 考虑在特定地区使用阿尔巴尼亚语
- 对西里尔字母使用正确的字符编码
- 关键信息包含西里尔文和拉丁文
退出管理
- 24 小时内处理退出
- 发送退出确认
- 维护所有广告活动的退出列表
- 定期审核退出处理情况
测试和监控
- 在所有主要运营商上进行测试(A1、Makedonski Telekom、Lycamobile)
- 监控承运商的运送费率
- 跟踪退出率和模式
- 定期测试选择退出功能
马其顿的 SMS API 集成
Twilio
Twilio 通过其 REST API 为马其顿提供强大的 SMS 功能。身份验证使用您的帐户 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 Macedonia
async function sendSMSToMacedonia(
to: string,
message: string,
senderId: string
) {
try {
// Ensure proper formatting for Macedonia numbers (+389)
const formattedNumber = to.startsWith('+389') ? to : `+389${to}`;
const response = await client.messages.create({
body: message,
from: senderId, // Alphanumeric sender ID
to: formattedNumber,
// Optional parameters for delivery tracking
statusCallback: 'https://your-webhook.com/status'
});
return response.sid;
} catch (error) {
console.error('SMS sending failed:', error);
throw error;
}
}
辛奇
Sinch 为马其顿提供直接运营商连接。其 REST API 需要 API 令牌身份验证。
import axios from 'axios';
class SinchSMSClient {
private readonly apiToken: string;
private readonly serviceId: string;
constructor(apiToken: string, serviceId: string) {
this.apiToken = apiToken;
this.serviceId = serviceId;
}
async sendSMS(to: string, message: string) {
const url = `https://sms.api.sinch.com/xms/v1/${this.serviceId}/batches`;
try {
const response = await axios.post(
url,
{
from: 'YourBrand', // Alphanumeric sender ID
to: [to],
body: message,
encoding: 'AUTO' // Automatically handles Cyrillic
},
{
headers: {
'Authorization': `Bearer ${this.apiToken}`,
'Content-Type': 'application/json'
}
}
);
return response.data.id;
} catch (error) {
console.error('Sinch SMS failed:', error);
throw error;
}
}
}
信息鸟
MessageBird 在马其顿提供可靠的短信传递服务,并支持当地字符集。
import { MessageBird } from 'messagebird';
class MessageBirdSMS {
private client: MessageBird;
constructor(apiKey: string) {
this.client = new MessageBird(apiKey);
}
sendSMS(
recipient: string,
message: string,
originator: string
): Promise<any> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator, // Max 11 characters for alphanumeric
recipients: [recipient],
body: message,
datacoding: 'unicode' // For Cyrillic support
}, (err, response) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}
普利沃
Plivo 在马其顿提供短信服务,支持大批量发送。
import * as plivo from 'plivo';
class PlivoSMSService {
private client: plivo.Client;
constructor(authId: string, authToken: string) {
this.client = new plivo.Client(authId, authToken);
}
async sendBulkSMS(
recipients: string[],
message: string,
senderId: string
) {
try {
const response = await this.client.messages.create({
src: senderId,
dst: recipients.join('<'), // Bulk sending format
text: message,
// Optional parameters
url_strip_query: false,
method: 'POST'
});
return response;
} catch (error) {
console.error('Plivo SMS failed:', error);
throw error;
}
}
}
API 速率限制和吞吐量
- 每个提供商的默认速率限制:
- Twilio:每秒 100 条消息
- Sinch:50 条消息/秒
- MessageBird:每秒 60 条消息
- Plivo:每秒 30 条消息
大规模发送策略:
- 实施指数退避算法
- 尽可能使用批处理 API
- 在高峰时段对消息进行排队
- 监控送货回执
错误处理和报告
- 实施全面日志记录
- 监控常见错误代码:
- 4xx:客户端错误(无效数字、格式)
- 5xx:服务器错误(建议重试)
- 商店送货收据
- 设置故障阈值的自动警报
回顾和其他资源
关键要点
- 合规第一:始终获得明确同意并尊重选择退出
- 技术设置:使用 Unicode 编码来支持西里尔文
- 时间问题:尊重当地时区和文化因素
- 监控性能:跟踪交付率和用户参与度。