Пример #1
0
        static async Task Main()
        {
            Console.OutputEncoding = Encoding.UTF8;
            try
            {
                var receptors = new List <string> {
                    "<ReceptorNumber>"
                };

                var api = new KavenegarApi("<ApiKey>");

                var result = await api.Send("<SenderNumber>", receptors, "<Message>");

                foreach (var r in result)
                {
                    Console.Write($"{r.Messageid.ToString()}");
                }
            }
            catch (ApiException ex)
            {
                // در صورتی که خروجی وب سرویس 200 نباشد این خطارخ می دهد.
                Console.Write("Message : " + ex.Message);
            }
            catch (HttpException ex)
            {
                // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
                Console.Write("Message : " + ex.Message);
            }
        }
Пример #2
0
        public async Task <bool> SendAsync(string templateName, string phoneNumber, params string[] values)
        {
            try
            {
                var api             = new KavenegarApi(ApiKey);
                var smsTemplateName = _configuration["FazelMan:Modulus:Sms.Kavenegar:Templates:" + templateName];

                await api.VerifyLookup(phoneNumber, values[0].Trim(), values[1].Trim(), values[2].Trim(), values[3].Trim(), smsTemplateName);

                return(true);
            }
            catch (global::Kavenegar.Core.Exceptions.ApiException ex)
            {
                Console.Write("Message : " + ex.Message);
                return(false);
            }
            catch (global::Kavenegar.Core.Exceptions.HttpException ex)
            {
                Console.Write("Message : " + ex.Message);
                return(false);
            }
            catch (Exception ex)
            {
                Console.Write("Message : " + ex.Message);
                return(false);
            }
        }
Пример #3
0
        public async Task <bool> SendAsync(string templateName, string phoneNumber, string value)
        {
            try
            {
                var api             = new KavenegarApi(ApiKey);
                var smsTemplateName = _configuration["FazelMan:Modulus:Sms.Kavenegar:Templates:" + templateName];
                await api.VerifyLookup(phoneNumber, value.Trim(), smsTemplateName);

                return(true);
            }
            catch (global::Kavenegar.Core.Exceptions.ApiException ex)
            {
                //if it doesn't return 200
                Console.Write("Message : " + ex.Message);
                return(false);
            }
            catch (global::Kavenegar.Core.Exceptions.HttpException ex)
            {
                //if connect to service error occured
                Console.Write("Message : " + ex.Message);
                return(false);
            }
            catch (Exception ex)
            {
                Console.Write("Message : " + ex.Message);
                return(false);
            }
        }
Пример #4
0
        public async Task <bool> SendAsync(string token, string token2, string token3, string phoneNumber, string templateName)
        {
            try
            {
                var api             = new KavenegarApi(ApiKey);
                var smsTemplateName = _configuration["Sms:Kavenegar:Templates:" + templateName];
                await api.VerifyLookup(phoneNumber, token.Trim(), token2.Trim(), token3.Trim(), smsTemplateName);

                return(true);
            }
            catch (global::Kavenegar.Core.Exceptions.ApiException ex)
            {
                Console.Write("Message : " + ex.Message);
                return(false);
            }
            catch (global::Kavenegar.Core.Exceptions.HttpException ex)
            {
                Console.Write("Message : " + ex.Message);
                return(false);
            }
            catch (Exception ex)
            {
                Console.Write("Message : " + ex.Message);
                return(false);
            }
        }
Пример #5
0
        // Kavenegar
        public async Task <SendResult> SendOtp(string receptor, string code)
        {
            IConfigurationSection smsSection = _configuration.GetSection("SMS:Kavenegar");

            var api = new KavenegarApi(smsSection["ApiKey"]);

            return(api.Send(_siteSetting.KavenegarSmsSettings.Sender, receptor, code));
        }
Пример #6
0
        public void Send(string To, string Body)
        {
            var sender   = /*"10004346"*/ "1000596446";
            var receptor = To;
            var message  = Body;
            var api      = new KavenegarApi("716A7348334570657648646C6448423067565353796349516253783144686A2B4E516B63466351536758633D");

            api.Send(sender, receptor, message);
        }
