您的当前位置:主页 > 常见问题

合作客户

方太
金伯利

联系我们

0371-86687083
地址:郑州市管城区紫金山路兴达国贸1802室
电话:0371-86687083

常见问题

短信验证码接口文档

2018-04-16 00:00:00    来源:    点击:1519    喜欢:0

  嘉之元云通信为客户提供优质验证码短信,营销短信、国际短信;国际直连通道可群发短信至任何国家和地区,其短信验证码、短信营销等106短信接口已服务了近两万家企业,提供短信接口API,帮助客户快速接入!

以下是短信接口文档,接口系统访问地址:smsapi.jzyyun.com:9003 大家也可以在下载栏里面下载:


  第一部分:http 接口

 

 1. SMS发送接口

http://系统访问地址/servlet/UserServiceAPI?method=sendSMS&isLongSms=0&username=test&password=zadlll&smstype=1&extenno=123&mobile=13866194295,15375427702&content=短信测试

 

采用 POST方式提交参数:

 

参数定义如下:

 

method 值为 sendSMS 发送短信

 

username 明文用户名

 

password  密码采用BASE64 加密算法

 

smstype 发送短信的类型: 值为01,2  O-卡发 1-网关 2-会员

 

mobile 手机号码采用英文状态下逗号,分割, 最大2万个号码

 

content 为发送内容 采用GBK 进行URLENCODE

isLongSms 0-普通短信 1-加长短信

extenno 为通道扩展子号码,可以为空

 

 

返回值:如果成功返回success;批号ID   否则返回failure;错误提示

 

 

 

 2.查看用户账号信息接口

http://系统访问地址/servlet/UserServiceAPI?method=getRestMoney&username=tes&password=BASE64(password)

 

建议采用 POST方式提交参数:

 

参数定义如下:

 

method 值为 getRestMoney 获得用户账号信息,可发短信数量

 

username 明文用户名

 

password=BASE64(password) 密码采用BASE64 加密算法

 

返回值:如果成功返回帐号剩余短信数量字符串:如memberSmsNum=684;gateSmsNum=49919;kaSmsNum=49964

 

memberSmsNum=684 表示会员帐号剩余短信数量

gateSmsNum=49919 表示网关帐号剩余短信数量

kaSmsNum=49964 表示卡发帐号剩余短信数量

 

如果失败返回如:failure;错误提示

 

3.获取下行状态报告接口

http://系统访问地址/servlet/UserServiceAPI?method=getSmsReport&username=test&password=BASE64(password)

 

method 值为 getSmsReport 获得用户账号信息,可发短信数量

 

username 明文用户名

 

password=BASE64(password) 密码采用BASE64 加密算法

 

返回值:如果成功则返回XML格式的状态报告信息

        如果失败返回如:failure;错误提示            

XML节点定义如下

smsreport XML根节点

psreport 子节点,一个节点对应一个下行状态报告

mobile   手机号

username 用户名

smslogid 批号ID,发送成功返回的ID

status   发送返回的状态 1 代表成功  0-失败 2-不明

sendtime 发送时间

返回如下格式:

  <?xmlversion="1.0" encoding="utf-8" ?>

-<smsreport>

-<psreport>

  <mobile>15275427712</mobile>

  <username>admin</username>

  <smslogid>66</smslogid>

  <status>1</status>

  <sendtime>2012-08-16 01:05:39.0</sendtime>

  </psreport>

-<psreport>

  <mobile>13865193295</mobile>

  <username>admin</username>

  <smslogid>66</smslogid>

  <status>1</status>

  <sendtime>2012-08-16 01:04:07.0</sendtime>

  </psreport>

-<psreport>

  <mobile>15375427702</mobile>

  <username>admin</username>

  <smslogid>67</smslogid>

  <status>1</status>

  <sendtime>2012-08-16 01:03:07.0</sendtime>

  </psreport>

-<psreport>

  <mobile>13866194295</mobile>

  <username>admin</username>

  <smslogid>67</smslogid>

  <status>1</status>

  <sendtime>2012-08-16 01:01:27.0</sendtime>

  </psreport>

  </smsreport>

 

4.上行回复接口

  http://系统访问地址/servlet/UserServiceAPI?method=getRecvSMS&username=test&password=BASE64(password)

 

   返回值:如果成功则返回XML格式的状态报告信息

       如果失败返回如:failure;错误提示

XML节点定义如下

smsrerecv XML根节点

psrerecv 子节点,一个节点对应一个上行回复信息

mobile   手机号

receiver 接受人

content  回复内容采用BASE64编码

sendtime 接收时间

返回如下格式XML

  <?xmlversion="1.0" encoding="utf-8" ?>

-<smsrerecv>

