接口文档
25584 2020-11-02 17:48:47 中昱维信
协议类目 | 说明 |
调用地址 | https://vip.veesing.com/voiceApi |
请求方式 | POST(HTTPS) |
编码格式 | UTF-8 |
Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
参数名称 | 类型 | 是否必填 | 描述 | 示例值 |
appId | String | 是 | 账户标识。平台分配给用户的接口调用账户标识,登录平台首页账号信息栏可查看。 | 2RYN7CQHL1M***** |
appKey | String | 是 | 账户密钥。平台分配给用户的接口调用密钥,登录平台首页账号信息栏,校验身份后可查看。 | WVNA4A0***** |
templateId | String | 是 | 语音通知/验证码短信模版ID。需在https://vip.veesing.com平台申请,审核通过后,模版ID可用。 | 724 |
phone | String | 是 | 接收短信的手机号码。 (只支持单个手机号) | 156xxxx1090 |
variables | String | 是 | 变量值。语音验证码支持2-8位纯数字,语音通知支持不超过50个字符。 (短信内容不支持插入表情符号) | 1234 |
import java.io.IOException; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; import com.alibaba.fastjson.JSONObject; import com.veesing.utils.Config; /** * 语音验证码 * @author MWH * */ public class VoiceTest { public static void main(String[] args) { // 获取连接 HttpClient client = new HttpClient(); // 语音验证码API接口地址 PostMethod method = new PostMethod("https://vip.veesing.com/voiceApi"); // 设置编码 client.getParams().setContentCharset("UTF-8"); method.setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=utf-8"); // 手机号码,一次只能提交一个手机号码 String phone = "15080929435"; // 变量 Integer num = (int)((Math.random()*9+1)*1000); String variables = num.toString(); System.out.println("验证码是:"+variables); // 拼接参数 NameValuePair[] data = { new NameValuePair("appId", "2RYN7CQHL1M*****"), new NameValuePair("appKey", "WVNA4A0*****"), new NameValuePair("templateId", "724"), new NameValuePair("phone", phone), new NameValuePair("variables", variables) }; method.setRequestBody(data); try { client.executeMethod(method); String result = method.getResponseBodyAsString(); // 返回结果 System.out.println(result); JSONObject jsonObject = JSONObject.parseObject(result); // 返回1则发送成功(逻辑操作请根据接口文档返回参数自行判断) if (jsonObject.get("returnStatus").equals("1")) { System.out.println("成功!"); } else { System.out.println("失败!"); } // 释放连接 method.setRequestHeader("Connection", "close"); method.releaseConnection(); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
更多语言示例,请 点击下载
{ "returnStatus": "1 ", //状态码 "message": "成功", //状态提示信息 "remainPoint": "241", //本次发送后,账户剩余条数 "taskId": "3313746", //下发批次ID(唯一) "successCounts": "1" //成功条数 }
{ "returnStatus": "0", //状态码 "message": "参数错误", //状态提示信息 "remainPoint": null, //本次发送后,账户剩余条数 "taskId": null, //下发批次ID(唯一) "successCounts": null //成功条数 }
状态码 | 状态提示信息 |
1 | 发送成功 |
0 | 账号或密码错误 |
0 | 缺少参数 |
0 | 模板不存在或者未通过 |
0 | 模板id格式不正确 |
0 | 您的账户已被锁定,请联系您的专属客服 |
0 | 余额不足 |
0 | 手机号码格式不正确 |
0 | 该号码今日发送次数已达上限 |
0 | 相同手机号码一分钟之内只可发送一次 |
0 | 当日发送量已超出最大发送限制 |
0 | 未知原因,请联系客服 |
运营商产生短信回执后,触发回执数据推送,每产生一条回执,则推送一条。
回执数据,由短信平台主动推送到用户设置的地址上,数据格式需遵循标准化数据格式。
协议类目 | 说明 |
调用方式 | 主动回调 |
请求方式 | POST(HTTPS) |
编码格式 | UTF-8 |
数据交互格式 | Key-Value |
Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
参数名称 | 类型 | 是否必填 | 描述 | 示例值 |
mobile | String | 是 | 用户手机号码 | 1508092**** |
taskid | String | 是 | 下发批次ID | 123 |
status | String | 是 | 回执状态 1.发送成功 0.发送失败 | 1 |
code | String | 是 | 网关回执码 | 1 |
receivetime | String | 是 | 回执产生时间 yyyy-MM-dd HH:mm:ss | 2019-07-23 17:00:00 |
talktime | String | 是 | 语音时长(单位:秒) | 12 |
remark | String | 是 | 备注 | 接收成功 |
协议类目 | 说明 |
调用地址 | https://vip.veesing.com/voiceApi/getBalance |
请求方式 | POST(HTTPS) |
编码格式 | UTF-8 |
Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
参数名称 | 类型 | 是否必填 | 描述 | 示例值 |
appId | String | 是 | 账户标识。平台分配给用户的接口调用账户标识,登录平台首页账号信息栏可查看。 | 2RYN7CQHL1M***** |
appKey | String | 是 | 账户密钥。平台分配给用户的接口调用密钥,登录平台首页账号信息栏,校验身份后可查看。 | WVNA4A0***** |
OkHttpClient client = new OkHttpClient().newBuilder() .followRedirects(false) .build(); MediaType mediaType = MediaType.parse("text/plain"); RequestBody body = RequestBody.create(mediaType, ""); Request request = new Request.Builder() .url("https://vip.veesing.com/voiceApi/group/getBalance?appId=2RYN7CQHL1M*****&appKey=WVNA4A0*****") .method("POST", body) .build(); Response response = client.newCall(request).execute();
{ "returnStatus": "1 ", //状态码 "message": "成功", //状态提示信息 "remainPoint": "241", //账户剩余条数 "taskId": null, "successCounts": null }
{ "returnStatus": "0", //状态码 "message": "参数错误", //状态提示信息 "remainPoint": null, "taskId": null, "successCounts": null }
状态码 | 状态提示信息 |
1 | 提交成功 |
0 | 账号或密码错误 |
0 | 缺少参数 |
0 | 您的账户已被锁定,请联系您的专属客服 |
0 | 未知原因,请联系客服 |
0 | IP受限 |