Пример #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var  token            = Convert.ToInt64(Request.Form["Token"]);
            var  orderId          = Convert.ToInt64(Request.Form["OrderId"]);
            var  terminalNumber   = Convert.ToInt32(Request.Form["TerminalNo"]);
            var  rrn              = Convert.ToInt64(Request.Form["RRN"]);
            var  status           = Convert.ToInt16(Request.Form["status"]);
            var  cardNumberHashed = Request.Form["HashCardNumber"];
            var  amountAsString   = Request.Form["Amount"]; //amount is formatted as a currency string
            long amount;
            //به دلیل اینکه مبلغ با جداکننده ویرگول به ازای هر سه رقم می باشد، باید بصورت زیر استخراج شود
            //البته به دلیل اینکه مبلغ را پذیرنده قبلاً به درگاه پرداخت ارسال نموده است، بهتر است از پایگاه داده خودش آن را در صورتی که نیاز دارد استخراج نماید
            bool amountParseWasSucceed = long.TryParse(amountAsString, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.CurrentCulture, out amount);

            var tspToken = Request.Form["TspToken"];

            using (var context = new EPAGRIFFINEntities())
            {
                var order = context.Orders.FirstOrDefault(q => q.Id == orderId);
                order.PayDoneToken          = token.ToString();
                order.PayDoneTerminalNo     = terminalNumber.ToString();
                order.PayDoneRRN            = rrn.ToString();
                order.PayDoneStatus         = status.ToString();
                order.PayDoneHashCardNumber = cardNumberHashed;
                order.PayDoneDate           = DateTime.Now;
                context.SaveChanges();
            }
            txtTspToken.Text       = tspToken;
            txtToken.Text          = token.ToString();
            txtOrderId.Text        = orderId.ToString();
            txtTerminalNo.Text     = terminalNumber.ToString();
            txtRRN.Text            = rrn.ToString();
            txtStatus.Text         = status.ToString();
            txtHashCardNumber.Text = cardNumberHashed;
            txtAmount.Text         = amount.ToString();

            if (status == 0)
            {
                ConfirmPayment(token);
                try
                {
                    var api = new KavenegarApi("5969676976475A7553765263534C6B46666C34476F642B4A422B6E416F457279656B4C4664326244704A633D");
                    api.Send("1000596446", "09157648894", "خرید انجام و پرداخت  با موفقیت شد ");
                    //Console.Write("پیامک فرستاده شد ");
                }
                catch (ApiException ex)
                {
                    // در صورتی که خروجی وب سرویس 200 نباشد این خطارخ می دهد.
                    Console.Write("Message : " + ex.Message);
                }
                catch (System.Web.HttpException ex)
                {
                    // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
                    Console.Write("Message : " + ex.Message);
                }
            }
        }
Пример #8
0
        //-----
        #endregion /Send_Email_Panel

        #region Send_SMS_Panel
        //-----
        #region SendCodeSMSbutton_Click
        private void SendCodeSMSbutton_Click(object sender, EventArgs e)
        {
            SendSMS    = "1000596446";
            Receptor   = receptorNumberTextBox.Text;
            MessageSMS = $"کد باز یابی رمز عبور {securityCodeLabel.Text}";

            KavenegarApi api = new KavenegarApi("4A38336C4A36735349536A423741487549566950355A3265696A5769516A44525533577452486646636D6F3D");

            api.Send(SendSMS, Receptor, MessageSMS);
        }
Пример #9
0
        public async Task SendSmsAsync(string phoneNumber, string message)
        {
            var sender = _settingService.GetSetting().Result.SiteSmsNumber;

            var apiKey = _settingService.GetSetting().Result.SiteSmsSigniture;

            var kavenegarApi = new KavenegarApi(apiKey);

            var result = await kavenegarApi.Send(sender, phoneNumber, message);
        }
Пример #10
0
        public void Send(string To, string Body)
        {
            var sender = "";

            var receptor = To;
            var message  = Body;

            var api = new KavenegarApi("");

            api.Send(sender, receptor, message);
        }
