2018-04-16 00:00:00 来源: 点击:4873 喜欢: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 发送短信的类型: 值为0,1,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 ,MTIzNDU2为123456进行加密后的字符串,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 发送短信的类型: 值为0,1,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
上一篇:短信验证码短信平台常见的几个问题及解决办法
下一篇:智能电话营销机器人话术制作要点