NiazpardazSms 1.0.2

dotnet add package NiazpardazSms --version 1.0.2
                    
NuGet\Install-Package NiazpardazSms -Version 1.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NiazpardazSms" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NiazpardazSms" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="NiazpardazSms" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NiazpardazSms --version 1.0.2
                    
#r "nuget: NiazpardazSms, 1.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NiazpardazSms@1.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NiazpardazSms&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=NiazpardazSms&version=1.0.2
                    
Install as a Cake Tool

NiazpardazSms SDK for .NET

کتابخانه رسمی .NET برای کار با API پیامکی نیازپرداز

NuGet License

نصب

Package Manager

Install-Package NiazpardazSms

.NET CLI

dotnet add package NiazpardazSms

شروع سریع

using NiazpardazSms;

// ساخت کلاینت با API Key
var client = new NiazpardazSmsClient("YOUR_API_KEY");

// ارسال پیامک
var result = await client.SendAsync(
    fromNumber: "10001234",
    toNumber: "09123456789",
    message: "سلام از نیازپرداز!"
);

if (result.ResultCode == SendResultCode.SendWasSuccessful)
{
    Console.WriteLine($"BatchSmsId: {result.BatchSmsId}");
}

امکانات

ارسال پیامک تکی

var result = await client.SendAsync(
    fromNumber: "10001234",
    toNumber: "09123456789",
    message: "متن پیامک",
    isFlash: false,
    sendDelay: null
);

Console.WriteLine($"شناسه ارسال: {result.BatchSmsId}");
Console.WriteLine($"وضعیت: {result.ResultCode}");

ارسال گروهی (یک متن به چند شماره)

var result = await client.SendBulkAsync(
    fromNumber: "10001234",
    toNumbers: new[] { "09123456789", "09198765432" },
    message: "پیام گروهی",
    isFlash: false
);

Console.WriteLine($"شناسه ارسال: {result.BatchSmsId}");
Console.WriteLine($"وضعیت: {result.ResultCode}");

ارسال LikeToLike (هر شماره پیام مخصوص خودش)

var result = await client.SendSmsLikeToLikeAsync(
    fromNumber: "10001234",
    toNumbers: new[] { "09123456789", "09198765432" },
    messages: new[] { "سلام علی جان", "سلام رضا جان" }
);

Console.WriteLine($"SmsId: {result.SmsId}");

ارسال پیامک صوتی OTP

var result = await client.SendVoiceOtpAsync(
    fromNumber: "10001234",
    toNumber: "09123456789",
    otp: "12345"
);

Console.WriteLine($"شناسه ارسال: {result.BatchSmsId}");
Console.WriteLine($"وضعیت: {result.ResultCode}");

گزارش تحویل ارسال گروهی

var delivery = await client.GetBatchDeliveryAsync(
    batchSmsId: 123456,
    pageIndex: 1,
    pageSize: 100
);

if (delivery.ResultCode == DeliveryResultCode.Success)
{
    for (int i = 0; i < delivery.Numbers.Length; i++)
    {
        Console.WriteLine($"{delivery.Numbers[i]}: {delivery.DeliveryStatus[i]}");
    }
}

گزارش تحویل ارسال LikeToLike

var delivery = await client.GetDeliveryLikeToLikeAsync(smsId: 789);

if (delivery.ResultCode == DeliveryResultCode.Success)
{
    for (int i = 0; i < delivery.Numbers.Length; i++)
    {
        Console.WriteLine($"{delivery.Numbers[i]}: {delivery.DeliveryStatus[i]}");
    }
}

اعتبار

var credit = await client.GetCreditAsync();
if (credit.ResultCode == CreditResultCode.Success)
{
    Console.WriteLine($"اعتبار: {credit.Credit}");
}

شماره‌های فرستنده

var senders = await client.GetSenderNumbersAsync();
foreach (var sender in senders.Senders)
{
    Console.WriteLine(sender);
}

تعداد پیامک‌های دریافتی

var inboxCount = await client.GetInboxCountAsync(isRead: false);
Console.WriteLine($"تعداد: {inboxCount.InboxCount}");

لیست پیامک‌ها

var messageResult = await client.GetMessagesAsync(
    messageType: 1,
    fromNumbers: "10001234",
    pageIndex: 1,
    pageSize: 50
);

if (messageResult.ResultCode == 0)
{
    foreach (var message in messageResult.Messages)
    {
        Console.WriteLine($"متن پیامک: {message.Content}");
    }
}

دریافت پیامک‌ها

var messageResult = await client.GetMessagesByDateRangeAsync(
    messageType: 1,
    fromNumbers: "10001234",
    fromDate: DateTime.Today.AddDays(-1),
    toDate: DateTime.Today
);

if (messageResult.ResultCode == 0)
{
    foreach (var message in messageResult.Messages)
    {
        Console.WriteLine($"متن پیامک: {message.Content}");
    }
}

لیست سیاه مخابرات (بررسی یک شماره)

var isBlack = await client.NumberIsInTelecomBlacklistAsync("09123456789");
Console.WriteLine($"در لیست سیاه: {isBlack.IsBlack}");

لیست سیاه مخابرات (استخراج شماره‌های لیست سیاه از یک لیست)

var blacklist = await client.ExtractTelecomBlacklistNumbersAsync(
    new[] { "09123456789", "09198765432", "09351234567" }
);

if (blacklist.ResultCode == BlacklistResultCode.Success)
{
    foreach (var number in blacklist.BlackListNumbers)
    {
        Console.WriteLine(number);
    }
}

بررسی محتوای پیامک

var check = await client.CheckSmsContentAsync("متن پیامک تست");
Console.WriteLine($"متن معتبر است: {check.IsValid}");