Пример #11
0
        public void SMS(string to, string body)
        {
            _admin = (IAdmin)context.HttpContext.RequestServices.GetService(typeof(IAdmin));

            Setting setting = _admin.GetSetting();

            var sender   = setting.SmsSender;
            var receptor = to;
            var message  = body;
            var api      = new KavenegarApi(setting.SmsApi);

            api.Send(sender, receptor, message);
        }
        private bool SendOtp(string phoneNumber, string templateName, string[] tokens)
        {
            try
            {
                if (phoneNumber == null)
                {
                    throw new ArgumentNullException("PhoneNumber cant be null");
                }

                if (templateName == null)
                {
                    throw new ArgumentNullException("TemplateName cant be null");
                }

                if (tokens == null)
                {
                    throw new ArgumentNullException("Tokens cant be null");
                }

                KavenegarApi Api    = new KavenegarApi(_apiKey);
                SendResult   Result = null;

                if (tokens.Length == 0)
                {
                    throw new ArgumentNullException("Tokens cant be null");
                }
                else if (tokens.Length == 1)
                {
                    Result = Api.VerifyLookup(phoneNumber, tokens[0], templateName);
                }
                else if (tokens.Length == 2)
                {
                    tokens.Append("");
                    Result = Api.VerifyLookup(phoneNumber, tokens[0], tokens[1], tokens[2], templateName);
                }
                else if (tokens.Length == 3)
                {
                    Result = Api.VerifyLookup(phoneNumber, tokens[0], tokens[1], tokens[2], templateName);
                }

                var IsSent = CheckStatus(Result);

                return(IsSent);
            }
            catch (Exception ex)
            {
                _logger.Error(ex);
                return(false);
            }
        }
Пример #13
0
        static void Main()
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;

            Api = new KavenegarApi("your apikey");

            CallMakeTTS();

            //VerifyLookup();

            //Send();

            //Send_2();

            //SendArray();

            //SendArray_2();

            //Status();

            //Status(new List<String> { "56571749", "56567804" });

            //StatusLocalMessageId();

            //StatusLocalMessageId(new List<string> { "5959", "5957" });

            //Select();

            //Select(new List<String> { "56571749", "56567804" });

            //CountInbox();

            //CountOutbox();

            //SelectOutbox();

            //LatestOutbox();

            //Receive();

            //CountPostalCode();

            //AccountInfo();

            //AccountConfig();

            //Console.ReadKey();
        }
Пример #14
0
        public static async Task <bool> Lookup(Configs.SmsConfig config, string template, string receiver, string token)
        {
            if (!config.ShouldSend)
            {
                return(true);
            }

            try {
                var api = new KavenegarApi(config.ApiKey);
                api.VerifyLookup(receiver, token, template);
                return(true);
            }
            catch (Exception) {
                return(false);
            }
        }
Пример #15
0
        public static async Task <bool> Send(Configs.SmsConfig config, string msg, string receiver)
        {
            if (!config.ShouldSend)
            {
                return(true);
            }

            try {
                var api = new KavenegarApi(config.ApiKey);
                api.Send(config.Sender, receiver, msg);
                return(true);
            }
            catch (Exception) {
                return(false);
            }
        }
Пример #16
0
        public void SendSms(string To, string Body)
        {
            try
            {
                var setting = _db.SettingRepository.Get().LastOrDefault();

                var sender   = setting.SmsSender;
                var receptor = To;
                var message  = Body;
                var api      = new KavenegarApi(setting.SmsApi);
                api.Send(sender, receptor, message);
            }
            catch
            {
            }
        }
Пример #17
0
        public async Task <bool> SendConfirmationSmsAsync(string userId, string phoneNumber)
        {
            try
            {
                var user = await _userManager.FindByIdAsync(userId);

                var token = await _userManager.GenerateChangePhoneNumberTokenAsync(user, phoneNumber);

                var api    = new KavenegarApi("API CODE");
                var result = api.Send("SENDER CODE", phoneNumber, "MESSAGE TEXT " + token);

                return(result.Status == 200);
            }
            catch
            {
                throw new Exception("error!");
            }
        }