-<psrerecv>

  <mobile>15256560065</mobile>

  <receiver>admin</receiver>

  <content>xOPLrbChPw==</content>

  <sendtime>2012-06-18 14:56:00.0</sendtime>

  </psrerecv>

-<psrerecv>

  <mobile>13866194285</mobile>

  <receiver>admin</receiver>

  <content>u9jP8w==</content>

  <sendtime>2012-06-15 21:43:25.0</sendtime>

  </psrerecv>

  </smsrerecv>

 

5.修改密码接口

http://系统访问地址/servlet/UserServiceAPI?method=updatePassword &username=test&password=123&newPassword=122

username 登陆用户名

password  原密码

newPassword 新密码  注意密码为英文和字母组合

 

   返回值:1-修改密码成功  2-修改密码失败 3-用户不存在  4-未知错误

       

 

 

JAVA 调用范例

 

 BASE64 加密算法方法:

          /**

    * encode a specified string useing BASE64Encoder

    *

    * @param str

    *            the string to beencoded

    * @return String

    * @throws Exception

    */

   public synchronized static String BASE64Encoder(String str) throws

           Exception {

       return new sun.misc.BASE64Encoder().encode(str.getBytes());

 

    }

 

下载OPACHE HttpClient

 

               HttpClient client = newHttpClient();

                   client.getHostConfiguration().setHost("http://系统访问地址", "80");         

                   PostMethodpost = new PostMethod("/servlet/UserServiceAPI");

                NameValuePair method = newNameValuePair("method","sendSMS");

                 NameValuePair smstype= newNameValuePair("smstype","1");

                NameValuePair username = newNameValuePair("username", "dddb");

                   NameValuePairpassword= new NameValuePair("password", Util

                                     .BASE64Encoder("1223"));//密码采用BASE64加密

                   NameValuePairmobile = new NameValuePair("mobile","13866194295,15266144263");

                NameValuePair content= newNameValuePair("content", "test content");

                   post.setRequestBody(newNameValuePair[] { method,username,password,mobile,content});

                   intstatus = client.executeMethod(post);

                   post.releaseConnection();

 

JAVA.NET.URL

 

try{

                  String u = "http://系统访问地址/servlet/UserServiceAPI?method=sendSMS&username=test&password="+BASE64Encoder("123")+"&smstype=1&mobile=13866194295,15375427702&content=短信测试";

                            URLurl = new URL(u);

                            conn= (HttpURLConnection)url.openConnection();

                            conn.setDoOutput(true);

                            conn.setRequestMethod("POST");

                            conn.setUseCaches(false);

                            conn.setRequestProperty("Content-type","application/x-www-form-urlencoded");

                            conn.setRequestProperty("Connection","Close");

                            conn.setRequestProperty("Content-length",String.valueOf(params.length()));

                            conn.setDoInput(true);

                            conn.connect();

                            OutputStreamWriterout = new OutputStreamWriter(conn.getOutputStream(), "GBK");

                            out.write(params.toString());

                            out.flush();

                            out.close();

                            InputStreamin = conn.getInputStream();

                            InputStreamReaderr = new InputStreamReader(in);

                            LineNumberReaderdin = new LineNumberReader(r);

                            Stringline = null;

                            StringBuffersb = new StringBuffer();

                            while((line=din.readLine())!=null)

                            {

                                     sb.append(line+"");

                            }

                           

                        //对返回结果解析sb.toString

 

}catch(Exception e){

 

 

 }

 

ASP调用示例:

BASE64加密:

 Public Function Base64_Encode(bstrSource)

   Const BASE64_TABLE  ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

   Dim strTempLine

   Dim j

   If bstrSource = "" Then

       bstrSource = " "

   End If

   For j = 1 To (Len(bstrSource) - Len(bstrSource) Mod 3) Step 3

       strTempLine = strTempLine + Mid(BASE64_TABLE, (asc(Mid(bstrSource, j,1)) 4) + 1, 1)

       strTempLine = strTempLine + Mid(BASE64_TABLE, ((asc(Mid(bstrSource, j,1)) Mod 4) * 16 _

                      + asc(Mid(bstrSource, j +1, 1)) 16) + 1, 1)

       strTempLine = strTempLine + Mid(BASE64_TABLE, ((asc(Mid(bstrSource, j +1, 1)) Mod 16) * 4 _

                      + asc(Mid(bstrSource, j +2, 1)) 64) + 1, 1)

       strTempLine = strTempLine + Mid(BASE64_TABLE, (asc(Mid(bstrSource, j +2, 1)) Mod 64) + 1, 1)

   Next

   If Not (Len(bstrSource) Mod 3) = 0 Then

        If (Len(bstrSource) Mod 3) = 2 Then

           strTempLine = strTempLine + Mid(BASE64_TABLE, (asc(Mid(bstrSource, j,1)) 4) + 1, 1)

           strTempLine = strTempLine + Mid(BASE64_TABLE, (asc(Mid(bstrSource, j,1)) Mod 4) * 16 _

                      + asc(Mid(bstrSource, j +1, 1)) 16 + 1, 1)

            strTempLine = strTempLine + Mid(BASE64_TABLE, (asc(Mid(bstrSource, j +1, 1)) Mod 16) * 4 + 1, 1)

           strTempLine = strTempLine & "="

       ElseIf (Len(bstrSource) Mod 3) = 1 Then

           strTempLine = strTempLine + Mid(BASE64_TABLE, asc(Mid(bstrSource, j, 1)) 4 + 1, 1)

           strTempLine = strTempLine + Mid(BASE64_TABLE, (asc(Mid(bstrSource, j,1)) Mod 4) * 16 + 1, 1)

            strTempLine = strTempLine & "=="

       End If

    End If

   Base64_Encode= strTempLine

