本文为您介绍短信服务访问域名说明。

默认公网使用(推荐)

短信服务的全部功能使用了3个域名,域名清单如下:

编号 功能 域名
1 短信发送 dysmsapi.aliyuncs.com
2 消息接收1 dybaseapi.aliyuncs.com
3 消息接收2 http(s)://1943695596114318.mns.cn-hangzhou.aliyuncs.com

专有网络(VPC)使用

仅支持4个地域(华东1、华东2、华北2、华南1) 的专有网络下ECS通过内网请求接口。

  • 短信发送接口必须通过POST的数据提交方式和JSON的数据交互格式才可以使用。
  • 需要使用云通信消息接收的用户还需要将队列的地域修改为与ECS相同的地域。

路径:短信产品进入控制台→应用开发→接口调用→云通信消息接收→短信状态报告接收->设置地域。位置如下图所有示; 点击进入控制台

说明 接口中regionID必须正确填写为ECS所在地域;经典网络的ECS不支持内网调用,请继续使用公网地址;消息接收2的地址不支持https。

各地域Region和接口地址Endpoint的对照表

华东1 : cn-hangzhou
编号 功能 域名
1 短信发送 dysmsapi-vpc.cn-hangzhou.aliyuncs.com
2 消息接收1 dybaseapi-vpc.cn-hangzhou.aliyuncs.com
3 消息接收2 http://1943695596114318.mns.cn-hangzhou-internal-vpc.aliyuncs.com
华东2 : cn-shanghai
编号 功能 域名
1 短信发送 dysmsapi-vpc.cn-shanghai.aliyuncs.com
2 消息接收1 dybaseapi-vpc.cn-shanghai.aliyuncs.com
3 消息接收2 http://1943695596114318.mns.cn-shanghai-internal-vpc.aliyuncs.com
华北2 : cn-beijing
编号 功能 域名
1 短信发送 dysmsapi-vpc.cn-beijing.aliyuncs.com
2 消息接收1 dybaseapi-vpc.cn-beijing.aliyuncs.com
3 消息接收2 http://1943695596114318.mns.cn-beijing-internal-vpc.aliyuncs.com
华南1 : cn-shenzhen
编号 功能 域名
1 短信发送 dysmsapi-vpc.cn-shenzhen.aliyuncs.com
2 消息接收1 dybaseapi-vpc.cn-shenzhen.aliyuncs.com
3 消息接收2 http://1943695596114318.mns.cn-shenzhen-internal-vpc.aliyuncs.com

使用SDK的客户将公网地址改为VPC地址的说明

  • 修改SDK示例中的domain
  • 修改SDK示例中的提交方式和交互格式

java发送示例修改如下

1、短信发送

...
import com.aliyuncs.http.FormatType;
import com.aliyuncs.http.MethodType;
...
final String domain = "dysmsapi-vpc.cn-hangzhou.aliyuncs.com";//指定对应地域的"短信发送"用的域名,默认公网是dysmsapi.aliyuncs.com"; 
...
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);//指定与ECS相同的地域
...
SendSmsRequest request = new SendSmsRequest();
#修改数据提交方式
request.setMethod(MethodType.POST);
#修改数据交互格式
request.setAcceptFormat(FormatType.JSON);	

2、消息回执

DefaultAlicomMessagePuller puller=new DefaultAlicomMessagePuller();
String accessKeyId="yourAccessKeyId";
String accessKeySecret="yourAccessKeySecret";
String messageType="SmsReport";//短信回执:SmsReport,短信上行:SmsUp
String queueName="yourQueueName";//在云通信页面开通相应业务消息后,就能在页面上获得对应的queueName
String regionIdForPop = "cn-hangzhou";//指定与ECS相同的地域
String endpointNameForPop = "cn-hangzhou";//指定与ECS相同的地域
String domainForPop = "dybaseapi-vpc.cn-hangzhou.aliyuncs.com";//指定对应地域的"消息接收1"用的域名
String mnsAccountEndpoint = "http://1943695596114318.mns.cn-hangzhou-internal-vpc.aliyuncs.com";//指定对应地域的"消息接收2"用的域名
 puller.startReceiveMsgForVPC(accessKeyId,accessKeySecret ,messageType,queueName , regionIdForPop , endpointNameForPop , domainForPop , mnsAccountEndpoint,  new MyMessageListener());

直接使用HTTP封装的客户将公网地址改为VPC地址的说明

  1. 1、修改或核对系统参数中的数据格式为JSON。
    paras.put("Format", "JSON");	
  2. 修改或核对业务参数中RegionId与所在地域相同。
    paras.put("RegionId", "cn-hangzhou");			
  3. 修改或核对请求域名与对照表中的域名相同。
  4. 计算Signature中的HTTPMethod改成POST。
  5. 修改提交方式为POST。