پروتکل ارسال و دریافت پیامک چیست و چه کاربردهایی دارد؟
تاریخ بروزرسانی : 1394/10/01
این سرویس به منظور ایجاد راحتی در کاربر ایجاد و به او این امکان را می دهد تا تنها با استفاده از پروتکل های بتواند فرامین مختلفی را بین سیستم خود و سرور شرکت نیک اس ام اس مبادله کند.
انواع سرویس های :
این سرویس شامل دو متد مادر به نام های و می باشد، و دو متد برای ارسال درخواست های قلمداد می شوند. متد ، برای ارسال درخواست اطلاعات از یک منبع خاص با مشخص در سمت سرور و متد ، به منظور فرستادن اطلاعات به یک منبع خاص در سمت سرور برای یک پردازش مشخص، طراحی شده است.
نحوه ارسال پارامتر در Post و Get چگونه است؟
در متد Get پارامتر با & از هم جدا شده و ارسال می گردند ولی در Post شما پارمترها را همراه با URL ارسال نمی کنید بلکه باید به سرور پست کنید.
نکته:آدرس متد در Get و Post یکسان است فقط نحوه فراخوانی به شکلی که در بالا توضیح داده شده است، متفاوت می باشد. دقت داشته باشید که در تمامی متدها، پارامترهای ورودی و خروجی شبیه به وب سرویس است فقط username و password هم به پارامترها اضافه شده است. پارامترها به صورت تک تک وارد می شوند و مفهوم کلاس در این نوع ارسال وجود ندارد و خروجی هم در صورتی که از نوع کلاس باشد مثل متد ارسال پیامک ، خروجی از نوع json است.
متد GroupSMS
این متد برای ارسال پیامک به صورت یک به چند می باشد یعنی یک پیامک را در یک ساعت مشخص به n شماره ارسال می کند و به تعداد n شماره کد پیگیری به شما باز می گرداند.
: نام کاربری برای احراز هویت.
: رمز عبور برای احراز هویت کاربر.
: شماره ی ارسال کننده پیامک های شما را مشخص می کند که در صورتی که این پارامتر را خالی ارسال کنید از شماره عمومی پیش فرض، که در بخش تنظیمات وب سایت مشخص نموده اید ارسال انجام می گردد.
: ساعت و تاریخ ارسال را مشخص می کند که با فرمت روبرو برای سیستم تعریف شده است: yyyy/MM/dd-hh:mm
: این پارامتر ورودی یک کد شناسایی (enum) است که نوع ارسال شما را مشخص می کند. عدد یک برای ارسال به صورت معمولی و عدد 2 برای ارسال به صورت فلش، در نظر گرفته شده است.
: این پارامتر آرایه ای از نوع long می باشد که به شما این امکان را می دهد کد پیگیری خود را برای پیامک های ارسالی، به سیستم ما معرفی کنید. باید در نظر داشته باشید که تعداد سطرهای این آرایه دقیقا برابر است با تعداد سطرهای شماره موبایل هایی که برای آنها پیامک ارسال می کنید. این پارامتر برای پیگیری وضعیت پیامک ارسال شده در آینده بسیار کاربرد دارد.
: متن مورد نظرتان را برای ارسال از طریق پیامک مشخص می کند.
:
: این پارامتر یک enum است از نوع SmsReturn که مشخص می کند این پیامک نتیجه ارسالش چه شده است و مقادیر زیر را دارا می باشد :
کد عددی | کدحروفی | تعبیر پیام سیستم |
---|---|---|
1 | Successful | پیام شما با موفقیت ارسال شده است.. |
2 | UnknownError | خطای نامشخصی رخ داده است که پیش بینی نشده بوده و باید با پشتیبانی فنی تماس بگیرید. (احتمال رخ دادن این خطا نزدیک به صفر بوده ولی جهت اطمینان، در مستندات ارائه می شود) |
3 | InsufficientCredit | موجودی یا اعتبار شما برای انجام عملیات کافی نیست. |
4 | ForbiddenHours | شما مجاز به ارسال در این ساعت نمی باشید. |
5 | Filtered | پیام شما از نظر متنی مشکلی داشته که باعث فیلتر شدن آن شده است. |
6 | NoFilters | شماره اختصاصی که برای ارسال پیام خود انتخاب کرده اید، غیر فعال شده است. |
7 | PrivateNumberIsDisable | شماره اختصاصی که برای ارسال پیام خود انتخاب کرده اید، غیر فعال شده است. |
8 | ArgumentIsNullOrIncorrect | پارامترهای هایی که برای ارسال پیام خود به سیستم فرستاده اید، اشتباه است. |
9 | MessageBodyIsNullOrEmpty | پیام ارسالی شما دارای متن نبوده است، متن پیام را باید حتما وارد نمایید. |
10 | PrivateNumberIsIncorrect | شماره اختصاصی وارد شده اشتباه است و یا به شما تعلق ندارد. |
11 | ReceptionNumberIsIncorrect | شماره موبایل های ارسالی اشتباه است. |
12 | SentTypeIsIncorrect | نوع ارسالی که انتخاب کرده اید با محتوای ارسالی شما مطابقت نداشته و اشتباه است. |
13 | Warning | متن شما هشداری را به همراه داشته است ولی عملیات ارسال شما صورت گرفته است. |
14 | PanelIsBlocked | پنل کاربری شما مسدود شده است و باید با پشتیبانی تماس بگیرید. |
15 | SiteUpdating | سایت در حال عملیات به روزرسانی می باشد لطفا دقایقی دیگیر مجددا اقدام به ارسال نمایید. |
16 | AudioMessageNotAllowed | مجوز تایید نشده در پنل موجود است |
17 | AudioMessageFileSizeNotAllowed | حجم فایل صوتی بیش از حد مجاز می باشد |
18 | PanelExpired | پنل کاربری شما منقضی شده است |
19 | InvalidUserNameOrPass | نام کاربری و یا رمز عبور وارد شده اشتباه است |
: کد یکتا برای این درخواست شما
: توضیحاتی در مورد خطای رخ داده..
: کد پیگیری به ازای هر موبایلی که در این درخواست به آن پیامک ارسال کردید.
string path = "https://niksms.com/fa/publicapi/GroupSms"; string postData = string.Format("username={0}&password={1}&senderNumber={2}&numbers={3}&sendOn={4}&sendType={5}&yourMessageIds={6}&message={7}", _username, _password, senderNumber, numbers, sendOn, sendType, yourMessageIds, message); string response = ExecuteRequest(path, postData, _method); try { return new JavaScriptSerializer().Deserialize<ReturnSmsResult>(response); } catch { }; ;
public class ReturnSmsResult { public SmsReturn Status { get; set; } public string Id { get; set; } public string WarningMessage { get; set; } public List<long> NikIds { get; set; } }
var nikSms = niksmsApi.niksmsClass("Username", "Password"); var result = nikSms.GroupSms("SenderNumber", "Numbers", DateTime.Now, 1, String.Empty, "Message");
public class ReturnSmsResult { public SmsReturn Status { get; set; } public string Id { get; set; } public string WarningMessage { get; set; } public List<long> NikIds { get; set; } }
var nik : NikSmsClass; getCreditOutput : string; begin nik := NikSmsClass.Create(EditUsername.Text,EditPassword.Text,TSendMethod.Post); getCreditOutput := nik.GroupSms(EditSnderNumber.Text,EditTestNumber.Text,Now,1,'','تست'); end;;
Memo3.Text := getCreditOutPut;
<form action="https://niksms.com/fa/publicapi/groupsms" method="get" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td> متن پیام : </td><td><textarea name="message" rows="4" cols="45"></textarea></td> </tr> <tr> <td> لیست شماره ها: </td><td><textarea name="numbers" rows="4" cols="45"></textarea></td> </tr> <tr> <td> شماره فرستنده : </td><td><input type="text" value="" name="senderNumber" /></td> </tr> <tr> <td>تاریخ ارسال:</td><td><input type="datetime" name="sendOn" value="2016/1/1" /></td> </tr> <tr> <td> نوع ارسال : </td><td>معمولی</td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> <input type="hidden" name="sendType" value="1"> </form>
{"Status":0,"Id":2342,"WarningMessage":null,"NikIds":2342334}
<form action="https://niksms.com/fa/publicapi/groupsms" method="post" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td> متن پیام : </td><td><textarea name="message" rows="4" cols="45"></textarea></td> </tr> <tr> <td> لیست شماره ها: </td><td><textarea name="numbers" rows="4" cols="45"></textarea></td> </tr> <tr> <td> شماره فرستنده : </td><td><input type="text" value="" name="senderNumber" /></td> </tr> <tr> <td>تاریخ ارسال:</td><td><input type="datetime" name="sendOn" value="2016/1/1" /></td> </tr> <tr> <td> نوع ارسال : </td><td>معمولی</td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> <input type="hidden" name="sendType" value="1"> </form>
{"Status":0,"Id":2342,"WarningMessage":null,"NikIds":2342334}
$api="https://niksms.com/fa/PublicApi/GroupSms"; $post_data = array( 'username' => $this->user, 'password' => $this->pass, 'message' => $message, 'numbers' => $mobiles, 'senderNumber' =>$send_number , 'sendOn' =>$sendOn , 'yourMessageIds'=>$yourMessageIds, 'sendType'=>$sendType );
$result = $this->post_request($this->api, $post_data); return $result['content']; if ($result['status'] == 'ok'){ } else { return $result['error']; }
Dim c As New niksmsApi.niksmsClass("Username", "Password") Dim result = c.GroupSms("SenderNumber", "Numbers", DateTime.Now, 1, String.Empty, "Message")
Public Class ReturnSmsResult Public Sub New() Public Property Id As String Public Property NikIds As List(Of Long) Public Property Status As SmsReturn Public Property WarningMessage As String End Class
متد PTPSMS
این متد برای ارسال پیامک به صورت یک به یک می باشد یعنی شما در هر ارسال n پیام متفاوت را به n شماره ی متفاوت ارسال می کنید، این ارسال ها به صورت همزمان بوده و در یک ساعت مشخص به تمام شماره ها ارسال می شود و به تعداد n شماره کد پیگیری به شما باز می گرداند.
: نام کاربری برای احراز هویت.
: رمز عبور برای احراز هویت کاربر.
:
: شماره ی ارسال کننده پیامک های شما را مشخص می کند که در صورتی که این پارامتر را خالی ارسال کنید از شماره عمومی پیش فرض، که در بخش تنظیمات وب سایت مشخص نموده اید ارسال انجام می گردد.
: مشخص کننده ی شماره موبایل هایی است که می خواهید این پیامک به آنها ارسال شود.
ساعت و تاریخ ارسال را مشخص می کند که با فرمت روبرو برای سیستم تعریف شده است: yyyy/MM/dd-hh:mm
: این پارامتر ورودی یک کد شناسایی (enum) است که نوع ارسال شما را مشخص می کند. عدد یک برای ارسال به صورت معمولی و عدد 2 برای ارسال به صورت فلش، در نظر گرفته شده است.
: این پارامتر آرایه ای از نوع long می باشد که به شما این امکان را می دهد کد پیگیری خود را برای پیامک های ارسالی، به سیستم ما معرفی کنید. باید در نظر داشته باشید که تعداد سطرهای این آرایه دقیقا برابر است با تعداد سطرهای شماره موبایل هایی که برای آنها پیامک ارسال می کنید. این پارامتر برای پیگیری وضعیت پیامک ارسال شده در آینده بسیار کاربرد دارد.
: متن مورد نظرتان را برای ارسال از طریق پیامک مشخص می کند.
: این پارامتر یک enum است از نوع SmsReturn که مشخص می کند این پیامک نتیجه ارسالش چه شده است و مقادیر زیر را دارا می باشد :
کد عددی | کدحروفی | تعبیر پیام سیستم |
---|---|---|
1 | Successful | پیام شما با موفقیت ارسال شده است.. |
2 | UnknownError | خطای نامشخصی رخ داده است که پیش بینی نشده بوده و باید با پشتیبانی فنی تماس بگیرید. (احتمال رخ دادن این خطا نزدیک به صفر بوده ولی جهت اطمینان، در مستندات ارائه می شود) |
3 | InsufficientCredit | موجودی یا اعتبار شما برای انجام عملیات کافی نیست. |
4 | ForbiddenHours | شما مجاز به ارسال در این ساعت نمی باشید. |
5 | Filtered | پیام شما از نظر متنی مشکلی داشته که باعث فیلتر شدن آن شده است. |
6 | NoFilters | شماره اختصاصی که برای ارسال پیام خود انتخاب کرده اید، غیر فعال شده است. |
7 | PrivateNumberIsDisable | شماره اختصاصی که برای ارسال پیام خود انتخاب کرده اید، غیر فعال شده است. |
8 | ArgumentIsNullOrIncorrect | پارامترهای هایی که برای ارسال پیام خود به سیستم فرستاده اید، اشتباه است. |
9 | MessageBodyIsNullOrEmpty | پیام ارسالی شما دارای متن نبوده است، متن پیام را باید حتما وارد نمایید. |
10 | PrivateNumberIsIncorrect | شماره اختصاصی وارد شده اشتباه است و یا به شما تعلق ندارد. |
11 | ReceptionNumberIsIncorrect | شماره موبایل های ارسالی اشتباه است. |
12 | SentTypeIsIncorrect | نوع ارسالی که انتخاب کرده اید با محتوای ارسالی شما مطابقت نداشته و اشتباه است. |
13 | Warning | متن شما هشداری را به همراه داشته است ولی عملیات ارسال شما صورت گرفته است. |
14 | PanelIsBlocked | پنل کاربری شما مسدود شده است و باید با پشتیبانی تماس بگیرید. |
15 | SiteUpdating | سایت در حال عملیات به روزرسانی می باشد لطفا دقایقی دیگیر مجددا اقدام به ارسال نمایید. |
16 | AudioMessageNotAllowed | مجوز تایید نشده در پنل موجود است |
17 | AudioMessageFileSizeNotAllowed | حجم فایل صوتی بیش از حد مجاز می باشد |
18 | PanelExpired | پنل کاربری شما منقضی شده است |
19 | InvalidUserNameOrPass | نام کاربری و یا رمز عبور وارد شده اشتباه است |
: کد یکتا برای این درخواست شما.
: توضیحاتی در مورد خطای رخ داده.
: کد پیگیری به ازای هر موبایلی که در این درخواست به آن پیامک ارسال کردید.
string path = "https://niksms.com/fa/publicapi/ptpSms"; string postData = string.Format("username={0}&password={1}&senderNumber={2}&numbers={3}&sendOn={4}&sendType={5}&yourMessageIds={6}&message={7}", _username, _password, senderNumber, numbers, sendOn, sendType, yourMessageIds, message); string response = ExecuteRequest(path, postData, _method); try { return new JavaScriptSerializer().Deserialize<ReturnSmsResult>(response); } catch { };
public class ReturnSmsResult { public SmsReturn Status { get; set; } public string Id { get; set; } public string WarningMessage { get; set; } public List<long> NikIds { get; set; } }
var nikSms = niksmsApi.niksmsClass("Username", "Password"); var result = nikSms.PtpSms("SenderNumber", "Number1,Number2,...", DateTime.Now, 1, String.Empty, "Message1,Message2,...");
public class ReturnSmsResult { public SmsReturn Status { get; set; } public string Id { get; set; } public string WarningMessage { get; set; } public List<long> NikIds { get; set; } }
var nik : NikSmsClass; getCreditOutput : string; begin nik := NikSmsClass.Create(EditUsername.Text,EditPassword.Text,TSendMethod.Post); getCreditOutput := nik.PtpSms(EditSnderNumber.Text,EditTestNumber.Text,Now,1,'','تست دلفی'); end;
Memo3.Text := getCreditOutPut;
<form action="https://niksms.com/fa/publicapi/ptpsms" method="get" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td> متن پیام : </td><td><textarea name="message" rows="4" cols="45"></textarea></td> </tr> <tr> <td> لیست شماره ها: </td><td><textarea name="numbers" rows="4" cols="45"></textarea></td> </tr> <tr> <td> شماره فرستنده : </td><td><input type="text" value="" name="senderNumber" /></td> </tr> <tr> <td>تاریخ ارسال:</td><td><input type="datetime" name="sendOn" value="2016/1/1" /></td> </tr> <tr> <td> نوع ارسال : </td><td>معمولی</td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> <input type="hidden" name="sendType" value="1"> </form>
{"Status":0,"Id":2342,"WarningMessage":null,"NikIds":2342334}
<form action="https://niksms.com/fa/publicapi/ptpsms" method="post" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td> متن پیام : </td><td><textarea name="message" rows="4" cols="45"></textarea></td> </tr> <tr> <td> لیست شماره ها: </td><td><textarea name="numbers" rows="4" cols="45"></textarea></td> </tr> <tr> <td> شماره فرستنده : </td><td><input type="text" value="" name="senderNumber" /></td> </tr> <tr> <td>تاریخ ارسال:</td><td><input type="datetime" name="sendOn" value="2016/1/1" /></td> </tr> <tr> <td> نوع ارسال : </td><td>معمولی</td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> <input type="hidden" name="sendType" value="1"> </form>
{"Status":0,"Id":2342,"WarningMessage":null,"NikIds":2342334}
$api="https://niksms.com/fa/PublicApi/PtpSms"; $post_data = array( 'username' => $this->user, 'password' => $this->pass, 'message' => $message, 'numbers' => $mobiles, 'senderNumber' =>$send_number , 'sendOn' =>$sendOn , 'yourMessageIds'=>$yourMessageIds, 'sendType'=>$sendType );
$result = $this->post_request($api, $post_data); if ($result['status'] == 'ok'){ return $result['content']; } else { return $result['error']; }
Dim c As New niksmsApi.niksmsClass("Username", "Password") Dim result = c.PtpSms("SenderNumber", "Number1,Number2,...", DateTime.Now, 1, String.Empty, "Message1,Message2,...")
Public Class ReturnSmsResult Public Sub New() Public Property Id As String Public Property NikIds As List(Of Long) Public Property Status As SmsReturn Public Property WarningMessage As String End Class
متد GetReceiveSms
پیامک دریافتی خطوط اختصاصی شما را باز می گرداند. شما فقط یکبار این پیام را دریافت می کنید و با هر بار کال کردن این متد، پیام های جدید (منهای آنهایی که قبلا دریافت کرده اید) را دریافت خواهید کرد، مگر اینکه متد ResetReceiveSmsVisitedStatus را فراخوانی کرده باشید تا بتوانید دوباره یک بازه مشخصی از پیام را از سرور نیک اس ام اس تحویل بگیرید.
: نام کاربری برای احراز هویت.
: رمز عبور برای احراز هویت کاربر.
: این پارامتر تاریخ ابتدایی که از آن به بعد می خواهید پیامک های دریافتی را، دریافت کنید، مشخص می کند.
: این پارامتر تاریخ انتهایی که از آن به قبل می خواهید پیامک های دریافتی را، دریافت کنید، مشخص می کند.
مقدار برگشتی در این متد از نوع json است که شامل پارامترهای زیر است.
کدحروفی | تعبیر پیام سیستم |
---|---|
Message | متن پیام را برای شما مشخص می کند. |
SenderNumber | شماره موبایل شخص ارسال کننده را مشخص می کند. |
ReceiveNumber | شماره اختصاصی شما که این پیام را دریافت کرده است را مشخص می کند. |
Id | کد یکتا است که برای این متن دریافتی تعیین شده است. |
ReceiveDate | تاریخ دریافت پیام را نشان می دهد. |
IsRelayed | آیا از طریق سرویس Traffic Relay ارسال شده است یا خیر (به صورت خودکار). |
string path = "https://niksms.com/fa/publicapi/getReceiveSms"; string postData = string.Format("username={0}&password={1}&startDate={2}&endDate={3}", _username, _password, startDate, endDate); string response = ExecuteRequest(path, postData, _method); try { return new JavaScriptSerializer().Deserialize<List<GetReceiveSmsModel>>(response); } catch { };
new List<GetReceiveSmsModel>();
var nikSms = niksmsApi.niksmsClass("Username", "Password"); var result = nikSms.GetReceiveSms(DateTime.Now.AddDays(-5), DateTime.Now.AddDays(1));
new List<GetReceiveSmsModel>();
var rItem : GetReceiveSmsModel; nik : NikSmsClass; getReceiveSms : string; begin rItem := GetReceiveSmsModel.Create(); nik := NikSmsClass.Create(EditUsername.Text,EditPassword.Text,TSendMethod.Get); getReceiveSms := nik.GetReceiveSms(StrToDateTime('9/9/2015'),StrToDateTime('3/2/2016')); end;
Memo3.Text := getReceiveSms;
<form action="https://niksms.com/fa/publicapi/getReceiveSms" method="get" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td>نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td>کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td>تاریخ از:</td><td><input type="datetime" name="startDate" value="2016/1/1" /> تا <input type="datetime" name="endDate" value="2016/2/1" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
[{"Message":"1","SenderNumber":989351234567,"ReceiveNumber":"983000123456","Id":1231234,"ReceiveDate":"\/Date(1471159569953)\/","IsRelayed":false}, {"Message":"3","SenderNumber":989351234567,"ReceiveNumber":"983000123456","Id":1231234,"ReceiveDate":"\/Date(1471159431597)\/","IsRelayed":false}]
<form action="https://niksms.com/fa/publicapi/getReceiveSms" method="post" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td>نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td>کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td>تاریخ از:</td><td><input type="datetime" name="startDate" value="2016/1/1" /> تا <input type="datetime" name="endDate" value="2016/2/1" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
[{"Message":"1","SenderNumber":989351234567,"ReceiveNumber":"983000123456","Id":1231234,"ReceiveDate":"\/Date(1471159569953)\/","IsRelayed":false}, {"Message":"3","SenderNumber":989351234567,"ReceiveNumber":"983000123456","Id":1231234,"ReceiveDate":"\/Date(1471159431597)\/","IsRelayed":false}]
var $api="https://niksms.com/fa/PublicApi/GetReceiveSms"; $post_data = array( 'username' => $this->user, 'password' => $this->pass, 'startDate'=>$startDate, 'endDate'=>$endDate );
$result = $this->post_request($api, $post_data); if ($result['status'] == 'ok'){ return $result['content']; } else { return $result['error']; }
Dim c As New niksmsApi.niksmsClass("Username", "Password") Dim result = c.GetReceiveSms(DateTime.Now.AddDays(-5), DateTime.Now.AddDays(1))
Public Class GetReceiveSmsModel Public Sub New() Public Property Id As Integer Public Property IsRelayed As Boolean Public Property Message As String Public Property ReceiveDate As Date Public Property ReceiveNumber As String Public Property SenderNumber As Long End Class
متد GetSmsDelivery
این متد وضعیت پیامک های ارسالی شما را مشخص می کند که آیا ارسال شده است یا هنوز در صف ارسال است و یا بقیه ی وضعیت های ممکن پیش آمده برای ارسال شما.
: نام کاربری برای احراز هویت.
: رمز عبور برای احراز هویت کاربر.
: این پارامتر از نوع عددی است که کد nikIds که به عنوان کد پیگیری بعد از ارسال به شما تحویل داده شد را دریافت می کند.
مقدار بازگشنتی این متد به صورت عدد است که مقادیر زیر را شامل می شود.
کد عددی | کدحروفی | تعبیر پیام سیستم |
---|---|---|
0 | NotFound | هنگامی که کاربر درخواست مشاهده نتیجه پیامی را دارد که قبلا برای ما ارسال نکرده و در دیتابیس وجود ندارد. |
1 | DoNotSend | در انتظار تاریخ ارسال |
2 | InQueue | پیام شما در صف ارسال است. |
3 | Sent | پیام شما ارسال شده است. |
4 | InsufficientCredit | موجودی ناکافی است. |
6 | Block | پیام شما مسدود شده است. |
9 | NotDeliverdSmsAdvertisingBlock | به علت مسدودی پیامک تبلیغاتی، تحویل نشده است . |
10 | NotDeliverdBlackList | به علت وجود شماره مخاطب در لیست سیاه کاربر، پیامک تحویل نشده است. |
11 | NotDeliverdDelay | به علت طولانی تر شدن مدت زمان انتظار ارسال از حداکثر میزان تاخیر مجاز تعیین شده توسط کاربر، ارسال متوقف و بازگشت خورده است. |
8 | NotDeliverdCanceled | به دلیل لغو ارسال دستی توسط کاربر، ارسال متوقف و برگشت خورده است. |
14 | NotDeliverdFiltering | به علت استفاده از کلمه/کلمات غیر قابل قبول از سوی مخابرات، فیلتر و متوقف شده است |
15 | WaitingForRecheckInOprator | به دلیل قطع شدن اینترنت یا .. این بسته نامشخص باقی مانده و باید تک تک پیامک هایش با اپراتور بررسی شود که تکراری ارسال نشود |
16 | OpratorFault | اپراتور انتخابی برای ارسال پیامک شما جوابی به سرورهای ما ارسال نمی کند، احتمالا دچار نقص در سیستم ارسال خود شده است، با برطرف شدن این مشکل ارسال ها به روال عادی خود بر خواهند گشت. |
17 | NotDeliveredBlocked | ارسال نشده است. |
18 | SendedButStatusNotUpdated | در قسمت کنترل مجدد اپراتور مشخص شد که ارسال شده ولی وضعیتش هنوز به روزرسانی نشده |
19 | NotDeliveredDuplicate | تکراری بوده مخصوصا در ارسال منطقه ای |
20 | NotDeliveredBlockPanel | تحویل نشده - مسدودی پنل |
21 | NotDeliveredUnknownNumber | تحویل نشده - شماره نادرست |
22 | WaitingForDeliveryBeforeSend | در صف ارسال مخابرات |
23 | NotDeliveredUnAccessible | تحویل نشده - عدم دسترسی |
24 | NotDeliveredNotAnswered | تحویل نشده - عدم پاسخ |
25 | NotDeliveredLineIsBusy | تحویل نشده - مشغولی |
string path = "https://niksms.com/fa/publicapi/GetSmsDelivery"; string postData = string.Format("username={0}&password={1}&nikIds={2}", _username, _password, nikIds); string response = ExecuteRequest(path, postData, _method); try { return new JavaScriptSerializer().Deserialize<List<SmsStatus>>(response); } catch { };
List<SmsStatus>();
var nikSms = niksmsApi.niksmsClass("Username", "Password"); var result = nikSms.GetSmsDelivery("MessageIds");
List<SmsStatus>();
var nik : NikSmsClass; getSmsDeliveryOutput : string; begin nik := NikSmsClass.Create(EditUsername.Text,EditPassword.Text,TSendMethod.Post); getSmsDeliveryOutput := nik.GetSmsDelivery('345394434,2344423'); end;
Memo3.Text := getSmsDeliveryOutput;
<form action="https://niksms.com/fa/publicapi/getSmsDelivery" method="get" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td>نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td>کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td>آی دی پیام های ارسالی : </td><td><input type="text" name="nikIds" value="2342423" dir="ltr" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
[0]
<form action="https://niksms.com/fa/publicapi/getSmsDelivery" method="post" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td>نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td>کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td>آی دی پیام های ارسالی : </td><td><input type="text" name="nikIds" value="2342423" dir="ltr" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
[0]
$api="https://niksms.com/fa/PublicApi/GetSmsDelivery"; $post_data = array( 'username' => $this->user, 'password' => $this->pass, 'nikIds' => $this->tctCode );
$result = $this->post_request($this->api, $post_data); return $result['content']; if ($result['status'] == 'ok'){ } else { return $result['error']; }
Dim c As New niksmsApi.niksmsClass("Username", "Password") Dim result = c.GetSmsDelivery("MessageIds")
Public Enum SmsStatus As Byte NotFound = 0 DoNotSend = 1 InQueue = 2 Sent = 3 InsufficientCredit = 4 Block = 6 NotDeliverdCanceled = 8 NotDeliverdSmsAdvertisingBlock = 9 NotDeliverdBlackList = 10 NotDeliverdDelay = 11 NotDeliverdNoViber = 13 NotDeliverdFiltering = 14 WaitingForRecheckInOprator = 15 OpratorFault = 16 NotDeliveredBlocked = 17 SendedButStatusNotUpdated = 18 NotDeliveredDuplicate = 19 NotDeliveredBlockPanel = 20 NotDeliveredUnknownNumber = 21 End Enum
متد GetCredit
موجودی اصلی کاربر را باز می گرداند.
: نام کاربری برای احراز هویت.
: رمز عبور برای احراز هویت کاربر.
مقدار بازگشتی این متد به صورت یک عدد است که موجودی شما را نشان می دهد.
string path = "https://niksms.com/fa/publicapi/getCredit"; string postData = string.Format("username={0}&password={1}", _username, _password); string response = (ExecuteRequest(path, postData, _method));
int result = Convert.ToInt32(response);
var nikSms = niksmsApi.niksmsClass("Username", "Password"); var result = nikSms.GetCredit();
int result = Convert.ToInt32(response);
var nik : NikSmsClass; getCreditOutput : integer; begin nik := NikSmsClass.Create(EditUsername.Text,EditPassword.Text,TSendMethod.Post); getCreditOutput := nik.GetCredit();
Memo3.Text := getCreditOutPut.ToString();
<form action="https://niksms.com/fa/publicapi/getCredit" method="get" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
708710
<form action="https://niksms.com/fa/publicapi/getCredit" method="post" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
708710
var $api="https://niksms.com/fa/PublicApi/GetCredit"; $post_data = array( 'username' => $this->user, 'password' => $this->pass );
$result = $this->post_request($api, $post_data); if ($result['status'] == 'ok'){ return $result['content']; } else { return $result['error']; }
Dim c As New niksmsApi.niksmsClass("Username", "Password") Dim result = c.GetCredit()
result As Integer
متد GetDiscountCredit
موجودی تخفیفی کاربر را باز می گرداند.
: نام کاربری برای احراز هویت.
: رمز عبور برای احراز هویت کاربر.
مقدار بازگشتی این متد به صورت یک عدد است که موجودی تخفیفی شما را نشان می دهد.
string path = "https://niksms.com/fa/publicapi/GetDiscountCredit"; string postData = string.Format("username={0}&password={1}", _username, _password); string response = (ExecuteRequest(path, postData, _method));
int result = Convert.ToInt32(response);
var nikSms = niksmsApi.niksmsClass("Username", "Password"); var result = nikSms.GetDiscountCredit();
int result = Convert.ToInt32(response);
var nik : NikSmsClass; getDiscountCredit : Integer; begin nik := NikSmsClass.Create(EditUsername.Text,EditPassword.Text,TSendMethod.Post); getDiscountCredit := nik.GetDiscountCredit();
Memo3.Text := getDiscountCredit.ToString();
<form action="https://niksms.com/fa/publicapi/getDiscountCredit" method="get" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
708710
<form action="https://niksms.com/fa/publicapi/getDiscountCredit" method="post" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
708710
var $api="https://niksms.com/fa/PublicApi/GetDiscountCredit"; $post_data = array( 'username' => $this->user, 'password' => $this->pass );
$result = $this->post_request($api, $post_data); if ($result['status'] == 'ok'){ return $result['content']; } else { return $result['error']; }
Dim c As New niksmsApi.niksmsClass("Username", "Password") Dim result = c.GetDiscountCredit()
متد GetPanelExpireDate
تاریخ انقضای پنل کاربری را باز می گرداند.
: نام کاربری برای احراز هویت.
: رمز عبور برای احراز هویت کاربر.
مقدار بازگشتی به صورت یک تاریخ است که شما می توانید مقدار خروجی را Cast کنید تا به شکل یک DateTime نشان داده شود.
string path = "https://niksms.com/fa/publicapi/GetPanelExpireDate"; string postData = string.Format("username={0}&password={1}", _username, _password); DateTime response = Convert.ToDateTime(ExecuteRequest(path, postData, _method));
DateTime result;
var nikSms = niksmsApi.niksmsClass(""Username"", ""Password""); var result = nikSms.GetPanelExpireDate();
DateTime result;
var nik : NikSmsClass; getPanelExpireDate : TDateTime; begin rItem := rItem.Create(); nik := NikSmsClass.Create(EditUsername.Text,EditPassword.Text,TSendMethod.Post); getPanelExpireDate := nik.GetPanelExpireDate(); end;
Memo3.Text := DateTimeToStr(getPanelExpireDate);
<form action="https://niksms.com/fa/publicapi/getPanelExpireDate" method="get" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td>نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td>کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
05/10/2017 09:10:00
<form action="https://niksms.com/fa/publicapi/getPanelExpireDate" method="post" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
05/10/2017 09:10:00
var $api="https://niksms.com/fa/PublicApi/GetPanelExpireDate"; $post_data = array( 'username' => $this->user, 'password' => $this->pass, );
$result = $this->post_request($this->api, $post_data); return $result['content']; if ($result['status'] == 'ok'){ } else { return $result['error']; }
Dim c As New niksmsApi.niksmsClass("Username", "Password") Dim result = c.GetPanelExpireDate()
Dim result As Date?
متد ResetReceiveSmsVisitedStatus
پیامک های دریافتی که قبلا دریافت کرده اید را با ریست کردن از طریق این متد می توانید مجددا دریافت نمایید.
: نام کاربری برای احراز هویت.
: رمز عبور برای احراز هویت کاربر.
: این پارامتر تاریخ ابتدایی که از آن به بعد می خواهید پیامک های دریافتی را، دریافت کنید، مشخص می کند.
: این پارامتر تاریخ انتهایی که از آن به قبل می خواهید پیامک های دریافتی را، دریافت کنید، مشخص می کند.
مقدار بازگشتی این متد از نوع boolean است که مشخص می کند عملیات درست انجام شده است یا خیر.
string path = "https://niksms.com/fa/publicapi/ResetReceiveSmsVisitedStatus"; string postData = string.Format("username={0}&password={1}&startDate={2}&endDate={3}", _username, _password, startDate, endDate); string result = ExecuteRequest(path, postData, _method);
bool response {get; set;};
var nikSms = niksmsApi.niksmsClass(""Username"", ""Password""); var result = nikSms.ResetReceiveSmsVisitedStatus(DateTime.Now.AddDays(-5), DateTime.Now.AddDays(1));
bool response {get; set;};
var nik : NikSmsClass; resetVisitedOutput : Boolean; begin nik := NikSmsClass.Create(EditUsername.Text,EditPassword.Text,TSendMethod.Post); resetVisitedOutput := nik.ResetReceiveSmsVisitedStatus(StrToDateTime('9/9/2015'),StrToDateTime('3/2/2016')); end;
if resetVisitedOutput = True then Memo3.Text := 'true'; if resetVisitedOutput = False then Memo3.Text := 'false';
<form action="https://niksms.com/fa/publicapi/resetReceiveSmsVisitedStatus" method="get" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td></td><td>تاریخ از:<input type="datetime" name="startDate" value="2016/1/1" /> تا <input type="datetime" name="endDate" value="2016/2/1" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
True
<form action="https://niksms.com/fa/publicapi/resetReceiveSmsVisitedStatus" method="get" style="direction:rtl"> <table cellpadding="3" cellspacing="3" border="0"> <tr> <td> نام کاربری : </td><td><input type="text" value="" name="username" dir="ltr" /></td> </tr> <tr> <td> کلمه عبور : </td><td><input type="password" name="password" value="" dir="ltr" /></td> </tr> <tr> <td></td><td>تاریخ از:<input type="datetime" name="startDate" value="2016/1/1" /> تا <input type="datetime" name="endDate" value="2016/2/1" /></td> </tr> <tr> <td></td><td><input type="submit" value="ارسال" /></td> </tr> </table> </form>
True
var $api="https://niksms.com/fa/PublicApi/ResetReceiveSmsVisitedStatus"; $post_data = array( 'username' => $this->user, 'password' => $this->pass, 'startDate'=>$startDate, 'endDate'=>$endDate );
$result = $this->post_request($api, $post_data); if ($result['status'] == 'ok'){ return $result['content']; } else { return $result['error']; }
Dim c As New niksmsApi.niksmsClass("Username", "Password") Dim result = c.ResetReceiveSmsVisitedStatus(DateTime.Now.AddDays(-5), DateTime.Now.AddDays(1))
Dim result As Boolean