2015年随着手机、平板设备普及,快速推动传统行业不等不转入电商销售模式,新的社交电商逐渐成为主流消费模式,而这一过程需要手机短信验证码来确保安全,乐信短信平台针对此种趋势开辟乐信电商短信平台短信接口程序解决方案,针对不同的短信接口开发程序语言,展示最真实详细的短信接口代码解决方案,短信接口代码实例展示,从而有效解决电商短信平台接口接收验证码难题。
短信接口接口技术文档及常见编程语言解决方案实例展示
首先,去短信接口供应平台免费注册帐号。
其次,到后台下载短信接口说明文档,以及各编程语言的实例代码。
网站或软件的技术开发人员根据短信接口包说明及实例代码调试,调试成功即可开通网站短信验证码功能应用。常见编程语言短信接口代码如下:
①PHP短信接口代码实例:
请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.weimi.cc/2/sms/send.html");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
/*
短信接口一,自写短信内容。该接口提交的短信均由人工审核,下发后请联系在线客服。适合:节假日祝福、会员营销群发等。
1、设定乐信账号的接口UID和接口密码
2、传入目标手机号码,多个以,”分隔,一次性调用最多100个号码,示例:139********,138********
3、传入短信内容。必须设置好短信签名,签名规范:
1)短信内容一定要带签名,签名放在短信内容的最前面;
2)签名格式:【***】,签名内容为三个汉字以上(包括三个);
3)短信内容不允许双签名,即短信内容里只有一个【】”
*/
curl_setopt($ch, CURLOPT_POSTFIELDS, 'uid=<enter your UID>&pas=<enter your UID Pass>&mob=<enter your mobiles>&con='.urlencode('【乐信】尊敬的用户,您的手机验证码是:fgrwah,3分钟内有效。请不要把此验证码泄露给任何人,以便您能安全使用。?').'&type=json');
$res = curl_exec( $ch );
curl_close( $ch );
echo($res);
返回结果
{ "code":0, "msg":"发送成功" }
②ASP短信接口代码实例:
1.1 Register注册
注:使用序列号的第一步即激活序列号的状态.和使用者进行绑定.如不注册便发送短信会返回相应的返回值-2.除sign参数可为空其它均为必填项.请认真对待这些参数的真实性.短信出现问题联系不上使用者后果自负.
返回结果:
XML格式:
文本格式: 0 成功。
1.2 balance 查询余额
函数返回值:String(余额)
示例:序列号SDK-BBX-010-00001 密码 123456
参数输入:
SN= SDK-BBX-010-00001
PWD= 3B5D3C427365F40C1D27682D78BB31E0
返回结果:
XML格式:
文本格式:
79109
1.4 mt 发送短信
函数返回值:String(唯一标识,即当前发送短信批次的唯一标识,和rrid对应,如为空则返回系统生成的rrid)此方法推荐用于大量群发.内容相同手机号多个
示例1:
输入参数:
SN= SDK-BBX-010-00001
PWD=3B5D3C427365F40C1D27682D78BB31E0
Mobile:139***404,138***213…………….
Content:测试
Ext:21(如果不是网络版,请置空)
Stime: 2009-10-19 16:34:00 (如果不需要定时,请置空)
Rrid:123456 (如果填写则系统返回填写内容,如果置空,返回系统生成的rrid)
输出结果:
文本格式:
123456
示例2
SN= SDK-BBX-010-00001
PWD=3B5D3C427365F40C1D27682D78BB31E0
Mobile:139***404,138***213…………….
Content:测试
Ext:
Stime:
Rrid: 此处为空
输出结果:
文本格式:
201012300908160937。
1.5 mo接收短信
函数返回值:Stirng
返回值说明:mo ID,特服号,手机号,内容(对内容进行gb2312解码),时间
如有多条回车换行隔开
返回结果:
XML格式:
文本格式:
12323666,47512,15201692834,%b2%e2%ca%d41,2010-12-30 9:15:56
注:拆分形式为 先 拆分成数组,然后逗号拆分成数组.根据索引读出需要的数据.内容要GB2312解码。
1.6 gxmt 个性发送
函数返回值:String (唯一标识,即当前发送短信批次的唯一标识,和rrid对应,如为空则返回系统生成的rrid,此处的rrid和mt发送的rrid用法相同,此方法用于发送多条内容不相同手机号多个的情况)
需要注意:
1、手机号以英文逗号隔开
2、发送内容GB2312编码后,以英文逗号隔开,个数和手机号个数一致
3、扩展码可以为空,单个,或多个(以英文逗号隔开,个数和手机号个数一致)
4、定时时间可以为空,单个,或多个(以英文逗号隔开,个数和手机号个数一致)
返回结果:
XML格式:
示例1:
输入参数:
SN= SDK-BBX-010-00001
PWD=3B5D3C427365F40C1D27682D78BB31E0
Mobile:139***404,138***213
Content: %B2%E2%CA%D41, %B2%E2%CA%D42
Ext:(如果不是网络版,请置空)
Stime: (如果不需要定时,请置空)
Rrid:123456 (如果填写则系统返回填写内容,如果置空,返回系统生成的rrid)
输出结果:
XML格式:
文本格式:
123456
示例2
SN= SDK-BBX-010-00001
PWD=3B5D3C427365F40C1D27682D78BB31E0
Mobile:139***404,138***213…………….
Content: %B2%E2%CA%D41, %B2%E2%CA%D42
Ext:
Stime:
Rrid: 此处为空
输出结果:
XML格式:
文本格式:
201012300908160937。
③JAVA短信接口代码实例:
请求
import java.util.HashMap;
import java.util.Map;
public class SmsDemo {
/**
* 短信接口一,自写短信内容。该接口提交的短信均由人工审核,下发后请联系在线客服。适合:节假日祝福、会员营销群发等。
*/
public static void sms_api1() {
Map<String, String> para = new HashMap<String, String>();
/**
* 目标手机号码,多个以,”分隔,一次性调用最多100个号码,示例:139********,138********
*/
para.put("mob", "<enter your mobiles>");
/**
* 乐信账号的接口UID
*/
para.put("uid", "<enter your UID>");
/**
* 乐信账号的接口密码
*/
para.put("pas", "<enter your UID Pass>");
/**
* 接口返回类型:json、xml、txt。默认值为txt
*/
para.put("type", "json");
/**
* 短信内容。必须设置好短信签名,签名规范:
* 1、短信内容一定要带签名,签名放在短信内容的最前面;
* 2、签名格式:【***】,签名内容为三个汉字以上(包括三个);
* 3、短信内容不允许双签名,即短信内容里只有一个【】”
*
*/
para.put("con", "【乐信】您的验证码是:610912,3分钟内有效。如非您本人操作,可忽略本消息。");
try {
System.out.println(HttpClientHelper.convertStreamToString(
HttpClientHelper.get("https://api.weimi.cc/2/sms/send.html",
para), "UTF-8"));
System.out.println(HttpClientHelper.convertStreamToString(
HttpClientHelper.post(
"https://api.weimi.cc/2/sms/send.html", para),
"UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 短信接口二,触发类模板短信接口,可以设置动态参数变量。适合:验证码、订单短信等。
*/
public static void sms_api2() {
Map<String, String> para = new HashMap<String, String>();
/**
* 目标手机号码,多个以,”分隔,一次性调用最多100个号码,示例:139********,138********
*/
para.put("mob", "<enter your mobiles>");
/**
* 乐信账号的接口UID
*/
para.put("uid", "<enter your UID>");
/**
* 乐信账号的接口密码
*/
para.put("pas", "<enter your UID Pass>");
/**
* 接口返回类型:json、xml、txt。默认值为txt
*/
para.put("type", "json");
/**
* 短信模板cid,通过乐信后台创建,由在线客服审核。必须设置好短信签名,签名规范:
* 1、模板内容一定要带签名,签名放在模板内容的最前面;
* 2、签名格式:【***】,签名内容为三个汉字以上(包括三个);
* 3、短信内容不允许双签名,即短信内容里只有一个【】”
*/
para.put("cid", "<enter your cid>");
/**
* 传入模板参数。
*
* 短信模板示例:
* 【乐信】您的验证码是:%P%,%P%分钟内有效。如非您本人操作,可忽略本消息。
*
* 传入两个参数:
* p1:610912
* p2:3
* 最终发送内容:
* 【乐信】您的验证码是:610912,3分钟内有效。如非您本人操作,可忽略本消息。
*/
para.put("p1", "610912");
para.put("p2", "3");
try {
System.out.println(HttpClientHelper.convertStreamToString(
HttpClientHelper.get("https://api.weimi.cc/2/sms/send.html",
para), "UTF-8"));
System.out.println(HttpClientHelper.convertStreamToString(
HttpClientHelper.post(
"https://api.weimi.cc/2/sms/send.html", para),
"UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] a) {
// 测试短信接口一
sms_api1();
// 测试短信接口二
sms_api2();
}
}
返回结果
{ "code":0, "msg":"发送成功" }
④VB .NET短信接口代码实例:
[java] view plaincopyprint?
package com.text;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class SendMsg_webchinese {
public static void main(String[] args) throws Exception {
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("https://sms.webchinese.cn/web_api/");
post.addRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码
NameValuePair[] data = { new NameValuePair("Uid", "cshxxxxxxxx"), // 注册的用户名
new NameValuePair("Key", "53295058d1c46710666a"), // 注册成功后,登录网站使用的密钥
new NameValuePair("smsMob", "187xxxxxxx"), // 手机号码
new NameValuePair("smsText", "以后给我老实点哈。。。。听话。。。") };//设置短信内容
[java] view plaincopyprint?
post.setRequestBody(data);
client.executeMethod(post);
Header[] headers = post.getResponseHeaders();
int statusCode = post.getStatusCode();
System.out.println("statusCode:" + statusCode);
for (Header h : headers) {
System.out.println(h.toString());
}
String result = new String(post.getResponseBodyAsString().getBytes(
"gbk"));
System.out.println(result);
post.releaseConnection();
}
⑤C# .NET短信接口代码实例:
发送短信,<=0返回失败.大于0成功条数,个人的。企业ID为0
https://gateway.woxp.cn:6630/gb2312/web_api/?x_eid=企业ID&x_uid=账号&x_pwd_md5=登陆密码MD5值&x_ac=10&x_gate_id=300&x_target_no=手机号码&x_memo=短信内容
提示:HTTP调用URL接口时, 参数值必须URL编码后再调用
--x_eid企业代码,个人账号值为0
--x_gate_id值为300.代表组合通道
--x_target_no可以多个号码最多100个每次。之间用[,]分开。例如:15910011001,1591061000,15912341234
--x_memo短信内容70字
//需要用到的命名空间
using System.Net;
using System.IO;
using System.Text;
//调用时只需要把拼成的URL传给该函数即可。判断返回值即可
public string GetHtmlFromUrl(string url)
{
string strRet = null;
if(url==null || url.Trim().ToString()=="")
{
return strRet;
}
string targeturl = url.Trim().ToString();
try
{
HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(targeturl);
hr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
hr.Method = "GET";
hr.Timeout = 30 * 60 * 1000;
WebResponse hs = hr.GetResponse();
Stream sr = hs.GetResponseStream();
StreamReader ser = new StreamReader(sr, Encoding.Default);
strRet = ser.ReadToEnd();
}
catch (Exception ex)
{
strRet = null;
}
return strRet;
}
电商网站短信接口编程语言接入注意事项:
如有返回各类错误代码,对照完整接口文档看说明
返回代码:100 表示发送成功
返回错误代码:101一般是 用户名或接口密码不对
返回错误代码:104 短信模板不符合规则或未审批备案或UTF8和GBK等编码和接口不统一
返回错误代码:102,手机号码格式不正确,103 会员级别不够
返回错误代码:105 内容过多,106 账户余额不足,107 Ip受限
返回错误代码:108 手机号码发送太频繁,120 系统升级
(责任编辑:乐信短信接口)