接入示例
    
    package com.dahancloud.demo;
    
    import com.dahancloud.dto.SubmitResult;
    import com.dahancloud.voice.VoiceSdk;
    
    /**
     * 语音拨打Demo
     * @author dahancloud
     **/
    public class VoiceDemo {
    
        public static void main(String[] args) {
        	/**
    	     * 语音拨打接口调用说明
    	     * 假设您想给手机号159xxxx1234发送一条语音信息(电话拨打),
    	     * 您打算使用的模板ID为1,对应模板内容为:"您的验证码是:{1}"
    	     * 给这个模板传入的参数为"123456",则调用方式为:
    	     * sendVoice("159xxxx1234", "1", ['123456']);
    	     * 最终收到的语音信息内容为:"您的验证码是:123456",播放次数由模板决定
    	     **/
            sendVoice("159xxxx1234", "1", new String[]{"123456"});
        }
    
        /**
         * 语音拨打
         * @param to 被叫号码
         * @param tempId 模板ID
         * @param datas 参数
         * @date 2018/6/7 13:48
         **/
        private static void sendVoice(String to, String tempId, Object datas) {
            // 初始化SDK
            VoiceSdk voiceSdk = new VoiceSdk();
           /**
     	    * 帐户参数配置
     	    * 用户登录之后在开发者控制台【首页】寻找以下配置参数:
     	    * AccountSid: 帐号ID,对应开发者帐号下的 ACCOUNT SID
     	    * AuthToken: 授权令牌,对应开发者帐号下的 AUTH TOKEN
     	    * ApiUrl: API调用路径,对应着开发者后台中的API URL
     	    * AppId: 应用ID,对应开发者控制台【应用管理】中的某个APP ID
     	    **/
            voiceSdk.setAccountSid("ef7de10b078c42************");
            voiceSdk.setAuthToken("92323d68a29645w************");
            voiceSdk.setApiUrl("https://voice.dahancloud.com/");
            voiceSdk.setAppId("e8acc5267b0e4660914************");
            //实际调用请保证这些参数真实有效!
            SubmitResult result = voiceSdk.sendVoice(to, tempId, datas);
            System.out.println(result);
            if ("DH:0000".equals(result.getCode())) {
                System.out.println("信息发送提交成功");
            } else {
                // 发送失败
                System.out.println("错误码=" + result.getCode() + " 错误信息= " + result.getMsg());
            }
        }
    
    }
    
    
    							
    
    namespace Dahan_Voice_Demo_CSharp_v1._0
    {
        class Program
        {
            static void Main(string[] args)
            {
               /**
                * 语音拨打接口调用说明
                * 假设您想给手机号159xxxx1234发送一条语音信息(电话拨打),
                * 您打算使用的模板ID为1,对应模板内容为:"您的验证码是:{1}"
                * 给这个模板传入的参数为"123456",则调用方式为:
                * sendVoice("159xxxx1234", "1", ['123456']);
                * 最终收到的语音信息内容为:"您的验证码是:123456",播放次数由模板决定
                **/
                sendVoice("159xxxx1234", "1", new String[] { "123456"});
    
                /**
                 * 需要获取在云通讯发送的语音状态报告,
                 * 通过调用请求状态报告,若有就会返回状态报告,一次最多返回200条
                 **/
                getVoiceReport();
                Console.ReadKey();
            }
    
            /*
             * 提交发送语音信息
             */
            public static void sendVoice(string to, string templateId, string[] datas) {
                VoiceSdk voiceSdk = new VoiceSdk();
              /*
               * 帐户参数配置
               * 用户登录之后在开发者控制台【首页】寻找以下配置参数:
               * AccountSid: 帐号ID,对应开发者帐号下的 ACCOUNT SID
               * AuthToken: 授权令牌,对应开发者帐号下的 AUTH TOKEN
               * ApiUrl: API调用路径,对应着开发者后台中的 VOICE API URL
               * AppId: 应用ID,对应开发者控制台【应用管理】中的某个APP ID
               */
                voiceSdk.setAccountSid("ef7de10b078c4152899279d4********");
                voiceSdk.setAuthToken("92323d68a2964599862cd602********");
                voiceSdk.setAppId("e8acc5267b0e4660914f0c34*******");
                voiceSdk.setApiUrl("https://voice.dahancloud.com/");
                /*
                 * 拨打模板语音电话
                 * to 手机号码,多个手机号码需用英文逗号分开
                 * tempId 模板ID,对应开发者后台中的语音模板编号(语音验证码默认为 “1” )
                 * datas 替换内容,格式为数组,例如:new string[]{"123456"}
                 */
                // 发送语音消息
                Dictionary retData = voiceSdk.sendVoice(to, templateId, datas);
                string voiceSendResult = getDictionaryData(retData);
                Console.WriteLine(voiceSendResult);
            }
    
            /**
             * 获取语音状态报告
             */
            public static void getVoiceReport() {
                VoiceSdk voiceSdk = new VoiceSdk();
               /*
    	        * 帐户参数配置
    	        * 用户登录之后在开发者控制台【首页】寻找以下配置参数:
    	        * AccountSid: 帐号ID,对应开发者帐号下的 ACCOUNT SID
    	        * AuthToken: 授权令牌,对应开发者帐号下的 AUTH TOKEN
    	        * ApiUrl: API调用路径,对应着开发者后台中的REPORT API URL
    	        * AppId: 应用ID,对应开发者控制台【应用管理】中的某个APP ID
    	        */
                voiceSdk.setAccountSid("ef7de10b078c4152899279d4********");
                voiceSdk.setAuthToken("92323d68a2964599862cd602********");
                voiceSdk.setAppId("e8acc5267b0e4660914f0c34*******");
                voiceSdk.setApiUrl("https://report.dahancloud.com/");
                // 获取语音状态报告
                Dictionary reports = voiceSdk.getReport();
                string voiceReport = getDictionaryData(reports);
                Console.WriteLine(voiceReport);
            }
    
    
    
            /**
             * 将返回的内容转换成字符串
             **/
            private static string getDictionaryData(Dictionary templateVoice)
            {
                string ret = null;
                foreach (KeyValuePair item in templateVoice)
                {
                    if (item.Value != null && item.Value.GetType() == typeof(Dictionary))
                    {
                        ret += item.Key.ToString() + "={";
                        ret += getDictionaryData((Dictionary)item.Value);
                        ret += "};";
                    }
                    else
                    {
                        ret += item.Key.ToString() + "=" + (item.Value == null ? "null" : item.Value.ToString()) + ";";
                    }
                }
                return ret;
            }
        }
    }