约旦短信市场概览
区域设置名称: | 约旦 |
---|---|
ISO 代码: | 乔 |
地区 | 中东和非洲 |
移动国家代码 (MCC) | 416 |
拨号代码 | +962 |
市场状况:约旦拥有充满活力的移动通信市场,主要由巴拉圭 whatsapp 数据三大运营商主导:Zain、Orange 和 Umniah。短信仍然是企业的重要沟通渠道,尤其是用于身份验证、通知和营销目的。虽然 WhatsApp 等 OTT 消息应用程序在个人通信方面很受欢迎,但短信凭借其广泛的覆盖范围和高打开率,仍然是企业通信最可靠的渠道。
约旦的主要短信功能和能力
约旦支持大多数标准短信功能,包括串联消息和字母数字发件人 ID,但双向短信功能有限,并且彩信会转换为带有 URL 链接的短信。
双向短信支持
约旦的主要短信提供商不支持双向短信。这意专业服务的数字营销策略与其他行业有何不同?着企业无法通过标准短信 API 收到消息回复。
串联消息(分段短信)
支持:是的,大多数发件人 ID 类型都支持串联,但支持情况可能因所使用的特定发件人 ID 类型而异。
消息长度规则:使用 GSM-7 编码时,在拆分之前消息长度限制为 160 个字符。
编码注意事项:使用 GSM-7 编码的消息单个段最泰国号码多可包含 160 个字符,而 UCS-2 编码(用于阿拉伯语和特殊字符)允许每个段最多包含 70 个字符。
MMS 支持
约旦不直接支持彩信。相反,彩信内容会自动转换为短信,并嵌入 URL 链接,收件人可以查看多媒体内容。这确保了兼容性,同时仍允许企业与受众分享丰富的媒体内容。
收件人电话号码兼容性
号码可携性
约旦提供号码可携性,允许用户在移动运营商之间切换时保留自己的电话号码。此功能不会对短信传递或路由产生重大影响,因为信息会正确路由到当前运营商。
向固定电话发送短信
约旦不支持向固定电话号码发送短信。尝试向固定电话号码发送消息将导致发送失败,并且通常会触发 SMS API 的 400 响应错误(错误代码 21614)。这些消息不会出现在日志中,也不会向帐户收取尝试费用。
约旦短信合规与监管指南
约旦电信监管委员会 (TRC) 负责监管短信通信,并制定了针对商业短信的具体指导方针。公司必须遵守 TRC 法规和各个移动运营商的要求,以确保成功传递信息并遵守法规。
同意和选择加入
向约旦用户发送任何营销或促销信息之前必须获得明确同意。获取和记录同意的最佳做法包括:
- 收集书面或电子版选择加入确认信息
- 保存获得同意的时间和方式的详细记录
- 明确说明用户将收到的消息类型
- 提供有关消息频率的透明信息
- 记录给予同意的具体电话号码
HELP/STOP 和其他命令
- 所有营销信息必须包含明确的退出说明
- STOP 命令必须支持英语和阿拉伯语
- 必须遵守的常见关键字包括:
- 停止 / 停止
- 取消/取消
- 取消订阅 / ???_???
- 退出请求必须在 24 小时内处理
请勿致电/请勿打扰登记
虽然约旦没有维护集中的“禁止致电”注册表,但企业必须:
- 维护自己的抑制名单
- 立即尊重退出请求
- 保留退出号码记录至少 12 个月
- 实施系统以防止向选择退出的号码发送消息
时区敏感度
约旦对促销信息有严格的时间限制:
- 促销信息:安曼时间晚上 9 点(GMT+3)后禁止发送
- 交易信息:如紧急情况可全天候发送
- 最佳做法:在当地时间上午 9:00 到晚上 8:00 之间发送消息
约旦的电话号码选项和短信发件人类型
字母数字发件人 ID
运营商网络能力:全面支持
注册要求:所有主要网络均需预先注册
- 注册过程大约需要 12 天
- 必须提供公司文档和消息模板
- 促销信息必须包含“adv”前缀
发件人 ID 保存:是的,注册 ID 会在网络上保存
长代码
国内与国际:
- 国内长代码:不支持
- 国际长代码:支持但转换为字母数字发件人 ID
发件人 ID 保存:否,国际长代码通常会被覆盖 配置时间:N/A 使用案例:不推荐用于约旦;请改用已注册的字母数字 ID
短代码
支持:约旦目前不支持 配置时间:N/A 使用案例:N/A
受限制的短信内容、行业和用例
以下内容类型和行业面临限制:
- 赌博和博彩服务
- 政治内容
- 宗教信息
- 成人内容
- 加密货币促销
- 未注册金融服务
内容过滤
运营商过滤规则:
- 包含屏蔽关键字的邮件会被自动过滤
- URL 必须来自批准的域
- 消息内容必须与预先注册的模板相符
- 垃圾邮件模式触发自动阻止
避免阻塞的提示:
- 使用预先批准的消息模板
- 避免使用 URL 缩短器
- 包含清晰的发件人身份信息
- 保持一致的发送模式
- 使用已注册的字母数字发件人 ID
在约旦发送短信的最佳做法
信息传递策略
- 尽可能将消息控制在 160 个字符以内
- 包含明确的行动号召
- 在适当的情况下使用收件人姓名来个性化消息
- 在整个营销活动中使用一致的发件人 ID
发送频率和时间
- 每位收件人每月最多可收到 3-4 条促销信息
- 避免在宗教节日期间发送
- 尊重周末时间(约旦为周五至周六)
- 分散批量活动以防止网络拥塞
本土化
- 支持阿拉伯语和英语内容
- 使用正确的阿拉伯字符编码 (UCS-2)
- 考虑消息内容中的文化敏感性
- 提供两种语言的客户支持
退出管理
- 24 小时内处理退出
- 维护集中式退出数据库
- 在每条营销信息中都包含退出说明
- 定期根据退出数据库清理联系人列表
测试和监控
- 向所有主要运营商 (Zain、Orange、Umniah) 发送测试消息
- 监控承运商的运送费率
- 跟踪退出率和模式
- 定期审核同意记录
- 监控并分析参与度指标
约旦的 SMS API 集成
Twilio
Twilio 提供了强大的 REST API,用于向约旦发送短信。身份验证使用您的帐户 SID 和身份验证令牌。
关键参数:
from
:必须是已注册的字母数字发件人 IDto
:E.164 格式的约旦号码 (+962XXXXXXXXX)body
:消息内容(支持阿拉伯语的Unicode)
import * as Twilio from 'twilio';
// Initialize Twilio client
const client = new Twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);
async function sendSMSToJordan(to: string, message: string) {
try {
// Ensure sender ID starts with "adv" for promotional messages
const senderID = 'advYourBrand';
const response = await client.messages.create({
from: senderID,
to: to, // Must be in format: +962XXXXXXXXX
body: message,
// Optional parameters for delivery tracking
statusCallback: 'https://your-callback-url.com/status'
});
console.log(`Message sent successfully! SID: ${response.sid}`);
return response;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}
辛奇
Sinch 提供带有 OAuth2 身份验证的 REST API,用于向约旦发送短信。
关键参数:
from
:注册发件人 IDto
:收件人号码数组body
:留言内容
import axios from 'axios';
class SinchSMSClient {
private readonly apiToken: string;
private readonly servicePlanId: string;
private readonly baseUrl: string = 'https://sms.api.sinch.com/xms/v1';
constructor(servicePlanId: string, apiToken: string) {
this.servicePlanId = servicePlanId;
this.apiToken = apiToken;
}
async sendSMS(to: string, message: string) {
try {
const response = await axios.post(
`${this.baseUrl}/${this.servicePlanId}/batches`,
{
from: 'advYourBrand',
to: [to],
body: message
},
{
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${this.apiToken}`
}
}
);
return response.data;
} catch (error) {
console.error('Sinch SMS Error:', error);
throw error;
}
}
}
MessageBird(鸟)
MessageBird 提供了一个 REST API,用于通过 API 密钥认证发送短信。
import messagebird from 'messagebird';
class MessageBirdClient {
private client: any;
constructor(apiKey: string) {
this.client = messagebird(apiKey);
}
sendSMS(to: string, message: string): Promise<any> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator: 'advYourBrand',
recipients: [to],
body: message,
type: 'unicode' // For Arabic support
}, (err: any, response: any) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}
API 速率限制和吞吐量
约旦承运商实施各种费率限制:
- 每个发件人 ID 每秒最多发送 100 条消息
- 每日音量限制因承运商而异
- 大型活动建议批量发送
管理高容量的策略:
- 实现具有重试逻辑的排队系统
- 尽可能使用批处理 API
- 监控吞吐量并调整发送速率
- 将流量分配到多个发件人 ID
错误处理和报告
常见错误场景及解决方法:
- 发件人 ID 无效:确保注册正确
- 网络拥塞:实施指数退避
- 数字格式无效:根据 E.164 格式进行验证
- 内容过滤:检查限制内容
记录最佳实践:
interface SMSLog {
messageId: string;
recipient: string;
senderId: string;
timestamp: Date;
status: string;
errorCode?: string;
retryCount?: number;
}
// Example logging implementation
function logSMSEvent(log: SMSLog): void {
// Add correlation ID for tracking
const correlationId = generateUniqueId();
console.log(JSON.stringify({
...log,
correlationId,
environment: process.env.NODE_ENV,
service: 'sms-service'
}));
}
回顾和其他资源
关键要点
- 合规重点
- 发送前注册发件人 ID
- 在促销信息中添加“adv”前缀
- 尊重时间限制(晚上 9 点后不进行促销)
- 维护退出列表
- 技术考虑
- 对阿拉伯语文本使用 Unicode 编码
- 实施适当的错误处理
- 监控配送率
- 在所有运营商上进行测试
下一步
- 向约旦运营商注册您的发件人 ID
- 审查并实施退出处理
- 设置监控和日志系统
- 测试所有运营商之间的消息传递。