public Msg91ApiResponse SendOtpSms(Msg91SmsOtpRequest smsRequest) { Msg91ApiResponse msg91ApiResponse = new Msg91ApiResponse() { StatusCode = 200 }; string url = _msg91ServiceConfiguration.SendOtpApiUrl + Msg91Constant.SEND_OTP_SMS_URL; Dictionary <string, string> requestHeader = new Dictionary <string, string>(); requestHeader.Add("Content-Type", "application/x-www-form-urlencoded"); Dictionary <string, string> queryParameter = new Dictionary <string, string>(); queryParameter.Add("authkey", _msg91ServiceConfiguration.AuthKey); queryParameter.Add("sender", _msg91ServiceConfiguration.SenderId); queryParameter.Add("mobile", smsRequest.mobile.ToString()); queryParameter.Add("otp", smsRequest.otp.ToString()); if (!string.IsNullOrWhiteSpace(smsRequest.email)) { queryParameter.Add("email", smsRequest.email); } if (smsRequest.otp_expiry > 0) { queryParameter.Add("otp_expiry", smsRequest.otp_expiry.ToString()); } if (smsRequest.otp_length > 0) { queryParameter.Add("otp_length", smsRequest.otp_length.ToString()); } if (!string.IsNullOrWhiteSpace(smsRequest.template_id)) { queryParameter.Add("template_id", smsRequest.template_id); } BaseHttpWebResponse httpWebResponse = _httpWebRequestHandler.Post(url, null, requestHeader, queryParameter); if (httpWebResponse != null) { msg91ApiResponse.StatusCode = httpWebResponse.StatusCode; msg91ApiResponse.MessageResponse = StringUtility.ConvertJsonToObject <BaseResponse>(httpWebResponse.Response); } else { msg91ApiResponse.StatusCode = 400; } return(msg91ApiResponse); }
public SmsApiResponse SendOtpSms(SmsOtpRequest smsRequest) { SmsApiResponse smsApiResponse = new SmsApiResponse() { StatusCode = 200 }; if (smsRequest != null) { if (string.IsNullOrWhiteSpace(smsRequest.Mobile)) { smsApiResponse.StatusCode = 400; smsApiResponse.ErrorList = GetSmsApiValidationResponses(1001, nameof(smsRequest.Mobile) + " is required.", nameof(smsRequest.Mobile)); return(smsApiResponse); } if (!Regex.IsMatch(smsRequest.Mobile, RegexPattern.mobile_number_validation_Patterns.GetCombinedPattern())) { smsApiResponse.StatusCode = 400; smsApiResponse.ErrorList = GetSmsApiValidationResponses(1001, nameof(smsRequest.Mobile) + " should be valid. Format -: xxxxxxxxxx ", nameof(smsRequest.Mobile)); return(smsApiResponse); } if (smsRequest.CountryCode <= 0) { smsApiResponse.StatusCode = 400; smsApiResponse.ErrorList = GetSmsApiValidationResponses(1001, nameof(smsRequest.CountryCode) + " is required.", nameof(smsRequest.CountryCode)); return(smsApiResponse); } Msg91SmsOtpRequest smsOtpRequest = new Msg91SmsOtpRequest() { mobile = string.Format("{0}{1}", smsRequest.CountryCode, smsRequest.Mobile), template_id = string.IsNullOrWhiteSpace(smsRequest.MessageTemplate) ? "5dc5a276d6fc0553643c78b4" : smsRequest.MessageTemplate, otp = 12345 }; Msg91ApiResponse msg91ApiResponse = _msg91.SendOtpSms(smsOtpRequest); if (msg91ApiResponse.StatusCode == 200) { BaseResponse baseResponse = msg91ApiResponse.MessageResponse; if (string.Equals(baseResponse.Type, "error", StringComparison.OrdinalIgnoreCase)) { smsApiResponse.StatusCode = 400; smsApiResponse.ErrorList = GetSmsApiValidationResponses(1001, baseResponse.Message); } else { smsApiResponse.StatusCode = 200; smsApiResponse.Response = new SmsResponse() { Message = baseResponse.Message, RequestId = baseResponse.RequestId, Type = baseResponse.Type }; } } else { smsApiResponse.StatusCode = 400; smsApiResponse.ErrorList = GetSmsApiValidationResponses(1001, "otp not verified"); } } else { smsApiResponse.StatusCode = 400; smsApiResponse.ErrorList = new List <SmsApiValidationResponse>() { new SmsApiValidationResponse() { Code = 1001, FieldName = nameof(smsRequest), Message = "Request Data is Invlid." } }; } return(smsApiResponse); }