قرارداد عمومی SMSDaily مستقل از اپراتور است؛ فعال‌سازی هر پروتکل براساس نسخه منتشرشده انجام می‌شود.

Canonical Messaging Contract

یک مدل سرویس برای همه اپراتورها

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

رابط‌های عمومی

انتخاب قرارداد براساس نرم‌افزار مشتری

api.smsdaily.ir

REST + JSON و gRPC برای وب، موبایل و ارتباط سرور به سرور.

service.smsdaily.ir

SOAP/WSDL، WCF و URL Gateway برای سامانه‌های سازمانی و قدیمی.

panel.smsdaily.ir

پنل حساب، خط، اعتبار، ارسال، دریافت و گزارش.

این آدرس‌ها متعلق به SMSDaily هستند. آدرس و اعتبارنامه گیت‌وی‌های اپراتوری در لایه داخلی نگهداری می‌شوند.

سرویس‌های کانونیکال

عملیات مشترک قابل ارائه

گروهعملیاتکاربردوضعیت محصول
حسابGetCreditمانده اعتبار و وضعیت حسابهسته فعال
حسابGetProfileمشخصات و سرویس‌های مجازهسته فعال
حسابRegisterAccountثبت کاربر حقیقی یا حقوقی در مدل نمایندگیفاز نمایندگی
پیامSendMessageارسال فوری تکی یا گروهیهسته فعال
پیامScheduleMessageارسال در تاریخ و ساعت آیندهقابل اتصال به گیت‌وی
پیامSendTemplatePattern با UID و متغیرهای کنترل‌شدهدر نقشه محصول
پیامSendOtp / VerifyOtpOTP مدیریت‌شدهدر نقشه محصول
پیامSendMultipleارسال متن و گیرنده متفاوت در یک درخواستقابل اتصال به گیت‌وی
دفترچهList/Create/Delete Phonebookمدیریت دفترچه‌هاقابل اتصال به گیت‌وی
دفترچهList/Add/Remove Numbersمدیریت شماره‌های دفترچهقابل اتصال به گیت‌وی
گزارشGetLatestMessageآخرین پیام ثبت‌شده در مسیرقابل اتصال به گیت‌وی
گزارشGetMessageStatusوضعیت دسته‌ای و دلیوریهسته فعال/تکمیل آداپتورها
دریافتInbound Messages / Webhookپیام ورودی و اعلان رویدادهسته فعال/توسعه Webhook

قرارداد REST نمونه

ارسال فوری

POST https://api.smsdaily.ir/api/v1/messages
X-API-Key: sd_live_...
Idempotency-Key: order-1405-1001
Content-Type: application/json

{
  "sender": "041xxxx",
  "recipients": ["09121234567"],
  "message": "سفارش شما آماده تحویل است.",
  "clientReference": "order-1001"
}

202 Accepted
{
  "trackingCode": "SMS-20260803-A1B2C3D4",
  "status": "Queued",
  "partCount": 1,
  "chargedAmount": 3000
}

قراردادهای دیگر

معادل همان عملیات در SOAP، WCF و gRPC

SOAP / WSDL

عملیاتی مانند SendMessage، ScheduleMessage، SendTemplate، GetCredit و GetMessageStatus با مدل XML نسخه‌بندی‌شده.

WCF

Service Contract سازگار با کلاینت‌های .NET؛ مدل‌ها به قرارداد کانونیکال SMSDaily نگاشت می‌شوند.

gRPC

متدهای Unary برای ارسال و استعلام و Stream برای رویدادهای وضعیت یا پیام ورودی.

جزئیات WSDL، Service Contract و فایل‌های Proto هنگام انتشار نسخه مربوطه در همین بخش قرار می‌گیرند.

وضعیت‌ها

نگاشت کد اپراتور به وضعیت عمومی

وضعیت SMSDailyمعنانمونه وضعیت پایین‌دستی
Queuedدر صف داخلیهنوز به اپراتور تحویل نشده
ProviderAcceptedگیت‌وی درخواست را پذیرفتهارسال موفق و شناسه اپراتور صادر شده
CarrierSubmittedبه شبکه مخابرات تحویل شدهارسال شده یا رسیده به مخابرات
Deliveredتحویل گوشی گزارش شدهرسیده به گوشی
Undeliveredعدم تحویل گزارش شدهنرسیده به گوشی یا مخابرات
Returnedپیام برگشت خوردهبرگشتی
Failedدرخواست یا ارسال شکست خوردهاعتبار، شماره، محتوا، زمان یا خطای اپراتور

اصول مشترک

قرارداد پایدار روی مسیرهای متغیر

Idempotency

Retry شبکه نباید پیام یا هزینه تکراری ایجاد کند.

Tracking Code

شناسه داخلی از شناسه اپراتور مستقل است.

Capability Check

قبل از مسیریابی، قابلیت خط و گیت‌وی کنترل می‌شود.

Status Mapping

کدهای مختلف به وضعیت عمومی تبدیل می‌شوند.

Audit

درخواست و پاسخ پایین‌دستی با حذف اطلاعات حساس ذخیره می‌شود.

برای دریافت قرارداد فنی درخواست بدهید

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

درخواست دسترسی