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);
}