关闭
立即体验

立即体验

立即体验
服务类型:
手机号:
验证:

个性化短信接口文档

24435 2024-07-25 14:00:41 中昱维信

1.发送接口

协议说明

协议类目

说明

调用地址

https://cloud.10658.com.cn/smsApi/custom

请求方式

POST(HTTPS)

编码格式

UTF-8

Content-Type

application/x-www-form-urlencoded;charset=utf-8

请求参数(Query)

参数名称

类型

是否必填

描述

示例值

appId

String

账户标识。平台分配给用户的接口调用账户标识,登录平台首页账号信息栏可查看。

2RYN7CQHL1M*****

appKey

String

账户密钥。平台分配给用户的接口调用密钥,登录平台首页账号信息栏,校验身份后可查看。

WVNA4A0*****

sendTime

String

定时时间。留空则表示立即发送,时间格式为:yyyy-MM-dd HH:mm:ss

2018-08-21 14:00:00

smsId

String

定制短信模板id。

(平台申请审核通过后可用)

123

content

String

号码及变量值。

(content字符串由手机号和变量值组成,手机号码为固定key,用于存储用户手机号;其余的key名称需要和平台个性化模板中的变量名称一一对应)

(短信内容不支持插入表情符号)

如模板为:【云通信】尊敬的${姓名}你好,您本月实发薪资为:${工资},请注意查收!


则提交content为:

[{"手机号码":"15831471961","姓名":"张三","工资":"10000.00"},{"手机号码":"13076523432","姓名":"李四","工资":"20000.00"}]

请求示例

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 SmsGroupTest {
	public static void main(String[] args) {
		// 获取连接
		HttpClient client = new HttpClient();
		// 定制短信群发API接口地址
		PostMethod method = new PostMethod("https://cloud.10658.com.cn/smsApi/custom");
		// 设置编码
		client.getParams().setContentCharset("UTF-8");
		method.setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=utf-8");
		// 发送内容
		String content = "[{"手机号码":"15831471961","姓名":"张三","工资":"10000.00"},{"手机号码":"13076523432","姓名":"李四","工资":"20000.00"}]";
		// 拼接参数
		NameValuePair[] data = { 
				new NameValuePair("appId", "2RYN7CQHL1M*****"), 
				new NameValuePair("appKey", "WVNA4A0*****"),
				new NameValuePair("smsId", "123"), 
				// 发送时间,时间请务必大于实际提交时间的30分钟, 立即发送则不填,
				// new NameValuePair("sendTime", "2018-08-21 14:00:00") ,
				new NameValuePair("content", content)};
		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

未知原因,请联系客服 


2.回执/回复推送接口

触发条件

用户回复短信后,触发回复数据推送,每回复一条,则推送一条;运营商产生短信回执后,触发回执数据推送,每产生一条回执,则推送一条。

使用说明

回执回复数据,由短信平台主动推送到用户设置的地址上,数据格式需遵循标准化数据格式。

协议说明

协议类目

说明

调用方式

主动回调

请求方式

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

receivetime

String

回执产生时间

yyyy-MM-dd HH:mm:ss

2019-07-23 17:00:00

回复数据定义

参数名称

类型

是否必填

描述

示例值

mobile

String

用户手机号码

1508092****

taskid

String

下发批次ID

123

content

String

回复内容

(用户回复的短信内容)

收到

receivetime

String

回复上行时间

yyyy-MM-dd HH:mm:ss

2019-07-23 17:00:00


3.余额查询接口

协议说明

协议类目

说明

调用地址

https://cloud.10658.com.cn/smsApi/custom/getBalance

请求方式

POST(HTTPS)

编码格式

UTF-8

Content-Type

application/x-www-form-urlencoded;charset=utf-8

请求参数(Query)

参数名称

类型

是否必填

描述

示例值

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://cloud.10658.com.cn/smsApi/custom/getBalance?appId=2RYN7CQHL1M*****&appKey=WVNA4A0*****")
  .method("POST", body)
  .build();
Response response = client.newCall(request).execute();

正常响应示例

{
  "returnStatus": "1 ",		//状态码 
  "message": "成功",			//状态提示信息
  "remainPoint": "241",   //账户剩余条数
  "taskId": null,					//下发批次ID(唯一)
  "successCounts": null		//成功条数
}

异常响应示例

{
  "returnStatus": "0",     //状态码 
  "message": "参数错误",   //状态提示信息
  "remainPoint": null,   //账户剩余条数
  "taskId": null,					//下发批次ID(唯一)
  "successCounts": null		//成功条数
}

状态码定义

状态码

状态提示信息

1

提交成功

0

账号或密码错误

0

缺少参数

0

您的账户已被锁定,请联系您的专属客服

0

未知原因,请联系客服 

0

IP受限


客服热线:400-68-10658