بازگشت به فهرست

سرویس API پیامدهی

وب‌سرویس SOAP

وب‌سرویس SOAP — معرفی و پارامترهای عمومی

سرویس پیامدهی هُما از طریق وب‌سرویس SOAP در دسترس است. توکن API را در پارامتر UserName بفرستید؛ PassWord را خالی بگذارید (همان توکن پنل Token, API & MCP Server).

WSDL (برای NuSOAP و سایر کلاینت‌ها): https://dev.homais.com/services/sms/index.asmx?wsdl

متدهای اصلی:

  • getStatus — موجودی اعتبار
  • singleSMS — ارسال پیامک تکی
  • OTPGenerate — ارسال رمز یکبار مصرف
  • getInbox — خواندن صندوق دریافت
  • getDeliveryStatus — وضعیت تحویل پیام

پارامترهای عمومی (در همهٔ متدها):

ضروری فیلد ضروری اختیاری فیلد اختیاری
پارامتر نوع داده نوع توضیح
PortalCodeIntegerضروریکد پرتال سیستم
UserNameStringضروریتوکن API (از پنل Token, API & MCP Server)
PassWordStringاختیاریخالی بگذارید

متد getStatus

برای دریافت موجودی لحظه‌ای اعتبار پیامک (به ریال) از این متد استفاده کنید.

امضا:

getStatus(PortalCode, UserName, PassWord, returnType) → Long

returnType: مقدار 1 برای دریافت موجودی حساب

متد singleSMS

ارسال پیامک تکی؛ قابلیت ارسال به لیست سیاه مخابرات را دارد.

امضا:

singleSMS(PortalCode, UserName, PassWord, Mobile, Message, ServerType) → Long

ServerType:

  • 1 — اپراتور 3000
  • 4 — اپراتور 9821 (یا 9826)
  • 6 — اپراتور 50004
  • 100Black List Reference (ارسال عمومی/لیست سیاه؛ سیستم هدر و فوتر را خودکار اضافه می‌کند)

Mobile: ۱۱ رقم، انگلیسی — مثال: 09121234567

Message: متن دلخواه، یونیکد

متد OTPGenerate

ارسال رمز یکبار مصرف (OTP)؛ قابلیت ارسال به لیست سیاه مخابرات را دارد.

امضا:

OTPGenerate(PortalCode, UserName, PassWord, Mobile, Key, ServerType) → Long

ServerType: همان مقادیر 1، 4، 6، 100

Mobile: ۱۱ رقم — مثال: 09121234567

Key: خالی بگذارید تا رمز خودکار تولید شود

متد getInbox

خواندن محتوای صندوق دریافت (Inbox) پیامک‌ها.

امضا:

getInbox(PortalCode, UserName, PassWord, lastItems, indexID, resultCode) → DataTable

lastItems: تعداد رکورد مورد نیاز (مرتب‌سازی نزولی بر اساس Id)

indexID: شناسه شروع کوئری؛ مقدار -1 برای پیام‌های خوانده‌نشده

resultCode: فقط به‌صورت reference ارسال شود؛ متد وضعیت را در آن می‌نویسد

فیلدهای خروجی: id, Mobile, Message, InsDate, Reference, Number

نمونه: 22979930 | 09128353112 | Off | 2019-06-18 14:25:07 | 4 | 982188341182

متد getDeliveryStatus

خواندن وضعیت تحویل پیامک ارسال‌شده از سرور مخابراتی.

امضا:

getDeliveryStatus(PortalCode, UserName, PassWord, localID, cpID) → Integer

localID: شناسه رکورد در باکس تحویل پنل شما

cpID: شناسه بازگشتی از متد singleSMS

نکات

  • برای اتصال نرم‌افزارهای حسابداری از بخش «اتصال سایر نرم‌افزارها» استفاده کنید: نام کاربری = توکن API، کد پرتال = پارامتر PortalCode.
  • اتصال مستقیم فقط وقتی ممکن است که نرم‌افزار اجازه تعریف URL و پارامترهای دلخواه را بدهد؛ در غیر این صورت افزونه/واسط اختصاصی لازم است.
  • ServerType=100 برای ارسال عمومی و OTP (لیست سیاه مخابرات) توصیه می‌شود.
  • پاسخ موفق: عدد بزرگ‌تر از ۱۰۰۰؛ هر عدد دیگر کد خطاست.
  • برای پیام حاوی لینک یا ارسال از شماره عمومی، پروفایل WhoIS باید تکمیل و تأیید شده باشد.
  • برای تست سریع REST API، URL را با پارامترها در مرورگر باز کنید.
  • در صورت خطا، کد بازگشتی و ServerType را در تیکت پشتیبانی ذکر کنید.