短信发送

云信API短信接口主要应用于:
1、以银行、金融业为代表的账户变动通知短信,存贷款利率通知、外汇牌价通知、股市信息通知等等行业业务通知类;
2、会员营销类短信:主要代表由直接面对终端用户的消费企业,进行市场推广,营销传播、促销优化,客户ERP等方面的应用为主;
3、移动互联网时代新增场景:手机验证码短信;
4、嵌入公司办公OA、ERP等办公通知类,与各类应用实现无缝对接,具有易对接,准确到达率高等特点。
5、更多应用有待您的创造和发现。

请求地址:

请求地址

UTF-8编码HTTP请求地址 GB2312编码HTTP请求地址
http://61.191.26.xx:8888/sms.aspx http://61.191.26.xx:8888/smsGBK.aspx

公共参数

action参数值 功能
send 发送短信
overage 获取余额
checkkeyword 检查敏感字
... 更多功能请联系客服咨询

请求参数(send)

名称 类型 是否必须 示例值 更多限制 描述
action String 必须 send 发送任务命令,设置为固定的:send
userid String 必须 12 企业ID
account String 必须 帐号 发送用户帐号,,由系统管理员分配。
password Json 必须 123456 用户账号对应的密码.
mobile String 必须 13000000000 发信发送的目的号码.多个号码之间用半角逗号隔开
content String 必须 下发内容 短信的内容,内容需要接口对应编码
sendTime String 可选 2010-10-24 09:08:10 定时发送时间码为空表示立即发送,定时发送格式2010-10-24 09:08:10
extno String 可选 1 扩展子号。请先询问配置的通道是否支持扩展子号,如果不支持,请填空。子号只能为数字,且最多10位数。

响应参数

名称 类型 示例值 描述
returnstatus String Success 返回状态值:成功返回Success 失败返回:Faild
message String ok 返回信息:见错误码解释表
remainpoint String 10000 返回余额
taskID String 1212 返回本次任务的序列ID
successCounts String 50 成功短信数:当成功后返回提交成功短信数

请求示例

public static String sendPost(String sendUrl, String outEncoding) {

		String retMsg = "";
		BufferedReader reader = null;
		try {

			URL url = new URL(sendUrl);
			URLConnection connection = url.openConnection();
			connection.setDoOutput(true);
			// 发送域信息
			OutputStreamWriter out = new OutputStreamWriter(connection
					.getOutputStream(), outEncoding);
			out.flush();
			out.close();
			// 获取返回数据
			InputStream in = connection.getInputStream();
			reader = new BufferedReader(new InputStreamReader(in));
			StringBuffer buffer = new StringBuffer();
			String line = "";
			while ((line = reader.readLine()) != null) {
				buffer.append(line);
			}

			retMsg = buffer.toString();
		} catch (Exception e) {

			e.printStackTrace();
			retMsg = "reuid_error";
		} finally {
			try {
				if (reader != null) {
					reader.close();
				}
			} catch (IOException e) {

				e.printStackTrace();
			}
		}
		return retMsg.trim();
	}
string HttpPost(string uri, string parameters)
{	
    WebRequest webRequest = WebRequest.Create(uri);
    webRequest.ContentType = "application/x-www-form-urlencoded";
    webRequest.Method = "POST";
    byte[] bytes = Encoding.UTF8.GetBytes(parameters);//这里需要指定提交的编码
    Stream os = null;
    try
    { // send the Post
	webRequest.ContentLength = bytes.Length;   //Count bytes to send
	os = webRequest.GetRequestStream();
	os.Write(bytes, 0, bytes.Length);         //Send it
    }
    catch (WebException ex)
    {
	MessageBox.Show(ex.Message, "HttpPost: Request error",
	   MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    finally
    {
	if (os != null)
	{
	    os.Close();
	}
    }
$post_data = array();
$post_data['userid'] = 企业ID;
$post_data['account'] = '用户帐号';
$post_data['password'] = '密码';
$post_data['content'] = urlencode('测试php提交'); //短信内容需要用urlencode编码下
$post_data['mobile'] = '号码';
$post_data['sendtime'] = ''; //不定时发送,值为0,定时发送,输入格式YYYY-MM-dd HH:mm:ss的日期值
$url='http://客户端地址/sms.aspx?action=send';
$o='';
foreach ($post_data as $k=-->$v)
{
   $o.="$k=".urlencode($v).'&';
}
$post_data=substr($o,0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果需要将结果直接返回到变量里,那加上这句。
$result = curl_exec($ch);

响应示例


 Success
 ok
 10000
 1212
 50

异常示例


 Faild
 参数错误
 0
 0
 0

错误码解释

返回信息提示 错误描述 解决方案
ok 提交成功 提交成功
用户名或密码不能为空 提交的用户名或密码为空 提交的正确的用户名或密码
发送内容包含sql注入字符 包含sql注入字符 全角提交包含sql注入字符
用户名或密码错误 表示用户名或密码错误 提交的正确的用户名或密码
短信号码不能为空 提交的被叫号码为空 提交正常被叫号码
短信内容不能为空 发送内容为空 提交正常的内容
包含非法字符: 表示检查到不允许发送的非法字符 修改短信内容,重新提交
对不起,您当前要发送的量大于您当前余额 当支付方式为预付费是,检查到账户余额不足 充值后重新提交
其他错误 其他数据库操作方面的错误 其他数据库操作方面的错误

如何获得此API

API接口 申请途径
云信API接口 (下载API文档) 公司网站   客户经理   客服