مستندات فنی وبسرویس رستاک اساماس
سامانه پیام کوتاه رستاک به توسعهدهندگان امکان میدهد تا از طریق دو شیوه استاندارد SOAP (WSDL) و URL/HTTP GET، قابلیتهای ارسال پیامک اعتبارسنجی، پیامک انبوه، مدیریت مخاطبین و گزارشگیری دلیوری را در نرمافزارهای خود پیادهسازی کنند.
اندپوینت اصلی وبسرویس: https://panel.rastaksms.ir/wbs/send.php?wsdl
پیشنهادی برای OTP و کد تایید
ارسال پیامک از الگو (Pattern)
ارسال از طریق الگو جهت تأیید خودکار پیامهای شما بدون نیاز به تأیید دستی ناظر در هنگام ارسال از وبسرویس میباشد.
مراحل استفاده:
- وارد پنل کاربری شده و از منوی ابزار ویژه ← الگوها، الگوی مد نظر خود را ثبت کنید.
- پس از تأیید الگو توسط سامانه، شناسه آن (
patternID) را دریافت کنید.
- متغیرهای الگو را در قالب یک آبجکت JSON برای پارامتر
Content مقداردهی نمایید.
| پارامتر |
نوع |
توضیحات |
token |
String |
کلید وبسرویس/توکن اختصاصی دریافت شده از پنل کاربری |
fromNum |
String |
شماره اختصاصی یا خط خدماتی ارسالکننده (مثال: +9850009002) |
toNum |
Array |
آرایهای از شمارههای گیرنده با فرمت بینالمللی یا محلی |
patternID |
Int |
شناسه الگو (قابل مشاهده در بخش ایجاد گروه / الگوها) |
Content |
JSON String |
آرایهای از پارامترها که کلید آن نام متغیر و مقدار آن متن جایگذاریشده است |
Type |
Int |
نوع ارسال (پیشفرض: 0) |
<?php
// غیرفعال کردن کش WSDL برای محیط توسعه
ini_set("soap.wsdl_cache_enabled", "0");
try {
$soap = new SoapClient("https://panel.rastaksms.ir/wbs/send.php?wsdl");
// تنظیم پارامترها
$soap->token = "YOUR_RASTAK_TOKEN_HERE"; // توکن امنیتی دریافتی از پنل
$soap->fromNum = "+9850009002"; // شماره فرستنده
$soap->toNum = array("+989120000000"); // شمارههای گیرنده
$soap->patternID = 6; // شناسه الگوی تأیید شده
// کلیدها متناظر با متغیرهای تعریفشده در الگو هستند
$soap->Content = json_encode(
array(
'name' => 'محمد',
'password' => '23312'
),
JSON_UNESCAPED_UNICODE
);
$soap->Type = 0;
// فراخوانی متد ارسال
$result = $soap->SendSMSByPattern(
$soap->fromNum,
$soap->toNum,
$soap->Content,
$soap->patternID,
$soap->Type,
$soap->token
);
print_r($result);
} catch (SoapFault $fault) {
echo "خطای وبسرویس: " . $fault->getMessage();
}
?>
متدهای ارسال عادی و استعلام (SOAP / WSDL)
در صورتی که از رمز عبور استفاده میکنید، توصیه میشود رشته هش MD5 رمز عبور را به عنوان آرگومان ارسال نمایید.
<?php
$client = new SoapClient("https://panel.rastaksms.ir/wbs/send.php?wsdl");
$username = "your_username";
$password = md5("your_password"); // ارسال به صورت MD5 توصیه میشود
// ۱. ارسال پیامک به یک یا چند شماره (حداکثر ۱۲۰ شماره در هر ریکوئست)
$fromNum = "10001543";
$toNum = array("09120000000", "09350000000");
$content = "پیام آزمایشی از سامانه رستاک اس ام اس";
$type = 0; // 0 = عادی , 1 = Flash SMS
$sendResult = $client->SendSMS($fromNum, $toNum, $content, $type, $username, $password);
print_r($sendResult);
// ۲. استعلام مانده اعتبار ریالی / عددی
$credit = $client->GetCredit($username, $password);
echo "اعتبار باقیمانده: " . $credit;
?>
مدیریت دفترچه تلفن و مخاطبین (Phonebook API)
امکان ساخت گروه دفترچه تلفن، افزودن شمارههای دستهای و حذف مخاطبین از طریق وبسرویس:
<?php
$client = new SoapClient("https://panel.rastaksms.ir/wbs/send.php?wsdl");
$username = "your_username";
$password = md5("your_password");
// ایجاد دفترچه تلفن جدید همراه با افزودن شمارهها
$bookName = "مشتریان VIP";
$numbers = array("09121111111", "09122222222");
$response = $client->addPhonebook($username, $password, $bookName, $numbers);
/*
پاسخ دریافتی در صورت موفقیت:
Array (
[0] => 200,
[1] => "دفترچه تلفن با تعداد 2 شماره معتبر ساخته شد"
)
*/
print_r($response);
?>
ارسال از طریق URL (HTTP GET API)
مناسب برای میکروکنترلرها، PBXها (مانند استریسک یا ایزابل) و سیستمهایی که امکان ارتباط SOAP ندارند.
GET https://panel.rastaksms.ir/webservice/url/send.php?method=sendsms&format=json&from=10001543&to=09120000000,09350000000&text=متن+پیام&type=0&username=demo&password=MD5_PASSWORD
جدول کدهای وضعیت و خروجیهای سیستم
| کد خروجی |
وضعیت / پیام |
توضیحات |
| 200 / 00 | موفق | عملیات با موفقیت انجام شد و شناسه ارسال بازگردانده شد. |
| 0 | نام کاربری یا رمز عبور اشتباه | اعتبار سنجی کاربر با خطا مواجه شد. |
| 6 | عدم موجودی کافی | اعتبار پنل برای ارسال این تعداد پیامک کافی نیست. |
| 2 | شماره اختصاصی نامعتبر | خط فرستنده (fromNum) به این پنل تعلق ندارد. |
| 4 | ارسال غیرفعال | امکان ارسال پیامک از سمت مدیریت مسدود شده است. |
| 61 / 16 | تعداد آرایه بیش از حد مجاز | تعداد شمارههای ارسال در یک درخواست بیشتر از سقف مجاز است. |