Пример #18
0
 //
 // GET: /Home/
 public ActionResult Index()
 {
     try
     {
         var api    = new KavenegarApi("Your Api Key");
         var result = api.Send("", "09361234567", "خدمات پیام کوتاه کاوه نگار");
         return(View(result));
     }
     catch (ApiException ex)
     {
         // در صورتی که خروجی وب سرویس 200 نباشد این خطارخ می دهد.
         Console.Write("Message : " + ex.Message);
     }
     catch (HttpException ex)
     {
         // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
         Console.Write("Message : " + ex.Message);
     }
     return(View());
 }
Пример #19
0
        //[HttpPut]
        //public virtual async Task<ApiResult> Update(int id, User user, CancellationToken cancellationToken)
        //{
        //    var updateUser = await userRepository.GetByIdAsync(cancellationToken, id);

        //    updateUser.UserName = user.UserName;
        //    updateUser.PasswordHash = user.PasswordHash;
        //    updateUser.FirstName = user.FirstName;
        //    updateUser.Surname = user.Surname;
        //    updateUser.CityId = user.CityId;
        //    updateUser.PhoneNumber = user.PhoneNumber;
        //    updateUser.Gender = user.Gender;
        //    updateUser.IsActive = user.IsActive;
        //    updateUser.LastLoginDate = user.LastLoginDate;
        //    updateUser.IsActive = true;
        //    updateUser.UserType = UserType.SimpleUser;
        //    updateUser.Status = Status.Approved;
        //    updateUser.IsDeleted = false;

        //    await userRepository.UpdateAsync(updateUser, cancellationToken);

        //    return Ok();
        //}

        //[HttpDelete]
        //public virtual async Task<ApiResult> Delete(int id, CancellationToken cancellationToken)
        //{
        //    var user = await userRepository.GetByIdAsync(cancellationToken, id);
        //    await userRepository.DeleteAsync(user, cancellationToken);

        //    return Ok();
        //}

        #region Helper

        #region sms
        private async Task <bool> SendSms(string phoneNumber, string message)
        {
            try
            {
                var api    = new KavenegarApi("30727A4E2F4175644B7967416D4E7378306D7362573379303362615A6E764773");
                var result = api.Send("10004000400505", phoneNumber, message);
                return(true);
            }
            catch (ApiException ex)
            {
                // در صورتی که خروجی وب سرویس 200 نباشد این خطارخ می دهد.
                Console.Write("Message : " + ex.Message);
                return(false);
            }
            catch (HttpException ex)
            {
                // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
                Console.Write("Message : " + ex.Message);
                return(false);
            }
        }
Пример #20
0
 private async Task <bool> SendSms(string phoneNumber, string message)
 {
     try
     {
         var api    = new KavenegarApi("6733627055695371726A4B384337657057474333726B34304E6765706F444A784D726A4F634E52762B43633D");
         var result = api.Send("1000596446", phoneNumber, message);
         return(true);
     }
     catch (ApiException ex)
     {
         // در صورتی که خروجی وب سرویس 200 نباشد این خطارخ می دهد.
         Console.Write("Message : " + ex.Message);
         return(false);
     }
     catch (HttpException ex)
     {
         // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
         Console.Write("Message : " + ex.Message);
         return(false);
     }
 }
Пример #21
0
 static public async Task <bool> SendSms(string phoneNumber, string message)
 {
     try
     {
         var api    = new KavenegarApi("73393651453634306A70506B56466376546F73745A6A3148704E4548534459695571706942534756754E413D");
         var result = api.Send("10008663", phoneNumber, message);
         return(true);
     }
     catch (ApiException ex)
     {
         // در صورتی که خروجی وب سرویس 200 نباشد این خطارخ می دهد.
         Console.Write("Message : " + ex.Message);
         return(false);
     }
     catch (HttpException ex)
     {
         // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
         Console.Write("Message : " + ex.Message);
         return(false);
     }
 }
