VatanSmsService.Nuget paketi

VatanSmsService.Nuget paketi kullanarak hem senkron hem de asenkron yöntemlerle çok sayıda alıcıya toplu veya tekli sms gönderimi yüksek performansla yapılabilmektedir. Mesajlarınızın iletim raporlarını alabilir ve ileri tarihli mesajlar gönderebilirsiniz. Bu hizmeti kullanabilmek için VatanSMS.Net tarafından sağlanan hesabınız olmalıdır.

*Yalnızca Türkçe +90 ülke kodlu cep telefonu numaralarına sms gönderebileceğinizi lütfen unutmayın.

Bu paketi kullanarak kolayca SMS gönderebilirsiniz. Öncelikle 'VatanSmsService' sınıfını projenize ekleyin ve ardından aşağıdaki yöntemleri kullanarak SMS gönderin:


VatanSmsService.Nuget 1.0.2

Version

.net 7.0

Kurulum

 dotnet add package VatanSmsService.Nuget --version 1.0.2
                        

Kullanım

Method İncelemesi

* `bool SendTextMessageReturnBool(CreateSmsModel createSmsModel);`
  - Bir SMS gönderir ve gönderme başarılı ise `true` değilse `false` döner.
                        
* `string SendTextMessageReturnString(CreateSmsModel createSmsModel);`
  - Bir SMS gönderir ve gönderme başarılı ise "Success" değilse, "Failure" döner.
                        
* `SmsMessageResult SendTextMessage(CreateSmsModel createSmsModel);`
  - Bir SMS gönderir ve gönderme sonucunu bir `SmsMessageResult` nesnesi olarak döndürür.
                        
* `RestResponse SendTextMessageReturnResponse(CreateSmsModel createSmsModel);`
  - SMS gönderir ve API yanıtını bir `RestResponse` nesnesi olarak döndürür.
                        

SmsMessageResult İncelemesi

   public class SmsMessageResult
{
    public bool Success { get; set; }
    public string ResponseContent { get; set; }
    public ResponseStatus ResponseStatusCode { get; set; }
    public Exception ErrorException { get; set; }
    public HttpStatusCode StatusCode { get; set; }
}
                        
 return new SmsMessageResult
        {
            Success = IsSuccessful(response),
            ResponseContent = response.Content,
            ResponseStatusCode = response.ResponseStatus,
            ErrorException = response.ErrorException,
            StatusCode = response.StatusCode
        };
                        
                        

CreateSmsModel İncelemesi

 public class CreateSmsModel
{
    public string api_id { get; set; } 
    public string api_key { get; set; } 
    public string api_url { get; set; } 
    public string message { get; set; }
    public string message_type { get; set; }
    public string sender { get; set; }
    public string[] phones { get; set; }
}
                        

Uyarı

  • Dependency Paketleri
Newtonsoft.Json 12.0.3
RestSharp 110.2.0
                        

IVatanSmsServiceAsync Metodları

 Task<bool> SendTextMessageReturnBoolAsync(CreateSmsModel createSmsModel);
 Task<SmsMessageResult> SendTextMessageAsync(CreateSmsModel createSmsModel);
 Task<string> SendTextMessageReturnStringAsync(CreateSmsModel createSmsModel);
 Task<RestResponse> SendTextMessageReturnResponseAsync(CreateSmsModel createSmsModel);
                        

IVatanSmsService

 bool SendTextMessageReturnBool(CreateSmsModel createSmsModel);
 string SendTextMessageReturnString(CreateSmsModel createSmsModel);
 SmsMessageResult SendTextMessage(CreateSmsModel createSmsModel);
 RestResponse SendTextMessageReturnResponse(CreateSmsModel createSmsModel);
                        

Kullanım

* Öncelikle servisi, program.cs'e register edin.
                        
builder.Services.AddScoped<ISmsService, SmsService>();
builder.Services.AddScoped<ISmsServiceAsync, SmsServiceAsync>();
                        
* Ardından, servisteki metodları aşağıdaki gibi çağırabilir ve kullanabilirsiniz. Senkron ve asenkron metodlar mevcuttur.
* 4 farklı türde dönen metodlar vardır. İhtiyaçlarınıza göre bunları kullanabilirsiniz.
* İşlemlerinizi Createsms modelini kullanarak gerçekleştirebilirsiniz. Bu model pakette mevcuttur.
* Vatansms’den aldığınız kendi ID’nizi ve anahtarlarınızı girmeniz gerekmektedir.
# Index.html
                        
<form   asp-controller="Home" asp-action="Index" >
 <input type="text" #Message name="message" />
 <input type="text" #Numbers name="phones" />
 <button type="submit" class="btn btn-dark"> gönder</button>
</form>
                        

Controller

     private readonly ISmsService _smsService;
     private readonly ISmsServiceAsync _smsServiceAsync;
                        
     public HomeController(
         ISmsService smsService
         ISmsServiceAsync smsServiceAsync)
     {
         _smsService = smsService;
         _smsServiceAsync = smsServiceAsync;
     }
 [HttpPost]
     public IActionResult Index(CreateSmsModel createSmsModel)
     {
         createSmsModel.api_url = "https://api.vatansms.net/api/v1/1toN";
         createSmsModel.api_id = "**************";
         createSmsModel.api_key = "*************";
         createSmsModel.message_type = "normal";
         createSmsModel.sender = "vatansms";

         var result =  _smsService.SendTextMessage(createSmsModel);
         return View(result);
     }
                        
# Service
                        
  public SmsMessageResult SendTextMessage(CreateSmsModel createSmsModel)
{
    var client = new RestClient(createSmsModel.api_url);
    var request = CreateRestRequest(createSmsModel.api_url);

    var body = JsonConvert.SerializeObject(createSmsModel);

    request.AddParameter(SmsServiceConstans.ApplicationJson, body, ParameterType.RequestBody);

    RestResponse response = client.Execute(request);

    return new SmsMessageResult
    {
        Success = IsSuccessful(response),
        ResponseContent = response.Content
    };
}
                        
 # Çoklu Mesaj Gönderme Örneği
                        
  // Eğer doğrudan string dizi tipi olarak gönderirseniz kabul edilir. Bu sadece bir örnektir.
   [HttpPost]
        public IActionResult Index(CreateSmsModel createSmsModel)
        {
            string[] phone = new string[] {"0543********", "053*******" };

            createSmsModel.api_url = "https://api.vatansms.net/api/v1/1toN";
            createSmsModel.api_id = "**************";
            createSmsModel.api_key = "*************";
            createSmsModel.message_type = "normal";
            createSmsModel.sender = "vatansms";
            createSmsModel.phones = phone;
            var result =  _smsService.SendTextMessage(createSmsModel);
            return View(result);
        }