کدهای نتیجه

کدهای نتیجه ارسال (SendResultCode)

کد مقدار توضیحات
0 SendWasSuccessful ارسال موفق ✅
1 InvalidUserNameOrPassword نام کاربر یا رمز نامعتبر
2 UserBlocked کاربر مسدود
3 InvalidSenderNumber شماره فرستنده نامعتبر
4 LimitationInDailySend محدودیت روزانه
5 LimitationInRecieverCount حداکثر 1000 گیرنده
6 SenderLineIsInactive خط غیرفعال
7 SmsContentFilteredWordsIsIncluded کلمات فیلتر شده
8 NoCredit اعتبار ناکافی
9 SystemBeingUpdated در حال بروزرسانی
10 WebServiceNoActive وب سرویس غیرفعال
11 NotImplemented پیاده سازی نشده
12 LikeToLikeSendReceiverAndMessageCountShouldEqual تعداد پیام و شماره نابرابر
13 LimitationInMesssageContentCount حداکثر 100 پیام
14 UserTariffNotDetermined تعرفه تعریف نشده
15 DuplicateSendSms ارسال تکراری
16 InvalidNumberEmptyOrBlackList شماره نامعتبر یا بلاک لیست
17 TextNotFound متن خالی
18 NotValidTemplateFound مغایرت با قالب
19 UserExpired کاربر منقضی
20 UserIsNotActive کاربر غیرفعال
21 InvalidParameters پارامتر نامعتبر
22 IpBlocked آی پی بلاک شده
23 EnqueueFailed خطا در صف ارسال
24 DuplicateRequestThreshold درخواست تکراری
25 InvalidApiKey ApiKey نامعتبر
26 ErrorCreateVoiceFile خطا در ساخت فایل صوتی

کدهای نتیجه گزارش تحویل (DeliveryResultCode)

کد مقدار توضیحات
0 Success موفق ✅
-1 ServiceConnectionError خطا در ارتباط با سرویس دهنده
-2 InvalidBatchSmsId پیام با این کد وجود ندارد
-3 ReportExpired مهلت یک هفته ای گزارش پایان یافته
-4 MessageInQueue پیام در صف ارسال مخابرات است
-5 TooEarly حداقل یک دقیقه بعد از ارسال اقدام نمایید
-6 IpBlocked آی پی بلاک شده
-7 InvalidApiKey ApiKey نامعتبر

وضعیت تحویل پیامک (SmsDeliveryStatus)

کد مقدار توضیحات
0 SentToTelecom ارسال شده به مخابرات
1 Delivered رسیده به گوشی ✅
2 NotDelivered نرسیده به گوشی
3 SmsFailed خطای مخابراتی
4 UnknownError خطای نامشخص
5 ReceivedByTelecom رسیده به مخابرات
6 NotReceivedByTelecom نرسیده به مخابرات
7 BlackListed مسدود شده توسط مقصد
8 Unknown نامشخص
9 RejectedByTelecom مخابرات پیام را مردود اعلام کرد
10 Canceled کنسل شده توسط اپراتور
11 NotSent ارسال نشده
12 NoTelegram تلگرام ندارد
13 InQueue در صف ارسال

کدهای نتیجه اعتبار (CreditResultCode)

کد مقدار توضیحات
0 Success موفق ✅
-1 InvalidCredentials نام کاربری و رمز عبور صحیح نمی باشد
-2 UserDisabled کاربر غیرفعال می باشد
-6 IpBlocked آی پی بلاک شده
-7 InvalidApiKey ApiKey نامعتبر

کدهای نتیجه لیست سیاه (BlacklistResultCode)

کد مقدار توضیحات
0 Success موفق ✅
-1 InvalidCredentials نام کاربری و رمز عبور صحیح نمی باشد
-2 UserDisabled کاربر غیرفعال می باشد
-3 EmptyNumbersArray آرایه شماره ها خالی می باشد
-4 MaxNumbersExceeded حداکثر 1000 شماره
-6 IpBlocked آی پی بلاک شده
-7 InvalidApiKey ApiKey نامعتبر

مدیریت خطا

using NiazpardazSms.Exceptions;

try
{
    var result = await client.SendAsync("10001234", "09123456789", "تست");
    
    if (result.ResultCode != SendResultCode.SendWasSuccessful)
    {
        Console.WriteLine($"خطا: {result.ResultCode}");
    }
}
catch (NiazpardazApiException ex)
{
    Console.WriteLine($"خطای API: {ex.Message}");
    Console.WriteLine($"کد خطا: {ex.ErrorCode}");
}
catch (HttpRequestException ex)
{
    Console.WriteLine($"خطای شبکه: {ex.Message}");
}

تنظیمات پیشرفته

استفاده از HttpClient سفارشی

var httpClient = new HttpClient();
httpClient.Timeout = TimeSpan.FromSeconds(30);

var client = new NiazpardazSmsClient("YOUR_API_KEY", httpClient);

Dependency Injection

// Program.cs
services.AddHttpClient<NiazpardazSmsClient>();
services.AddSingleton(sp => 
{
    var httpClient = sp.GetRequiredService<IHttpClientFactory>()
        .CreateClient(nameof(NiazpardazSmsClient));
    return new NiazpardazSmsClient("YOUR_API_KEY", httpClient);
});

سازگاری

  • .NET Framework 4.6.1+
  • .NET Core 2.0+
  • .NET 5/6/7/8/9/10+
  • Xamarin
  • Unity

مجوز

MIT License

پشتیبانی

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 118 2/10/2026
1.0.1 113 2/10/2026
1.0.0 109 2/10/2026