网址:云通讯

开发指南

准备工作

免费测试

错误代码

短信验证码

短信模板

短信发送接口

Demo示例

 

常用Demo下载:SMS PHP DEMO下载SMS JAVA DEMO下载

我们在网站上提供各种开发语言的Demo下载,用户要参考模板短信功能如何实现,可以在"REST Server Demo"部分根据自己的开发语言下载相应的Demo例子。

1 PHP Demo中模板短信的使用说明

1.1 目录介绍

1.2 发送模板短信接口介绍

1.接口声明文件:SDK\CCPRestSDK.php

2.接口函数定义:function sendTemplateSMS($to,$datas,$tempId)

3.参数说明:

$to: 短信接收手机号码集合,用英文逗号分开,如 '13810001000,13810011001',最多一次发送200个。
$datas:内容数据,需定义成数组方式,如模板中有两个参数,定义方式为array('3456','123')。
$tempId: 模板Id,如使用测试模板,模板id为1,如使用自己创建的模板,则使用自己创建的短信模板id即可。

4.接口调用示例:

 include_once("../SDK/CCPRestSDK.php");
 说明:需要包含接口声明文件,可将该文件拷贝到自己的程序组织目录下。

 $accountSid= ; 
 说明:主账号,登陆云通讯网站后,可在控制台首页看到开发者主账号ACCOUNT SID

 $accountToken= ; 
 说明:主账号Token,登陆云通讯网站后,可在控制台首页看到开发者主账号AUTH TOKEN

 $appId=; 
 说明:请使用管理控制台中已创建应用的APPID

 $serverIP='app.cloopen.com'; 
 说明:生成环境请求地址:app.cloopen.com


 $serverPort='8883'; 
 说明:请求端口 ,无论生产环境还是沙盒环境都为8883.

 $softVersion='2013-12-26'; 
 说明:REST API版本号保持不变。

 function sendTemplateSMS($to,$datas,$tempId)

 {
     // 初始化REST SDK
     global $accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion; 
     $rest = new REST($serverIP,$serverPort,$softVersion); 
     $rest->setAccount($accountSid,$accountToken); 
     $rest->setAppId($appId); 
    

     // 发送模板短信
     echo "Sending TemplateSMS to $to 
"; $result = $rest->sendTemplateSMS($to,$datas,$tempId); if($result == NULL ) { echo "result error!"; break; } if($result->statusCode!=0) { echo "模板短信发送失败!
"; echo "error code :" . $result->statusCode . "
"; echo "error msg :" . $result->statusMsg . "
"; //下面可以自己添加错误处理逻辑 }else{ echo "模板短信发送成功!
"; // 获取返回信息 $smsmessage = $result->TemplateSMS; echo "dateCreated:".$smsmessage->dateCreated."
"; echo "smsMessageSid:".$smsmessage->smsMessageSid."
"; //下面可以自己添加成功处理逻辑 } } 可参考demo中的接口调用文件:Demo\SendTemplateSMS.php

2 Java Demo中模板短信的使用说明

2.1 目录介绍

2.2 发送模板短信接口介绍

1.接口声明文件:sdk\src\com\cloopen\rest\sdk\CCPRestSDK.java

2.接口函数定义:public HashMap sendTemplateSMS(String to, String templateId, String[] datas)

3.参数说明:

to: 字符串类型,短信接收手机号码集合,用英文逗号分开,如 "13810001000, 最多一次发送200个。
templateId: 字符串类型,模板Id,如使用测试模板,模板id为"1",如使用自己创建的模板,则使用自己创建的短信模板id即可。
datas: 字符串数组类型,内容数据,需定义成数组方式,如模板中有两个参数,定义方式为String{"3456","测试"}。

说明:CCPRestSDK.java依赖Jar包:package com.cloopen.rest.sdk,在LIB目录下

4.接口调用示例:

 import com.cloopen.rest.sdk.CCPRestSDK; 
 import com.cloopen.rest.sdk.CCPRestSDK.BodyType; 
 public class SDKTestSendTemplateSMS {
 public static void main(String[] args) {
 HashMap<String, Object> result = null; 
 CCPRestSDK restAPI = new CCPRestSDK();
 restAPI.init("app.cloopen.com", "8883");
 // 初始化服务器地址和端口,生产环境配置成app.cloopen.com,端口是8883. 
 restAPI.setAccount("accountSid", "accountToken");
 // 初始化主账号名称和主账号令牌,登陆云通讯网站后,可在控制首页中看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN。
 restAPI.setAppId("AppId");
 // 请使用管理控制台中已创建应用的APPID。
 result = restAPI.sendTemplateSMS("号码1,号码2等","模板Id" ,new String[]{"模板内容1","模板内容2"});
 System.out.println("SDKTestGetSubAccounts result=" + result); 
 if("000000".equals(result.get("statusCode"))){
 //正常返回输出data包体信息(map)
 HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
 Set<String> keySet = data.keySet();
 for(String key:keySet){ 
 Object object = data.get(key); 
 System.out.println(key +" = "+object); 
 }
 }else{
 //异常返回输出错误码和错误信息
 System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
 }
 }
 }
 可参考demo中的接口调用文件:
 demo\src\com\cloopen\rest\demoSDKTestSendTemplateSMS.Java
            

3 Python Demo中模板短信的使用说明

3.1 目录介绍

3.2 发送模板短信接口介绍

1.接口声明文件:SDK \CCPRestSDK.py
2.接口函数定义:def sendTemplateSMS(self, to,datas,tempId)
3.参数说明:

to: 短信接收手机号码集合,用英文逗号分开,如 '13810001000,13810011001',最多一次发送200个。
datas:内容数据,需定义成数组方式,如模板中有两个参数,定义方式为array['Marry','Alon']。
templateId: 模板Id,如使用测试模板,模板id为"1",如使用自己创建的模板,则使用自己创建的短信模板id即可。

4.接口调用示例:

 编码说明:coding=utf-8gbk
 from CCPRestSDK import REST
 import ConfigParser

 accountSid= '您的主账号'; 
 #说明:主账号,登陆云通讯网站后,可在控制台首页中看到开发者主账号ACCOUNT SID。

 accountToken= '您的主账号Token'; 
 #说明:主账号Token,登陆云通讯网站后,可在控制台首页中看到开发者主账号AUTH TOKEN。

 appId='您的应用ID'; 
 #请使用管理控制台中已创建应用的APPID。

 serverIP='app.cloopen.com';
 #说明:请求地址,生产环境配置成app.cloopen.com。

 serverPort='8883'; 
 #说明:请求端口 ,生产环境为8883.

 softVersion='2013-12-26'; #说明:REST API版本号保持不变。 

 def sendTemplateSMS(to,datas,tempId): 
    #初始化REST SDK
    rest = REST(serverIP,serverPort,softVersion) 
    rest.setAccount(accountSid,accountToken) 
    rest.setAppId(appId)

    result = rest.sendTemplateSMS(to,datas,tempId) 
    for k,v in result.iteritems():
        if k=='templateSMS' : 
                for k,s in v.iteritems():
                    print '%s:%s' % (k, s) 
        else: 
            print '%s:%s' % (k, v) 
 
 可参考demo中的接口调用文件:SendTemplateSMS.py
            

4 C# Demo中模板短信的使用说明

4.1 目录介绍

4.2 发送模板短信接口介绍

1.接口声明文件:CCPRestSDK.cs

2.接口函数定义: public Dictionary SendTemplateSMS(string to, string templateId, string[] data)

3.参数说明:

to: 短信接收手机号码集合,用英文逗号分开,如 "13810001000,13810011001",最多一次发送200个。

templateId: 模板Id,如使用测试模板,模板id为"1",如使用自己创建的模板,则使用自己创建的短信模板id即可。

datas:内容数据,需定义成数组方式,如模板中有两个参数,定义方式为{"1234","10"}。

4.接口调用示例:

 using System; 
 using System.Collections.Generic; 
 using System.Linq; 
 using System.Web; 
 using System.Web.UI; 
 using System.Web.UI.WebControls; 
 namespace SendTemplateSMS
 {
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e) 
        {
            string ret = null; 
            CCPRestSDK.CCPRestSDK api = new CCPRestSDK.CCPRestSDK();
            bool isInit = api.init("app.cloopen.com", "8883");
            api.setAccount(主账号, 主账号令牌); 
            api.setAppId(应用ID); 
            try
            {
                if (isInit) 
                {
                    Dictionary<string, object> retData = api.SendTemplateSMS(短信接收号码, 短信模板id, 内容数据); 
                    ret = getDictionaryData(retData); 
                }
                else
                {
                    ret = "初始化失败";
                }
            }
            catch (Exception exc) 
            {
                ret = exc.Message; 
            }
            finally
            {
                Response.Write(ret); 
            }
        }
        private string getDictionaryData(Dictionary<string, object> data)
        {
            string ret = null; 
            foreach (KeyValuePair<string, object> item in data) 
            {
                if (item.Value != null && item.Value.GetType() == typeof(Dictionary<string, object>))
                {
                    ret += item.Key.ToString() + "={";
                    ret += getDictionaryData((Dictionary<string, object>)item.Value); 
                    ret += "};";
                }
                else
                {
                    ret += item.Key.ToString() + "=" + (item.Value == null ? "null" : item.Value.ToString()) + ";";
                }
            }
            return ret; 
        }
    }
 }
 可参考demo中的接口调用文件:
 CCPRestDemo\Demo\SendTemplateSMS\Default.aspx.cs