Пример #1
0
        /**
         * <h1>修改语音通知模版</h1>
         *
         * <p>
         * 参数名 类型 是否必须 描述 示例
         * </p>
         * <p>
         * apikey String 是 用户唯一标识 9b11127a9701975c734b8aee81ee3526
         * </p>
         * <p>
         * tpl_id Long 是 模板id,64位长整形,指定id时返回id对应的模板。未指定时返回所有模板 9527
         * </p>
         * <p>
         * tpl_content String 是
         * 模板id,64位长整形。指定id时返回id对应的模板。未指定时返回所有模板模板内容,必须以带符号【】的签名开头 【云片网】您的验证码是#code#
         * </p>
         *
         * @param param
         * @return
         */
        public Result <Template> UpdateVoiceNotify(Dictionary <string, string> param)
        {
            var r = new Result <Template>();

            r = CheckParam(ref param, r, Const.Apikey, Const.TplId, Const.TplContent);

            if (!r.IsSucc())
            {
                return(r);
            }
            var data = UrlEncode(ref param);

            var h = new MapResultHandler <Template>(Version, rsp =>
            {
                switch (Version)
                {
                case Const.VersionV2:
                    {
                        return(rsp[Const.Template] != null
                            ? rsp[Const.Template].ToObject <Template>()
                            : rsp.ToObject <Template>());
                    }
                }

                return(null);
            });

            try
            {
                Path = "update_voice_notify.json";
                return(Post(ref data, h, r));
            }
            catch (Exception e)
            {
                return(h.CatchExceptoin(e, r));
            }
        }
Пример #2
0
        /**
         * <h1>注册成功回调 only v2</h1>
         * <p>
         * <p>
         * 参数名 类型 是否必须 描述 示例
         * </p>
         * <p>
         * apikey String 是 用户唯一标识 9b11127a9701975c734b8aee81ee3526
         * </p>
         * <p>
         * mobile String 是
         * 注册成功的手机号,请和调用接口的手机号一致 15205201314
         * </p>
         * <p>
         * time String 否 注册成功的时间,格式yyyy-MM-dd HH:mm:ss,可以是一天前,超过时间无法记录,默认当前时间 2017-03-15 18:30:00
         * </p>
         * <p>
         * 如果需要更准确的注册成功数据(排除找回密码等类型验证码产生的数据),
         * 在注册页调用 single_send.json 接口时带上参数“register”(布尔类型),值为“true”,
         * 则该条短信会被认定为注册验证码短信。
         * 此功能需联系客服开通。
         * </p>
         *
         * @param param
         * @return
         * @see SmsApi#single_send(Map)
         */
        public Result <object> RegComplete(Dictionary <string, string> param)
        {
            var r = new Result <object>();

            r = CheckParam(ref param, r, Const.Apikey, Const.Mobile);

            if (!r.IsSucc())
            {
                return(r);
            }
            var data = UrlEncode(ref param);

            var h = new MapResultHandler <object>(Version, rsp => null);

            try
            {
                Path = "reg_complete.json";
                return(Post(ref data, h, r));
            }
            catch (Exception e)
            {
                return(h.CatchExceptoin(e, r));
            }
        }
Пример #3
0
        /**
         * <h1>指定模板发送 only v1</h1>
         *
         * <p>
         * 参数名 类型 是否必须 描述 示例
         * </p>
         * <p>
         * apikey String 是 用户唯一标识 9b11127a9701975c734b8aee81ee3526
         * </p>
         * <p>
         * mobile String 是 接收的手机号 15205201314
         * </p>
         * <p>
         * tpl_id Long 是 模板id 1
         * </p>
         * <p>
         * tpl_value String 是 变量名和变量值对。请先对您的变量名和变量值分别进行urlencode再传递。使用参考:代码示例。
         * 注:变量名和变量值都不能为空 模板: 【#company#】您的验证码是#code#。 最终发送结果: 【云片网】您的验证码是1234。
         * tplvalue=urlencode("#code#") + "=" + urlencode("1234") + "&amp;" +
         * urlencode("#company#") + "=" + urlencode("云片网"); 若您直接发送报文请求则使用下面这种形式
         * tplvalue=urlencode(urlencode("#code#") + "=" + urlencode("1234") +
         * "&amp;" + urlencode("#company#") + "=" + urlencode("云片网"));
         * </p>
         * <p>
         * extend String 否 扩展号。默认不开放,如有需要请联系客服申请 001
         * </p>
         * <p>
         * uid String 否 用户自定义唯一id。最大长度不超过256的字符串。 默认不开放,如有需要请联系客服申请 10001
         * </p>
         *
         * @param param
         * @return
         */
        public Result <SmsSingleSend> TplSend(Dictionary <string, string> param)
        {
            var r = new Result <SmsSingleSend>();

            r = CheckParam(ref param, r, Const.Apikey, Const.Mobile, Const.TplId, Const.TplValue);

            if (!r.IsSucc())
            {
                return(r);
            }
            var data = UrlEncode(ref param);

            Version = Const.VersionV1;
            var h = new MapResultHandler <SmsSingleSend>(Version, rsp =>
            {
                switch (Version)
                {
                case Const.VersionV1:
                    {
                        return(rsp[Const.Result]?.ToObject <SmsSingleSend>());
                    }

                default: return(null);
                }
            });

            try
            {
                Path = "tpl_send.json";
                return(Post(ref data, h, r));
            }
            catch (Exception e)
            {
                return(h.CatchExceptoin(e, r));
            }
        }