معرفی پکیج نوگت غیر رسمی کاوه نگار برای دات نت
در این مطلب پکیج نوگت Riviera.Kavenegar را برای دسترسی به سرویس کاوه نگار در دات نت بررسی خواهیم کرد.
نحوه نصب
با استفاده از Package Manager Console در ویژوال استودیو میتوانید پکیج نوگت Riviera.Kavenegar را نصب کنید.
Install-Package Riviera.Kavenegar -PreRelease
نحوه استفاده
برای شروع، ابتدا لازم است KavenegarService و تنظیمات آن را ریجستر کنید.
// using Riviera.Kavenegar;
services.Configure<KavenegarOptions>(o => builder.Configuration.GetSection("Kavenegar").Bind(o));
services.AddHttpClient<KavenegarService>();
سپس تنظیمات زیر را به فایل appsettings.Development.json خود اضافه کنید.
"Kavenegar": {
"ApiKey": "your-api-key"
}
پس از ریجستر کردن سرویس لازم است آن را به کنترلر خود اضافه کنید.
// using Riviera.Kavenegar;
public class HomeController : Controller
{
private readonly KavenegarService _service;
public HomeController(KavenegarService service)
{
_service = service;
}
}
ارسال پیام کوتاه
با استفاده از متد SendMessageAsync میتوانید یک پیام کوتاه را ارسال کنید.
[Route("send")]
public async Task<IActionResult> Send()
{
var result = await _service.SendMessageAsync("recipient number", "message", "sender number");
if (result.IsSuccess)
{
return Ok("Message has been successfully sent.");
}
return Content($"Code: {result.Return.Status}\nMessage: {result.Return.Message}");
}
دریافت وضعیت
با استفاده از متد GetStatusAsync میتوانید وضعیت پیام کوتاه ارسال شده را بررسی کنید.
[Route("status")]
public async Task<IActionResult> Status()
{
var result = await _service.GetStatusAsync(1234567);
if (result.IsSuccess)
{
return Ok(result.Entry.StatusText);
}
return Content($"Code: {result.Return.Status}\nMessage: {result.Return.Message}");
}
متد های پشتیبانی شده
لیست کامل متد های پشتیبانی شده در این کتابخانه را میتوانید در جدول زیر مشاهده کنید.
| عنوان | نام | نام متد در کتابخانه |
|---|---|---|
| ارسال ساده | Send | SendMessageAsync |
| ارسال گروهی | SendArray | SendArrayAsync |
| کنترل وضعیت (Delivery) | Status | GetStatusAsync |
| کنترل وضعیت | StatusLocalMessageId | GetStatusByLocalIdAsync |
| کنترل وضعیت (Receptor) | StatusByReceptor | - |
| انتخاب پیامک | Select | GetMessageAsync |
| لیست ارسال ها | SelectOutbox | GetOutboxAsync |
| آخرین ارسال ها | LatestOutbox | GetLatestOutboxAsync |
| تعداد ارسال ها | CountOutbox | GetOutboxCountAsync |
| انصراف از ارسال | Cancel | CancelMessageAsync |
| دریافت پیامک | Recieve | GetInboxAsync |
| دریافت پیامک صفحه بندی | InboxPaged | - |
| شماره های مسدود شده | BlockedList | - |
| افزودن شماره مسدود شده | AddBlocked | - |
| حذف شماره مسدود شده | RemoveBlocked | - |
| وضعیت شماره در بلک لیست | BlockedExists | - |
| تعداد دریافت ها | CountInbox | GetInboxCountAsync |
| ارسال کد اعتبار سنجی | Lookup | SendTemplateMessageAsync |
| ارسال تماس صوتی | TTS | SendTextToSpeechCallAsync |
| اطلاعات کاربری | Info | GetAccountInfoAsync |
| تنظیمات ضروری | Config | GetAccountConfigAsync, SetAccountConfigAsync |
مواردی که در حال حاظر پشتیبانی نمیشوند در آینده به کتابخانه اضافه خواهند شد.
اطلاعات بیشتر
- سورس کامل این کتابخانه در صفحه گیت هاب قابل دسترسی است.
- مستندات سرویس کاوه نگار را میتوانید در این لینک مشاهده کنید.