首页 » 博客 » 日本短信最佳实践、合规性和功能

日本短信最佳实践、合规性和功能

日本短信市场概况

区域设置名称: 日本
ISO 代码: 太平绅士
地区 亚洲
移动国家代码 (MCC) 440
拨号代码 +81

市场状况:日本拥有高度发达的移动市场,由三大运韩国 whatsapp 数据营商主导:NTT DOCOMO、KDDI (au) 和 SoftBank。虽然 LINE 等 OTT 消息应用程序在个人通信中非常受欢迎,但短信对于商业通信仍然至关重要,尤其是在身份验证、通知和客户服务方面。市场对 iOS 设备表现出强烈的偏好,尽管 Android 仍保持着相当大的份额。由于基础设施强大和严格的监管合规性,短信送达率特别高。


日本的主要短信功能和能力

日本提供全面的短信功能,支持双向消息传递、串联以及美国电话号码:格式、区号和验证指南所有主要运营商的严格监管合规要求。

双向短信支持

是的,日本完全支持双向短信通信。这可以实现交互式消息传新闻 美国递场景,例如客户服务、预约确认和自动回复。除了标准合规性要求外,没有其他特殊限制。

串联消息(分段短信)

支持:是的,所有主要的日本运营商都支持串联,但支持情况可能因发件人 ID 类型而异。
消息长度规则:使用 GSM-7 编码,每段消息的标准长度为 160 个字符。超过此限制的消息将自动串联。
编码注意事项:支持 GSM-7 和 UCS-2 编码。对于日文字符(汉字、平假名、片假名),使用 UCS-2 编码,将每段的字符限制减少到 70 个。

MMS 支持

在日本,MMS 无法通过标准 SMS 渠道使用。任何 MMS 内容都必须转换为 SMS,并带有指向媒体内容的 URL 链接。最佳做法是使用简短的 URL,并明确指出链接指向媒体内容的时间。

收件人电话号码兼容性

号码可携性

在日本,所有主要运营商都提供号码可携性。这让用户在更换运营商时可以保留自己的电话号码。虽然这不会对短信发送或路由产生很大影响,但正确的电话号码格式(+81 格式)对于可靠发送至关重要。

向固定电话发送短信

日本不支持向固定电话号码发送短信。尝试向固定电话号码发送短信将导致发送失败,并出现 400 响应错误(代码 21614)。消息不会出现在日志中,并且不会因尝试失败而向帐户收取费用。

日本短信合规与监管指南

日本的短信通信受总务省 (MIC) 和个人信息保护委员会 (PPC) 监管。企业必须遵守《特定电子邮件传输管制法》和《个人信息保护法》 (PIPA)。这些法规规定了公司如何收集、使用和保护个人信息,包括电话号码。

明确同意要求

  • 发送任何营销信息之前必须获得书面或数字同意
  • 必须保留同意记录并方便获取
  • 在选择加入时必须明确说明沟通目的
  • 强烈建议双重选择加入营销信息

文档的最佳实践

  • 存储时间戳和同意来源
  • 保留选择加入方法和背景的详细记录
  • 保留同意记录至少 2 年
  • 定期审核同意数据库

HELP/STOP 和其他命令

  • 所有信息必须包含日语退出说明
  • 必须支持标准关键字:
    • STOP (停止)
    • HELP(帮助)
    • CANCEL(取消)
  • 命令必须同时支持英语和日语
  • 必须立即用日语回复“帮助/停止”

请勿致电/请勿打扰登记

日本设有由日本数据通信协会 (JDCA) 管理的“禁止致电”注册表。

  • 企业必须每月对照登记册核对号码
  • 维护内部抑制名单
  • 24 小时内尊重退出请求
  • 建议定期清理数据库以删除不活跃的号码

时区敏感度

发送时间

  • 仅限日本标准时间上午 9:00 至晚上 8:00
  • 紧急信息不受时间限制
  • 尊重国定假日和周末
  • 考虑国际业务的区域时差

日本的电话号码选项和短信发件人类型

字母数字发件人 ID

运营商网络能力: 支持国际、国内网关
注册要求

  • 国际:无需预先注册
  • 国内:强制注册,审批流程为 5 周
    发件人 ID 保存:国内网关不保存;国际网关保存

长代码

国内与国际

  • 国内:不支持
  • 国际:完全支持
    发件人 ID 保存:是,对于国际长代码
    配置时间:国际号码立即
    可用用例
  • 双向沟通
  • 客户服务
  • 事务性消息

短代码

支持:仅通过国内网关提供
配置时间:5-8 周待批准
用例

  • 大规模营销活动
  • 双重身份验证
  • 客户忠诚度计划

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

禁止内容

  • 枪支和武器
  • 赌博和博彩
  • 成人内容
  • 放贷/贷款服务
  • 潜在客户生成
  • 政治信息
  • 宗教内容
  • 管制物质
  • 大麻产品
  • 与酒精相关的内容

附加限制

  • 消息内容中不允许出现电话号码
  • 仅支持尽力而为的 M2M 消息传递

内容过滤

运营商过滤规则

  • URL 必须来自批准的域
  • 没有过多的标点符号或特殊字符
  • 消息长度限制因运营商而异
  • KDDI 将消息限制为 5 个段