Пример #22
0
        public IActionResult sendtoken(Vm_User us)
        {
            Random rnd    = new Random();
            string number = rnd.Next(1000, 9999).ToString();

            mobile = us.phone;
            var qcheck = _db.tbl_Users.Where(a => a.phone == us.phone).SingleOrDefault();

            if (qcheck == null)
            {
                Tbl_User user = new Tbl_User()
                {
                    phone      = us.phone,
                    token      = number,
                    NameFamily = "نام شما",
                    Adress     = "آدرس شما ",
                    photo      = "9.jpg"
                };
                _db.tbl_Users.Add(user);
                _db.SaveChanges();

                var api = new KavenegarApi("3871353043697339486A70384F544A4A574C74612B51432F4C7A4B305076645457396F5267456F7A5A34383D");
                api.VerifyLookup(us.phone, number, "taxijo");
                return(RedirectToAction("otpconfig"));
            }
            else
            {
                qcheck.token = number;
                _db.tbl_Users.Update(qcheck);
                _db.SaveChanges();

                var api = new KavenegarApi("3871353043697339486A70384F544A4A574C74612B51432F4C7A4B305076645457396F5267456F7A5A34383D");
                api.VerifyLookup(us.phone, number, "taxijo");
                return(RedirectToAction("otpconfig"));
            }



            return(RedirectToAction("otpconfig"));
        }
        //Kavenegar
        public static Exception SendSMS_K(string token, string reciever, SMSMode mode)
        {
            try
            {
                var api = new KavenegarApi(KavenegarApiKey);
                switch (mode)
                {
                case SMSMode.VERIFICATION:
                    api.VerifyLookup(reciever, token, "TeelehVerification");
                    break;

                case SMSMode.PASSWORD_RECOVERY:
                    api.VerifyLookup(reciever, token, "TeelehForgetPassword");
                    break;
                }
                return(null);
            }
            catch (Exception e)
            {
                return(e);
            }
        }
Пример #24
0
        public bool Register(string Mobile)
        {
            if (Mobile != null)
            {
                Random rnd  = new Random();
                string code = rnd.Next(1000, 9999).ToString();

                var query = db.Rep_Phone.FindSingleAsync(a => a.Phone_Mobile == Mobile).Result;
                if (query == null)
                {
                    Tbl_Phone t = new Tbl_Phone
                    {
                        Phone_Mobile = Mobile,
                        Phone_Code   = code, //code
                    };
                    db.Rep_Phone.CreateAsync(t);
                    db.Save();
                }
                else
                {
                    query.Phone_Code = code;
                    db.Rep_Phone.Update(query);
                    db.Save();
                }

                // Kavenegar

                var api = new KavenegarApi("3871353043697339486A70384F544A4A574C74612B51432F4C7A4B305076645457396F5267456F7A5A34383D");
                api.VerifyLookup(Mobile, code, "tezalmarket");
                return(true);

                // Kavenegar
            }
            else
            {
                return(false);
            }
        }
