Esempio n. 1
0
        /// <summary>
        /// 发送单条模板短信
        /// </summary>
        /// <param name="template_id">模板ID</param>
        /// <param name="pm">模板参数</param>
        /// <param name="mobile">目标手机号</param>
        /// <param name="rid">记录ID, 用于返回结果后的后续处理, 非必填</param>
        /// <param name="filter_nonnumber">是否过滤手机号中包含的非数字字符</param>
        /// <returns>发送结果</returns>
        public override SMSResponse sendTemplate(long template_id, Dictionary <string, string> pm, string mobile, string rid, bool filter_nonnumber)
        {
            if (service_key.isNull())
            {
                return(SMSResponse.errorNotInitialized());
            }
            if (filter_nonnumber)
            {
                mobile = mobile.getOnlyNumber();
            }
            if (!mobile.isPhoneNumber())
            {
                return(SMSResponse.custom(9901, "手机号传入有误"));
            }
            var sb = new StringBuilder();

            sb.Append("apikey=");
            sb.Append(service_key);
            sb.Append("&mobile=");
            sb.Append(mobile);
            sb.Append("&tpl_id=" + template_id);
            sb.Append("&tpl_value=" + HttpUtility.UrlEncode(serializeTemplateParam(pm)));
            if (!rid.isNull())
            {
                sb.Append("&uid=" + rid);
            }
            var response = post(Urls.urlSMSTemplateSingle(), sb.ToString());

            return(getResponse(response));
        }