End Function

'以下是调用核心代码

url="http://系统访问地址/servlet/UserServiceAPI?method=sendSMS&username=1test&password="&ufmBase64_Encode("123456")&"&smstype=2&content=短信测试"

         url=url&"&mobile=13866194295"

sethttp=Server.createobject("Microsoft.XMLHTTP")

      Http.open "POST",url,false

      http.setRequestHeader "Content-Length",len(mobile)

   http.setRequestHeader "Content-Type","application/x-www-form-urlencoded"

      Http.send(mobile)

    '获得返回结果

   response.write http.responseText

    '对返回结果处理,如果返回结果为success表示成功,,返回failure;错误提示表示调用失败

 

 

URL为:http://系统访问地址/servlet/UserServiceAPI?method=sendSMS&username=115&password=MTIzNDU2&smstype=2&mobile=13866194295,15375427702&content=短信测试

 

这里账号为115343785 密码为123456 MTIzNDU2123456进行加密后的字符串,smsType=2为会员发送为0卡发 为1网关

 

 

 

 

第二部分: web service 接口

   WEB SERVICE 接口地址为:站点地址+/services/userApi?wsdl 如: http://系统访问地址/services/userApi?wsdl

 

 1. SMS发送接口

 String sendSms(String username, String password, int smstype,

                            Stringcontent, String mobile,int isLongSms )

 

 

 

参数定义如下:

 

username 明文用户名

 

password=BASE64(password) 密码采用BASE64 加密算法

 

smstype 发送短信的类型: 值为01,2  O-卡发 1-网关 2-会员

 

mobile 手机号码采用英文状态下逗号,分割

 

content 为发送内容

 

返回值:如果成功返回success 否则返回failure;错误提示

 

 

 

 2.查看用户账号信息接口

 

String getRestMoney(String username, Stringpassword)

 

 

参数定义如下:

 

method 值为 getRestMoney 获得用户账号信息,可发短信数量

 

username 明文用户名

 

password=BASE64(password) 密码采用BASE64 加密算法

 

返回值:如果成功返回帐号剩余短信数量字符串:如memberSmsNum=684;gateSmsNum=49919;kaSmsNum=49964

 

memberSmsNum=684 表示会员帐号剩余短信数量

gateSmsNum=49919 表示网关帐号剩余短信数量

kaSmsNum=49964 表示卡发帐号剩余短信数量

 

如果失败返回如:failure;错误提示

 

 

 

 3.获取状态报告接口

 

String getSmsReport(String username, Stringpassword)

 

参数定义如下:

 

 

username 明文用户名

 

password=BASE64(password) 密码采用BASE64 加密算法

 

成功返回 XML 格式字符串,格式同HTTP

 

 

 

4.返回回复信息

String getRecvSMS(String username, Stringpassword)

 

参数定义如下:

username 明文用户名

 

password=BASE64(password) 密码采用BASE64 加密算法

 

成功返回 XML 格式字符串,格式同HTTP

 

 

 

 

 


上一篇:短信验证码短信平台常见的几个问题及解决办法
下一篇:智能电话营销机器人话术制作要点


  • 服务咨询 0371-86687083
  • 一对一贵宾级服务
  • 7X24小时技术保障
Copyright © 2013-2017. All Rights Reserved. 郑州嘉之元计算机科技有限公司 www.jzyyun.com 版权所有 | 增值电信业务经营许可证:B2-20194910| 备案号: 豫ICP备15030919-2号 [网站地图] [联系我们]
本公司主要从事:短信验证码,短信接口,短信平台,群发短信,短信群发 sitemap:sitemap.txt|

豫公网安备41010402002418号

点击这里给我发消息