Пример #25
0
        //private bool InsertIntoDB(SendResult result, string token, string token1, string token2)
        //{
        //    if (result != null)
        //    {
        //        Tbl_SMSResponse _SMSResponse = new Tbl_SMSResponse()
        //        {
        //            SMS_Guid = Guid.NewGuid(),
        //            SMS_Status = result.Status,
        //            SMS_StatusText = result.StatusText,
        //            SMS_MessageID = result.Messageid.ToString(),
        //            SMS_Message = result.Message,
        //            SMS_Token = token,
        //            SMS_Token1 = token1,
        //            SMS_Token2 = token2,
        //            SMS_Sender = result.Sender,
        //            SMS_Receptor = result.Receptor,
        //            SMS_Date = DateConverter.UnixTimeStampToDateTime(result.Date),
        //            SMS_Cost = result.Cost,
        //            SMS_CreationDate = DateTime.Now,
        //            SMS_ModifiedDate = DateTime.Now
        //        };

        //        db.Tbl_SMSResponse.Add(_SMSResponse);

        //        if (Convert.ToBoolean(db.SaveChanges() > 0))
        //        {
        //            return true;
        //        }
        //    }

        //    return false;
        //}

        //private bool InsertIntoDB(SendResult result)
        //{
        //    if (result != null)
        //    {
        //        Tbl_SMSResponse _SMSResponse = new Tbl_SMSResponse()
        //        {
        //            SMS_Guid = Guid.NewGuid(),
        //            SMS_Status = result.Status,
        //            SMS_StatusText = result.StatusText,
        //            SMS_MessageID = result.Messageid.ToString(),
        //            SMS_Message = result.Message,
        //            SMS_Sender = result.Sender,
        //            SMS_Receptor = result.Receptor,
        //            SMS_Date = DateConverter.UnixTimeStampToDateTime(result.Date),
        //            SMS_Cost = result.Cost,
        //            SMS_CreationDate = DateTime.Now,
        //            SMS_ModifiedDate = DateTime.Now
        //        };

        //        db.Tbl_SMSResponse.Add(_SMSResponse);

        //        if (Convert.ToBoolean(db.SaveChanges() > 0))
        //        {
        //            return true;
        //        }
        //    }

        //    return false;
        //}

        public async Task <object> SendServiceable(SmsTemplate template, string receptor, string token = "", string token2 = "", string token3 = "", string token10 = "", string token20 = "")
        {
            try
            {
                var        api    = new KavenegarApi(apikey);
                SendResult result = await api.VerifyLookup(receptor, token, token2, token3, token10, token20, GetSmsTemplateName(template), VerifyLookupType.Sms);

                //InsertIntoDB(result, token, token2, token3);

                return(result);
            }
            catch (ApiException ex)
            {
                return(ex.Message);
            }
            catch (HttpException ex)
            {
                return(ex.Message);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Пример #26
0
        public async Task <object> SendAdvertising(string sender, string receptor, string message)
        {
            try
            {
                var        api    = new KavenegarApi(apikey);
                SendResult result = await api.Send(sender, receptor, message);

                //InsertIntoDB(result);

                return(result);
            }
            catch (ApiException ex)
            {
                return(ex.Message);
            }
            catch (HttpException ex)
            {
                return(ex.Message);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Пример #27
0
        public string SendServiceable(string receptor, string token, string token2, string token3, string token20, SMSTemplate template)
        {
            try
            {
                var        api    = new KavenegarApi(apikey);
                SendResult result = api.VerifyLookup(receptor, token, token2, token3, "", token20, GetTemplate(template), Kavenegar.Models.Enums.VerifyLookupType.Sms);

                InsertIntoDB(result, token, token2, token3);

                return(result.StatusText);
            }
            catch (ApiException ex)
            {
                return(ex.Message);
            }
            catch (HttpException ex)
            {
                return(ex.Message);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Пример #28
0
        public string SendAdvertising(string sender, string receptor, string message)
        {
            try
            {
                var        api    = new KavenegarApi(apikey);
                SendResult result = api.Send(sender, receptor, message);

                InsertIntoDB(result);

                return(result.StatusText);
            }
            catch (ApiException ex)
            {
                return(ex.Message);
            }
            catch (HttpException ex)
            {
                return(ex.Message);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Пример #29
0
        public async Task <(bool statuse, string ErrorMessage, List <SendResult> result)> SendNotifyAsync()
        {
            try
            {
                var receptors = phoneNumbers;
                var api       = new KavenegarApi("6E657A6A752B7A59734773667A7236427168645A48513D3D");
                var result    = await api.Send("", receptors, message);

                return(true, "", result);
            }
            catch (Exception ex)
            {
                if (ex.InnerException.Source == "Kavenegar.Core")
                {
                    //ApiException
                    return(false, ex.InnerException.Message, null);
                }
                else
                {
                    //HttpExeption
                    return(false, "ارتباط  با سرور برقرار نشد", null);
                }
            }
        }
Пример #30
0
 public SmsService(string apikey)
 {
     CustomerRegList = new List <CustomerRegisterReqSms>();
     kavenegarApi    = new KavenegarApi(apikey);
 }