开发者社区> 问答> 正文

短信查询API(QuerySendDetails)---JAVA



短信发送记录查询接口(QuerySendDetails)


用于查询短信发送的状态,是否成功到达终端用户手机

入参列表

参数名称参数类型必填与否样例取值参数说明
PhoneNumberString必须15000000000短信接收号码,如果需要查询国际短信,号码前需要带上对应国家的区号,区号的获取详见国际短信支持国家信息查询API接口
BizIdString可选1234^1234发送流水号,从调用发送接口返回值中获取
SendDateString必须20170525短信发送日期格式yyyyMMdd,支持最近30天记录查询
PageSizeNumber必须10页大小Max=50
CurrentPageNumber必须1当前页码


出参列表

出参名称出参类型样例取值参数说明
RequestIdString8906582E-6722请求ID
CodeStringOK状态码-返回OK代表请求成功,其他错误码详见错误码列表
MessageString请求成功状态码的描述
TotalCountNumber100发送总条数
TotalPageNumber10总页数
smsSendDetailDTOsObject-发送明细结构体,详见Demo样例


Demo样例

出参名称出参类型样例取值参数说明
phoneNumString13000000000手机号码
sendStatusNumber1发送状态 1:等待回执,2:发送失败,3:发送成功
errCodeStringDELIVERED运营商短信错误码
templateCodeStringSMS_000模板ID
contentString【阿里云】你好!短信内容
sendDateObject2017-05-25 00:00:00发送时间
receiveDateString2017-05-25 00:00:00接收时间
outIdString123外部流水扩展字段


技术对接步骤



1:下载SDK工具包


SDK工具包中一共包含了2个类库,一个aliyun-java-sdk-core包,另外一个是alicom-dysms-api包,将这两个包执行mvn package命令或者mvn deploy命令打包出相应的jar包,添加到工程类库中依赖使用。
SDK&DEMO[ 下载地址]

2: 编写样例程序


```java //设置超时时间 System.setProperty(“sun.net.client.defaultConnectTimeout”, “10000”); System.setProperty(“sun.net.client.defaultReadTimeout”, “10000”);<pre style='background: rgb(246, 246, 246); font: 12px/1.6 "YaHei Consolas Hybrid", Consolas, "Meiryo UI", "Malgun Gothic", "Segoe UI", "Trebuchet MS", Helvetica, monospace, monospace; padding: 10px; outline: 0px; border-radius: 3px; border: 1px solid rgb(221, 221, 221); color: rgb(51, 51, 51); text-transform: none; text-indent: 0px; letter-spacing: normal; overflow: auto; margin-top: 0px; margin-right: 0px; margin-bottom: 0px !important; margin-left: 0px; word-spacing: 0px; white-space: pre-wrap; word-wrap: break-word; box-sizing: border-box; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;' prettyprinted?="" linenums="">
  1.     //云通信产品-短信API服务产品名称(短信产品名固定,无需修改)
  2.     final String product = "Dysmsapi";
  3.     //云通信产品-短信API服务产品域名(接口地址固定,无需修改)
  4.     final String domain = "dysmsapi.aliyuncs.com";
  5.     //此处需要替换成开发者自己的AK信息
  6.     final String accessKeyId = "yourAccessKeyId";
  7.     final String accessKeySecret = "yourAccessKeySecret";
  8.     //初始化ascClient
  9.     IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
  10.     DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
  11.     IAcsClient acsClient = new DefaultAcsClient(profile);
  12.     //组装请求对象
  13.     QuerySendDetailsRequest request = new QuerySendDetailsRequest();
  14.     //必填-号码
  15.     request.setPhoneNumber("150000000");
  16.     //可选-调用发送短信接口时返回的BizId
  17.     request.setBizId("1234567^8901234");
  18.     //必填-短信发送的日期 支持30天内记录查询(可查其中一天的发送数据),格式yyyyMMdd
  19.     request.setSendDate("20170543");
  20.     //必填-页大小
  21.     request.setPageSize(10L);
  22.     //必填-当前页码从1开始计数
  23.     request.setCurrentPage(1L);
  24.     //hint 此处可能会抛出异常,注意catch
  25.     QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);
  26.     //获取返回结果
  27.    if(querySendDetailsResponse.getCode() != null && querySendDetailsResponse.getCode().equals("OK")){
  28.     //代表请求成功
  29.   }

展开
收起
nicenelly 2017-10-25 11:38:29 2743 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载