سرویس API پیامدهی
وبسرویس SOAP
وبسرویس SOAP — معرفی و پارامترهای عمومی
سرویس پیامدهی هُما از طریق وبسرویس SOAP در دسترس است. توکن API را در پارامتر UserName بفرستید؛ PassWord را خالی بگذارید (همان توکن پنل Token, API & MCP Server).
آدرس سرویس SOAP
https://dev.homais.com/services/sms/index.asmx
WSDL (برای NuSOAP و سایر کلاینتها): https://dev.homais.com/services/sms/index.asmx?wsdl
متدهای اصلی:
getStatus— موجودی اعتبارsingleSMS— ارسال پیامک تکیOTPGenerate— ارسال رمز یکبار مصرفgetInbox— خواندن صندوق دریافتgetDeliveryStatus— وضعیت تحویل پیام
پارامترهای عمومی (در همهٔ متدها):
| پارامتر | نوع داده | نوع | توضیح |
|---|---|---|---|
| PortalCode | Integer | ضروری | کد پرتال سیستم |
| UserName | String | ضروری | توکن API (از پنل Token, API & MCP Server) |
| PassWord | String | اختیاری | خالی بگذارید |
متد getStatus
برای دریافت موجودی لحظهای اعتبار پیامک (به ریال) از این متد استفاده کنید.
امضا:
getStatus(PortalCode, UserName, PassWord, returnType) → Long
returnType: مقدار 1 برای دریافت موجودی حساب
متد singleSMS
ارسال پیامک تکی؛ قابلیت ارسال به لیست سیاه مخابرات را دارد.
امضا:
singleSMS(PortalCode, UserName, PassWord, Mobile, Message, ServerType) → Long
ServerType:
1— اپراتور 30004— اپراتور 9821 (یا 9826)6— اپراتور 50004100— Black 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 را در تیکت پشتیبانی ذکر کنید.