مستندات وب سرویس پیامون

وب سرویس

مستندات وب‌سرویس و 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
  • قابلیت رهگیری و لاگ‌گیری پیشرفته
  • پشتیبانی از تراکنش‌های اتمی
  • سازگاری با سیستم‌های قدیمی‌تر

درج لیست سیاه برای پترن

آدرس وب سرویس

URL
https://api.payamak-panel.com/post/blacklist.asmx
WSDL URL
https://api.payamak-panel.com/post/blacklist.asmx?wsdl

متد BlackListAdd

این متد برای اضافه‌کردن شماره‌ها به لیست سیاه ویژهٔ ارسال‌های الگویی استفاده می‌شود. با ثبت شماره در این لیست، سامانه هنگام ارسال پیامک از طریق الگو، درخواست‌های مربوط به این شماره‌ها را نادیده می‌گیرد. این مرحله پیش‌نیاز فعال‌سازی و استفادهٔ صحیح از سرویس ارسال پیامک الگویی است.

پارامتر های ورودی

نام پارامتر نوع پارامتر توضیحات
username String نام کاربری شما در سامانه
password String کلمه عبور شما در سامانه
title String عنوان لیست ویژه سیاه

مقدار بازگشتی

نام پارامتر نوع پارامتر توضیحات
ReturnValue Int Int BlackListId : کد 5 رقمی نمایش داده شده، به معنای شناسه لیست سیاه پنل شما است. 0 : نام کاربری و یا رمز عبور اشتباه است.

URL درج لیست ویژه سیاه با استفاده از متد BlackListAdd:

URL
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;

درج پترن (الگو)

آدرس وب سرویس

URL
non-wsdlhttps://api.payamak-panel.com/post/SharedService.asmx
WSDL URL
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 زیر استفاده می‌شود:

URL
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;
 

خط خدماتی اشتراکی – پیامک پترن (متد اول)

آدرس وب سرویس

URL
http://api.payamak-panel.com/post/send.asmx
WSDL URL
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;

خط خدماتی اشتراکی – پیامک پترن (متد دوم)

آدرس وب سرویس

URL
http://api.payamak-panel.com/post/send.asmx
WSDL URL
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 زیر استفاده می‌شود:

URL
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);

خط خدماتی اشتراکی – پیامک پترن (متد سوم)

آدرس وب سرویس

URL
http://api.payamak-panel.com/post/send.asmx
WSDL URL
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 زیر استفاده می‌شود:

URL
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;