请求地址: http://sms.zimengwangluo.cn/v2sms.aspx 对应UTF-8 http://sms.zimengwangluo.cn/v2smsGBK.aspx 对应GB2312 请求参数 参数名称含义说明userid企业id企业IDtimestamp时间戳系统当前时间字符串,年月日时分秒,例如:20120701231212sign签名使用 账号+密码+时间戳 生成MD5字符串作为签名。MD5生成32位,且需要小写例如:账号是test 密码是mima时间戳是20120701231212就需要用testmima20120701231212来生成MD5的签名,生成的签名为5cc68982f55ac74348e3d819f868fbe1其他参数没错的话,提示错误的时候检查加密结果对不对。mobile全部被叫号码发信发送的目的号码.多个号码之间用半角逗号隔开content发送内容短信的内容,内容需要UTF-8编码sendTime定时发送时间为空表示立即发送,定时发送格式2010-10-24 09:08:10action发送任务命令设置为固定的:sendextno扩展子号请先询问配置的通道是否支持扩展子号,如果不支持,请填空。子号只能为数字,且多10位数。响应参数 名称类型示例描述returnsmStringXml根元素returnstatusBooleanSuccess返回状态值:成功返回Success 失败返回:FaildmessageStringok返回信息描述remainpointInt123返回余额taskIDInt54215257返回本次任务的序列IDsuccessCountsInt2成功短信数:当成功后返回提交成功短信数请求示例(c#) public string SendSMS(string userid, string timestamp, string sign, string mobile, string content, string sendTime, string extno) { string requestUrl = string.Format("{0}/v2sms.aspx", SITEURL); StreamReader reader; Uri requestUri = new Uri(requestUrl); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUri); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.KeepAlive = true; request.Timeout = 1000000; StringBuilder data = new StringBuilder(); data.Append("action=send"); data.Append(string.Format("&userid={0}", userid)); data.Append(string.Format("×tamp={0}", timestamp)); data.Append(string.Format("&sign={0}", sign)); data.Append(string.Format("&content={0}", content)); data.Append(string.Format("&mobile={0}", mobile)); data.Append(string.Format("&extno={0}", extno)); data.Append(string.Format("&sendTime={0}", sendTime)); byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString()); request.ContentLength = byteData.Length; using (Stream postStream = request.GetRequestStream()) { postStream.Write(byteData, 0, byteData.Length); } WebResponse response = (HttpWebResponse)request.GetResponse(); reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); StringBuilder builder = new StringBuilder(); char[] buffer = new char[0x400]; int charCount = 0; while ((charCount = reader.Read(buffer, 0, buffer.Length)) › 0) { builder.Append(buffer, 0, charCount); } reader.Close(); return builder.ToString(); 响应示例 ‹?xml version="1.0" encoding="utf-8" ?› ‹returnsms› ‹returnstatus›status ‹/returnstatus› ‹message›message‹/message› ‹remainpoint› remainpoint‹/remainpoint› ‹taskID›taskID‹/taskID› ‹successCounts›successCounts‹/successCounts› ‹/returnsms› 异常示例 ‹?xml version="1.0" encoding="utf-8" ?› ‹returnsms› ‹returnstatus›Faild‹/returnstatus› ‹message›签名错误‹/message› ‹remainpoint› 0‹/remainpoint› ‹taskID›0‹/taskID› ‹successCounts›0‹/successCounts› ‹/returnsms› 返回信息解释 返回信息提示说明ok提交成功用户名或密码不能为空提交的用户名或密码为空发送内容包含sql注入字符包含sql注入字符用户名或密码错误表示用户名或密码错误用户名或密码错误表示用户名或密码错误短信号码不能为空提交的被叫号码为空短信内容不能为空发送内容为空包含非法字符:表示检查到不允许发送的非法字符对不起,您当前要发送的量大于您当前余额当支付方式为预付费是,检查到账户余额不足其他错误其他数据库操作方面的错误 |
请求地址: http://sms.zimengwangluo.cn/v2callApi.aspx 请求参数 参数名称含义说明userid企业id企业IDtimestamp时间戳系统当前时间字符串,年月日时分秒,例如:20120701231212sign签名使用 账号+密码+时间戳 生成MD5字符串作为签名。MD5生成32位,且需要小写例如:账号是test 密码是mima时间戳是20120701231212就需要用testmima20120701231212来生成MD5的签名,生成的签名为5cc68982f55ac74348e3d819f868fbe1action任务名称设置为固定的:query响应参数 名称类型示例描述returnsmsStringclass="b_m_1"Xml根元素callboxStringXml节点mobileString3622223333对应手机号码contentInt你好回复内容taskIDInt54215257下发该号码的短信内容TaskIDreceivetimeInt2011-12-02 22:12:11接收时间extnoInt01子号,即自定义扩展号请求示例(c#) public string Mo(string userid, string timestamp, string sgin) { string requestUrl = string.Format("{0}/v2callApi.aspx", SITEURL); StreamReader reader; Uri requestUri = new Uri(requestUrl); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUri); request.Method = "post"; request.ContentType = "application/x-www-form-urlencoded"; request.KeepAlive = true; request.Timeout = 100000000; StringBuilder data = new StringBuilder(); data.Append("action=query"); data.Append(string.Format("&userid={0}",userid)); data.Append(string.Format("×tamp={0}",timestamp)); data.Append(string.Format("&sign={0}",sgin)); byte[] bytedata = UTF8Encoding.UTF8.GetBytes(data.ToString()); request.ContentLength = bytedata.Length; Stream poststream = request.GetRequestStream(); poststream.Write(bytedata,0,bytedata.Length); poststream.Close(); WebResponse response = (HttpWebResponse)request.GetResponse(); reader = new StreamReader(response.GetResponseStream(),Encoding.UTF8); string value = reader.ReadToEnd(); return value; } 响应示例 ‹?xml version="1.0" encoding="utf-8" ?› ‹returnsms› ‹callbox›‹ ‹mobile›15023239810‹/mobile› ‹taskid›1212‹/taskid› ‹content›你好,我不需要‹/content› ‹receivetime›2011-12-02 22:12:11‹/receivetime› ‹extno›01‹/extno›- ‹/callbox› ‹/returnsms› 异常示例 ‹?xml version="1.0" encoding="utf-8" ?› ‹returnsms› ‹errorstatus› ‹error›1‹/error› ‹remark›用户名或密码不能为空‹/remark› ‹/errorstatus› ‹/returnsms› 错误码解释 返回信息提示说明1用户名或密码不能为空2用户名或密码错误3该用户不允许查看状态报告4参数不正确 |
请求地址: http://sms.zimengwangluo.cn/v2sms.aspx http://sms.zimengwangluo.cn/v2smsGBK.aspx 请求参数 参数名称含义说明userid企业idclass="cs_zc"企业IDtimestamp时间戳系统当前时间字符串,年月日时分秒,例如:20120701231212sign签名使用 账号+密码+时间戳 生成MD5字符串作为签名。MD5生成32位,且需要小写例如:账号是test 密码是mima时间戳是20120701231212就需要用testmima20120701231212来生成MD5的签名,生成的签名为5cc68982f55ac74348e3d819f868fbe1其他参数没错的话,提示错误的时候检查加密结果对不对。action任务名称设置为固定的:overage响应参数 名称类型示例描述returnsmStringXml根元素returnstatusBooleanSuccess返回状态值:成功返回Success 失败返回:FaildmessageStringok返回信息描述payinfo String预付费返回支付方式。后付费,预付费overageInt54215257返回余额sendTotalInt2返回总点数。当支付方式为预付费是返回总充值点数请求示例(c#) public string Balance(string userid, string timestamp, string sgin) { string requestUrl = string.Format("{0}/v2sms.aspx", SITEURL); StreamReader reader=null; Uri requestUri = new Uri(requestUrl); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUri); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.KeepAlive = true; request.Timeout = 10000000; StringBuilder data = new StringBuilder(); data.Append("action=overage"); data.Append(String.Format("&userid={0}",userid)); data.Append(String.Format("×tamp={0}",timestamp)); data.Append(String.Format("&sign={0}",sgin)); byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString()); request.ContentLength = byteData.Length; Stream stream = request.GetRequestStream(); stream.Write(byteData,0,byteData.Length); stream.Close(); WebResponse response = (HttpWebResponse)request.GetResponse(); reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); String value = reader.ReadToEnd(); return value; } 响应示例 ‹?xml version="1.0" encoding="utf-8" ?› ‹returnsms› ‹returnstatus›status‹/returnstatus› ‹message›message‹/message› ‹payinfo›payinfo‹/payinfo› ‹overage›overage‹/overage› ‹sendTotal›sendTotal‹/sendTotal› ‹/returnsms› 异常示例 ‹?xml version="1.0" encoding="utf-8" ?› ‹returnsms› ‹returnstatus›‹Faild/returnstatus› ‹message›‹签名错误/message› ‹payinfo›‹/payinfo› ‹overage›‹/overage› ‹sendTotal›‹/sendTotal› ‹/returnsms› 返回信息解释 返回信息提示说明返回空查询成功将返回相应的支付方式、账户使用条数、总充值点数用户名或密码不能为空提交的用户名或密码为空用户名或密码错误表示用户名或密码错误 |