مستندات وب سرویس پیامون
وب سرویس
مستندات وبسرویس و API پیامون مجموعهای کامل از پارامترهای اتصال، روشهای ارسال درخواست و نمونهکدهای کاربردی در چند زبان برنامهنویسی را در اختیار توسعهدهندگان قرار میدهد. این راهنما با هدف سادهسازی فرایند یکپارچهسازی پیامک در وبسایتها و نرمافزارهای شما تدوین شده و تلاش میکند بدون پیچیدگی اضافی، مسیر اتصال به سرویس پیامکی پیامون را شفاف و قابلاتکا نشان دهد.
- Version: 1.0
- API Base URL: www.api.payamak-panel.com
- Created: 09 December, 2025
وبسرویس پیامون بر پایهٔ معماری REST طراحی شده و تمامی درخواستها از طریق احراز هویت توکن (Auth Token) تأیید میشوند.
نمونهکدهای آماده در زبانهای متداول—از جمله PHP، Python شما کمک میکند تا در کوتاهترین زمان اتصال سرویس خود را عملیاتی کنید.
وبسرویس REST
سبک، سریع و سازگار با معماریهای مدرن
REST در پیامون بر پایهٔ HTTP و انتقال داده در قالب JSON پیادهسازی شده است؛ روشی ساده، چابک و کاملاً مناسب توسعهٔ سرویسهای مدرن. در این ساختار، درخواستها با متدهای معمولی مثل GET و POST ارسال میشوند و پاسخها بهصورتی خوانا و کمحجم برگردانده میشوند. REST پیچیدگی XML و قراردادهای سنگین SOAP را ندارد و همین باعث میشود توسعهدهندگان بتوانند در کمترین زمان سرویس پیامکی را به پروژهٔ خود متصل کنند. این معماری برای پروژههایی که به سرعت توسعه، مقیاسپذیری و سادگی اهمیت میدهند انتخاب طبیعی و بهترین گزینهٔ عملمحور است. اگر
وبسرویس SOAP
امن، ساختاریافته و قدرتمند
SOAP در پیامون با استانداردهای جهانی و پروتکلهای امنیتی پیشرفته پیادهسازی شده است. این پروتکل از XML برای تبادل داده استفاده میکند و بهخاطر ساختار دقیق و قابلیت تعریف قراردادهای مشخص (WSDL) برای سازمانهایی که به سطح بالایی از امنیت و قابلیت رهگیری نیاز دارند، مناسب است. SOAP در پیامون از پروتکلهای امنیتی مثل WS-Security پشتیبانی میکند و برای انتقال دادههای حساس در محیطهای سازمانی و حرفهای طراحی شده است. این روش برای پروژههایی که نیاز به سطح بالایی از استانداردهای امنیتی و تعامل با سیستمهای قدیمیتر را دارند، انتخاب مناسبی است.
مزایای استفاده از SOAP
- امنیت بالا با پشتیبانی از WS-Security
- قابلیت رهگیری و لاگگیری پیشرفته
- پشتیبانی از تراکنشهای اتمی
- سازگاری با سیستمهای قدیمیتر
درج لیست سیاه برای پترن
آدرس وب سرویس
https://api.payamak-panel.com/post/blacklist.asmx
https://api.payamak-panel.com/post/blacklist.asmx?wsdl
متد BlackListAdd
این متد برای اضافهکردن شمارهها به لیست سیاه ویژهٔ ارسالهای الگویی استفاده میشود. با ثبت شماره در این لیست، سامانه هنگام ارسال پیامک از طریق الگو، درخواستهای مربوط به این شمارهها را نادیده میگیرد. این مرحله پیشنیاز فعالسازی و استفادهٔ صحیح از سرویس ارسال پیامک الگویی است.
پارامتر های ورودی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| username | String | نام کاربری شما در سامانه |
| password | String | کلمه عبور شما در سامانه |
| title | String | عنوان لیست ویژه سیاه |
مقدار بازگشتی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| ReturnValue | Int | Int BlackListId : کد 5 رقمی نمایش داده شده، به معنای شناسه لیست سیاه پنل شما است. 0 : نام کاربری و یا رمز عبور اشتباه است. |
URL درج لیست ویژه سیاه با استفاده از متد BlackListAdd:
https://api.payamak-panel.com/post/blacklist.asmx/BlackListAdd?username=""&password=""&title="test"
نمونه کد PHP (بدون نیاز به پکیج)
// نمونه کدهای خام PHP
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("https://api.payamak-panel.com/post/blacklist.asmx?wsdl", array("encoding" => "UTF-8"));
$black_list_data = array(
"username" => "username",
"password" => "password",
"title" => "test"
);
$blist_result = $client->BlackListAdd($black_list_data)->BlackListAddResult;
درج پترن (الگو)
آدرس وب سرویس
non-wsdlhttps://api.payamak-panel.com/post/SharedService.asmx
https://api.payamak-panel.com/post/SharedService.asmx?wsdl
متد SharedServiceBodyAdd
متد SharedServiceBodyAdd برای اضافهکردن متن الگو (Pattern Body) استفاده میشود. با ثبت متن الگو در این متد، سامانه آن را ذخیره میکند تا در زمان ارسال پیامک الگویی، همین متن پایه همراه با مقادیر پارامترها استفاده شود.
پارامتر های ورودی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| username | String | نام کاربری شما در سامانه |
| password | String | کلمه عبور شما در سامانه |
| title | String | عنوان پترن یا الگوی مورد نظر |
| body | String | متن الگو به همراه متغیرها |
| blackListId | Int | این مقدار را برابر با 1 قرار دهید |
مقدار بازگشتی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| ReturnValue | String | BodyId : یک عدد 5 یا 6 رقمی که شناسه مربوط به پترن درج شده میباشد. |
| -2 : شناسه لیست سیاه ویژه اشتباه است. | ||
| 0 : نام کاربری و یا رمز عبور اشتباه است. |
آدرس درج الگو با متد SharedServiceBodyAdd
برای ثبت متن الگو (Pattern Body) در سرویس اشتراکی، از Endpoint زیر استفاده میشود:
api.payamak-panel.com/post/SharedService.asmx/SharedServiceBodyAdd?username=""&password=""&title=""&body=""&blackListId=""
نمونه کد PHP (بدون نیاز به پکیج)
// نمونه کدهای خام PHP
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("https://api.payamak-panel.com/post/SharedService.asmx?wsdl",array("encoding"=>"UTF-8"));
$data = array(
"username" => "",
"password" => "",
"title" => "",
"body" => "",
"blackListId" =>
);
$result = $client->SharedServiceBodyAdd($data)->SharedServiceBodyAddResult;
خط خدماتی اشتراکی – پیامک پترن (متد اول)
آدرس وب سرویس
http://api.payamak-panel.com/post/send.asmx
http://api.payamak-panel.com/post/send.asmx?wsdl
متد SendByBaseNumber
ارسال پیامک با متن پیشفرض از خط اشتراکی
متد SendByBaseNumber برای ارسال پیامک با یک متن ثابت از خط خدماتی اشتراکی استفاده میشود. پیامهای ارسالشده از این نوع خط بهصورت سیستمی مدیریت میشوند و امکان ارسال به شمارههای داخل لیست سیاه مخابرات را نیز دارند. این متد زمانی کاربرد دارد که نیاز به یک متن آماده و خط غیرشخصی باشد و سرعت اجرا مهمتر از سفارشیسازی متن باشد.
پارامتر های ورودی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| username | String | نام کاربری شما در سامانه |
| password | String | کلمه عبور شما در سامانه |
| text | []String | متغیرهایی که در متن پیشفرض تنظیم کردهاید را باید به ترتیب به صورت آرایهای ارسال نمایید. |
| to | String | تنها یک شماره موبایل میتوانید وارد کنید |
| bodyId | Int | کد متن پیشفرض که توسط مدیر سامانه تأیید شده است. |
مقدار بازگشتی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| ReturnValue | String | recId : یک عدد یکتا به معنی ارسال موفق پیامک |
| ۱۱۰- : الزام استفاده از ApiKey به جای رمز عبور | ||
| ۱۰۹- : الزام تنظیم IP مجاز برای استفاده از API | ||
| ۱۰۸- : مسدود شدن IP به دلیل تلاش ناموفق استفاده ازAPI | ||
| -۱۰: در میان متغیرهای ارسالی، لینک وجود دارد. | ||
| -۷ : خطایی در شماره فرستنده رخ داده است با پشتیبانی تماس بگیرید | ||
| -۶ : خطای داخلی رخ داده است با پشتیبانی تماس بگیرید | ||
| -۵ : متن ارسالی با توجه به متغیرهای مشخص شده در متن پیشفرض همخوانی ندارد | ||
| -۴ : کد متن ارسالی صحیح نمیباشد و یا توسط مدیر سامانه تأیید نشده است | ||
| -۳ : خط ارسالی در سیستم تعریف نشده است، با پشتیبانی سامانه تماس بگیرید | ||
| -۲ : محدودیت تعداد شماره، محدودیت هر بار ارسال یک شماره موبایل میباشد | ||
| -۱ : دسترسی برای استفاده از این وبسرویس غیرفعال است. با پشتیبانی تماس بگیرید | ||
| ۰ : نام کاربری یا رمزعبور صحیح نمیباشد | ||
| ۲ : اعتبار کافی نمیباشد | ||
| ۷ : سامانه در حال بروزرسانی میباشد | ||
| ۸ : متن حاوی کلمه فیلتر شده میباشد، با واحد اداری تماس بگیرید | ||
| ۱۰: کاربر موردنظر فعال نمیباشد | ||
| ۱۱: ارسال نشده | ||
| ۱۲: مدارک کاربر کامل نمیباشد | ||
| ۱۶: شماره گیرندهای یافت نشد | ||
| ۱۷: متن پیامک خالی میباشد | ||
| ۱۸: شماره گیرنده نامعتبر است | ||
| ۱۹: از محدودیت ساعتی فراتر رفتهاید | ||
| در صورت دریافت (recId) یک عدد بیش از 15 رقم به معنای ارسال موفق بوده و برای دریافت گزارش میتوانید از متد دریافت گزارش نظیر GetDeliveries استفاده نمایید. | ||
نمونه کد PHP (بدون نیاز به پکیج)
// نمونه کدهای خام PHP
ini_set("soap.wsdl_cache_enabled","0");
$sms = new SoapClient("http://api.payamak-panel.com/post/Send.asmx?wsdl",array("encoding"=>"UTF-8"));
$data = array(
"username"=>"",
"password"=>"",
"text"=>array("arg1","arg2"),
"to"=>"",
"bodyId"=>);
$send_Result = $sms->SendByBaseNumber($data)->SendByBaseNumberResult;
echo $send_Result;
خط خدماتی اشتراکی – پیامک پترن (متد دوم)
آدرس وب سرویس
http://api.payamak-panel.com/post/send.asmx
http://api.payamak-panel.com/post/send.asmx?wsdl
متد SendByBaseNumber2
ارسال پیامک با متن پیشفرض از خط اشتراکی
متد SendByBaseNumber2 برای ارسال پیامک با یک متن ثابت از خط خدماتی اشتراکی استفاده میشود. پیامهای ارسالشده از این نوع خط بهصورت سیستمی مدیریت میشوند و امکان ارسال به شمارههای داخل لیست سیاه مخابرات را نیز دارند. این متد زمانی کاربرد دارد که نیاز به یک متن آماده و خط غیرشخصی باشد و سرعت اجرا مهمتر از سفارشیسازی متن باشد.
پارامتر های ورودی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| username | String | نام کاربری شما در سامانه |
| password | String | کلمه عبور شما در سامانه |
| text | String | متغیرهایی که در متن پیشفرض تنظیم کردهاید را باید به ترتیب توسط ; جدا و سپس ارسال نمایید |
| to | String | تنها یک شماره موبایل میتوانید وارد کنید |
| bodyId | Int | کد متن پیشفرض که توسط مدیر سامانه تأیید شده است. |
مقدار بازگشتی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| ReturnValue | String | recId : یک عدد یکتا به معنی ارسال موفق پیامک |
| ۱۱۰- : الزام استفاده از ApiKey به جای رمز عبور | ||
| ۱۰۹- : الزام تنظیم IP مجاز برای استفاده از API | ||
| ۱۰۸- : مسدود شدن IP به دلیل تلاش ناموفق استفاده ازAPI | ||
| -۱۰: در میان متغیرهای ارسالی، لینک وجود دارد. | ||
| -۷ : خطایی در شماره فرستنده رخ داده است با پشتیبانی تماس بگیرید | ||
| -۶ : خطای داخلی رخ داده است با پشتیبانی تماس بگیرید | ||
| -۵ : متن ارسالی با توجه به متغیرهای مشخص شده در متن پیشفرض همخوانی ندارد | ||
| -۴ : کد متن ارسالی صحیح نمیباشد و یا توسط مدیر سامانه تأیید نشده است | ||
| -۳ : خط ارسالی در سیستم تعریف نشده است، با پشتیبانی سامانه تماس بگیرید | ||
| -۲ : محدودیت تعداد شماره، محدودیت هر بار ارسال یک شماره موبایل میباشد | ||
| -۱ : دسترسی برای استفاده از این وبسرویس غیرفعال است. با پشتیبانی تماس بگیرید | ||
| ۰ : نام کاربری یا رمزعبور صحیح نمیباشد | ||
| ۲ : اعتبار کافی نمیباشد | ||
| ۷ : سامانه در حال بروزرسانی میباشد | ||
| ۸ : متن حاوی کلمه فیلتر شده میباشد، با واحد اداری تماس بگیرید | ||
| ۱۰: کاربر موردنظر فعال نمیباشد | ||
| ۱۱: ارسال نشده | ||
| ۱۲: مدارک کاربر کامل نمیباشد | ||
| ۱۶: شماره گیرندهای یافت نشد | ||
| ۱۷: متن پیامک خالی میباشد | ||
| ۱۸: شماره گیرنده نامعتبر است | ||
| ۱۹: از محدودیت ساعتی فراتر رفتهاید | ||
| ۳۵: در هنگام استفاده از REST به معنای وجود شماره موبایل گیرنده در لیست سیاه مخابرات است. | ||
| در صورت دریافت (recId) یک عدد بیش از 15 رقم به معنای ارسال موفق بوده و برای دریافت گزارش میتوانید از متد دریافت گزارش نظیر GetDeliveries استفاده نمایید. | ||
آدرس ارسال پیامک با متد SendByBaseNumber2
برای ارسال پیامک با متن پیشفرض از خط خدماتی اشتراکی، از Endpoint زیر استفاده میشود:
http://api.payamak-panel.com/post/Send.asmx/SendByBaseNumber2?username=&password=&text=&to=&bodyId=
نمونه کد PHP (بدون نیاز به پکیج)
// نمونه کدهای خام PHP
$data = array('username' => "", 'password' => "",'text' => "arg1;arg2",'to' =>"" ,"bodyId"=>);
$post_data = http_build_query($data);
$handle = curl_init('https://rest.payamak-panel.com/api/SendSMS/BaseServiceNumber2');
curl_setopt($handle, CURLOPT_HTTPHEADER, array(
'content-type' => 'application/x-www-form-urlencoded'
));
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $post_data);
$response = curl_exec($handle);
var_dump($response);
خط خدماتی اشتراکی – پیامک پترن (متد سوم)
آدرس وب سرویس
http://api.payamak-panel.com/post/send.asmx
http://api.payamak-panel.com/post/send.asmx?wsdl
متد SendByBaseNumber3
ارسال پیامک الگویی از خط خدماتی اشتراکی با فرمت ساده
متد SendByBaseNumber3 برای ارسال پیامک با متن پیشفرض از خط خدماتی اشتراکی استفاده میشود و امکان ارسال به شمارههای لیست سیاه مخابرات را نیز دارد.
مزیت اصلی این متد این است که بدون نیاز به تغییر ساختار وبسرویس یا استفاده از متدهای خدماتی پیچیده، امکان ارسال پیامک الگویی را تنها با یک رشتهی قالببندیشده فراهم میکند.
در این روش، کاربر کافی است الگو را در پارامتر text به شکل زیر قرار دهد:
@bodyId@arg1;arg2;arg3
توضیح ساختار:
bodyId@: همان شناسهٔ متنی است که قبلاً در سرویس الگو (پترن) ثبت کردهاید.arg1; arg2; arg3: مقادیر پارامترهایی هستند که داخل الگو جایگذاری میشوند. تعداد و ترتیب پارامترها باید با تعریف الگو هماهنگ باشد.
این متد مناسب کاربرانی است که میخواهند از قابلیت ارسال الگویی استفاده کنند، اما قصد یا امکان تغییر ساختار پروژه برای استفاده از وبسرویسهای خدماتی را ندارند.
پارامتر های ورودی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| username | String | نام کاربری شما در سامانه |
| password | String | کلمه عبور شما در سامانه |
| text | String | ابتدا کد متن را بین دو علامت @ و سپس متغیرهایی که در متن پیشفرض تنظیم کردهاید را به ترتیب با ; از هم جدا کنید. نمونه متن: @bodyId@test1;test2;test3 |
| to | String | تنها یک شماره موبایل میتوانید وارد کنید |
مقدار بازگشتی
| نام پارامتر | نوع پارامتر | توضیحات |
|---|---|---|
| ReturnValue | String | recId : یک عدد یکتا به معنی ارسال موفق پیامک |
| ۱۱۰- : الزام استفاده از ApiKey به جای رمز عبور | ||
| ۱۰۹- : الزام تنظیم IP مجاز برای استفاده از API | ||
| ۱۰۸- : مسدود شدن IP به دلیل تلاش ناموفق استفاده ازAPI | ||
| -۱۰: در میان متغیرهای ارسالی، لینک وجود دارد. | ||
| -۷ : خطایی در شماره فرستنده رخ داده است با پشتیبانی تماس بگیرید | ||
| -۶ : خطای داخلی رخ داده است با پشتیبانی تماس بگیرید | ||
| -۵ : متن ارسالی با توجه به متغیرهای مشخص شده در متن پیشفرض همخوانی ندارد | ||
| -۴ : کد متن ارسالی صحیح نمیباشد و یا توسط مدیر سامانه تأیید نشده است | ||
| -۳ : خط ارسالی در سیستم تعریف نشده است، با پشتیبانی سامانه تماس بگیرید | ||
| -۲ : محدودیت تعداد شماره، محدودیت هر بار ارسال یک شماره موبایل میباشد | ||
| -۱ : دسترسی برای استفاده از این وبسرویس غیرفعال است. با پشتیبانی تماس بگیرید | ||
| ۰ : نام کاربری یا رمزعبور صحیح نمیباشد | ||
| ۲ : اعتبار کافی نمیباشد | ||
| ۷ : سامانه در حال بروزرسانی میباشد | ||
| ۸ : متن حاوی کلمه فیلتر شده میباشد، با واحد اداری تماس بگیرید | ||
| ۱۰: کاربر موردنظر فعال نمیباشد | ||
| ۱۱: ارسال نشده | ||
| ۱۲: مدارک کاربر کامل نمیباشد | ||
| ۱۶: شماره گیرندهای یافت نشد | ||
| ۱۷: متن پیامک خالی میباشد | ||
| ۱۸: شماره گیرنده نامعتبر است | ||
| ۱۹: از محدودیت ساعتی فراتر رفتهاید | ||
| در صورت دریافت (recId) یک عدد بیش از 15 رقم به معنای ارسال موفق بوده و برای دریافت گزارش میتوانید از متد دریافت گزارش نظیر GetDeliveries استفاده نمایید. | ||
آدرس ارسال پیامک با متد SendByBaseNumber3
برای ارسال پیامک الگویی از خط خدماتی اشتراکی با فرمت ساده، از Endpoint زیر استفاده میشود:
http://api.payamak-panel.com/post/Send.asmx/SendByBaseNumber3?username=&password=&text=@bodyId@&to=
نمونه کد PHP (بدون نیاز به پکیج)
// نمونه کدهای خام PHP
ini_set("soap.wsdl_cache_enabled","0");
$sms = new SoapClient("http://api.payamak-panel.com/post/Send.asmx?wsdl",array("encoding"=>"UTF-8"));
$data = array(
"username"=>"",
"password"=>"",
"text"=>"@bodyId@arg1;arg2;arg3",
"to"=>""
);
$send_Result = $sms->SendByBaseNumber3($data)->SendByBaseNumber3Result;
echo $send_Result;