Demo示例

我们在网站上提供各种开发语言的Demo,您可以参考新版sdk(Java、GO、Python、PHP)来实现模板短信功能,其它开发语言(.NET C#、C++、Objective)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","测试"}。
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-8或gbk
  •  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。
  •