/// <summary> /// 发送单条短信 /// </summary> /// <param name="content">短信内容</param> /// <param name="mobile">目标手机号</param> /// <param name="rid">记录ID, 用于返回结果后的后续处理, 非必填</param> /// <param name="filter_nonnumber">是否过滤手机号中包含的非数字字符</param> /// <returns>发送结果</returns> public override SMSResponse send(string content, string mobile, string rid, bool filter_nonnumber) { if (service_key.isNull()) { return(SMSResponse.errorNotInitialized()); } if (content.isNull()) { return(SMSResponse.custom(9900, "传入内容不能为空")); } if (filter_nonnumber) { mobile = mobile.getOnlyNumber(); } if (!mobile.isPhoneNumber()) { return(SMSResponse.custom(9901, "手机号传入有误")); } var send_content = new SMSSendContent(string.Format("【{0}】{1}", sign, content), mobile, service_key, service_secret); //var data = string.Format("UserId={0}&Text64={1}", rid, encodeContent(send_content)); var response = post(textContent(send_content), ""); //var response = post(Urls.urlSMSEncoded() + "?" + data, ""); return(getResponse(response)); }
/// <summary> /// 发送语音验证码 /// </summary> /// <param name="auth_code">验证码, 一般为4~6位数字</param> /// <param name="mobile">目标手机号</param> /// <param name="rid">记录ID, 用于返回结果后的后续处理, 非必填</param> /// <param name="filter_nonnumber">是否过滤手机号中包含的非数字字符</param> /// <returns>发送结果</returns> public override SMSResponse sendVoiceAuth(string auth_code, string mobile, string rid, bool filter_nonnumber) { if (service_key.isNull()) { return(SMSResponse.errorNotInitialized()); } if (auth_code.isNull()) { return(SMSResponse.custom(9900, "传入内容不能为空")); } 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("&code="); sb.Append(auth_code); if (!rid.isNull()) { sb.Append("&uid=" + rid); } var response = post(Urls.urlAuthCodeVoice(), sb.ToString()); return(getResponse(response)); }
/// <summary> /// 发送单条短信 /// </summary> /// <param name="content">短信内容</param> /// <param name="mobile">目标手机号</param> /// <param name="rid">记录ID, 用于返回结果后的后续处理, 非必填</param> /// <param name="filter_nonnumber">是否过滤手机号中包含的非数字字符</param> /// <returns>发送结果</returns> public override SMSResponse send(string content, string mobile, string rid, bool filter_nonnumber) { if (service_key.isNull()) { return(SMSResponse.errorNotInitialized()); } if (content.isNull()) { return(SMSResponse.custom(9900, "传入内容不能为空")); } 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("&text="); sb.Append(HttpUtility.UrlEncode(string.Format("【{0}】{1}", sign, content))); if (!rid.isNull()) { sb.Append("&uid=" + rid); } var response = post(Urls.urlSMSSingle(), sb.ToString()); return(getResponse(response)); }
/// <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)); }