避免阻塞的提示

  • 使用经批准的 URL 缩短服务
  • 避免垃圾邮件触发词
  • 保持一致的发送模式
  • 包括清晰的公司标识

在日本发送短信的最佳做法

信息传递策略

  • 使用日语文本时,请将消息限制在 70 个字符以内
  • 包含明确的号召性用语
  • 保持一致的发件人 ID
  • 使用礼貌、正式的日语风格

发送频率和时间

  • 每位收件人每天最多可发送 1-2 条消息
  • 尊重日本的节日和纪念日
  • 避免在清晨或傍晚发送
  • 分散批量发送以防止网络拥塞

本土化

  • 默认为日语,除非收件人另有说明
  • 使用适当的敬语和正式的商务日语
  • 考虑文化背景和敏感性
  • 支持日语和英语响应处理

退出管理

  • 24 小时内处理退出
  • 维护集中退出数据库
  • 通过最后一条消息确认退出
  • 定期清理联系人列表

测试和监控

  • 在所有主要运营商上进行测试(NTT DOCOMO、KDDI、SoftBank)
  • 监控承运商的运送费率
  • 跟踪退出率和模式
  • 定期测试帮助/停止功能

面向日本的 SMS API 集成

Twilio

Twilio 通过其 REST API 为日本市场提供强大的 SMS 功能。身份验证使用帐户 SID 和身份验证令牌凭据。

主要参数

  • to:E.164 格式的日本电话号码 (+81XXXXXXXXXX)
  • from:您的 Twilio 电话号码或批准的发件人 ID
  • body:消息内容(支持日文字符的Unicode)
import * as twilio from 'twilio';

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

async function sendJapaneseSMS() {
  try {
    // Send SMS with Japanese text support
    const message = await client.messages.create({
      body: 'こんにちは!このメッセージはテストです。', // Japanese text
      from: process.env.TWILIO_PHONE_NUMBER,
      to: '+81XXXXXXXXXX' // Japanese phone number
    });
    
    console.log(`Message sent successfully: ${message.sid}`);
  } catch (error) {
    console.error('Error sending message:', error);
  }
}

辛奇

Sinch 在日本提供直接运营商连接,支持拉丁和日语字符集。

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

// Initialize Sinch client
const sinchClient = new SinchClient({
  projectId: process.env.SINCH_PROJECT_ID,
  keyId: process.env.SINCH_KEY_ID,
  keySecret: process.env.SINCH_KEY_SECRET
});

async function sendSMS() {
  try {
    const response = await sinchClient.sms.batches.send({
      sendSMSRequestBody: {
        to: ['+81XXXXXXXXXX'],
        from: 'YourCompany', // Alphanumeric sender ID
        body: 'メッセージの内容',
        encoding: 'UCS2' // Required for Japanese characters
      }
    });
    
    console.log('Message sent:', response.id);
  } catch (error) {
    console.error('Failed to send message:', error);
  }
}

信息鸟

MessageBird 为日本运营商提供优质路线,支持 Unicode 消息。

import { MessageBird } from 'messagebird';

// Initialize MessageBird client
const messagebird = new MessageBird(process.env.MESSAGEBIRD_API_KEY);

// Configure message parameters
const params = {
  originator: 'COMPANY',
  recipients: ['+81XXXXXXXXXX'],
  body: '確認コード: 123456',
  type: 'unicode' // Enable Japanese character support
};

// Send message
messagebird.messages.create(params, (err, response) => {
  if (err) {
    console.error('Error:', err);
    return;
  }
  console.log('Message sent:', response.id);
});

普利沃

Plivo 提供与日本运营商的直接连接,并支持长代码和字母数字发件人 ID。

import plivo from 'plivo';

// Initialize Plivo client
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: 'COMPANY', // Your sender ID
      dst: '+81XXXXXXXXXX', // Destination number
      text: 'ご確認ください。', // Message text
      url_strip_query_params: false // Preserve URL parameters if included
    });
    
    console.log('Message sent with UUID:', response.messageUuid);
  } catch (error) {
    console.error('Failed to send message:', error);
  }
}

API 速率限制和吞吐量

速率限制

  • KDDI:每条消息最多 5 个段
  • 一般运营商限制:每秒 30 条消息
  • 每日交易量限制因提供商和发送者类型而异

吞吐量管理

  • 实施指数退避重试
  • 使用队列系统(Redis、RabbitMQ)处理高容量数据
  • 尽可能批量发送消息
  • 监控交货收据以进行费率调整

错误处理和报告

  • 使用关联 ID 实现全面日志记录
  • 监控送货回执 (DLR) 以进行状态跟踪
  • 设置异常错误率警报
  • 存储消息元数据以进行故障排除
  • 承运商的交货表现定期审计

回顾和其他资源

关键要点

  1. 发送消息前获得明确同意
  2. 支持日语和英语退出命令
  3. 遵守发送时间(日本标准时间上午 9 点至晚上 8 点)
  4. 对日文文本使用正确的字符编码
  5. 监控投递率并优化发送模式

下一步

  1. 审查 MIC 的短信通讯指南
  2. 实施适当的同意管理系统
  3. 建立监测和报告基础设施
  4. 在所有主要运营商上测试消息传递。