برای ارسال با پترن، نشانی پایه SDK خود را به دامنه NextSMS تغییر دهید و کلید جدید را از پنل بسازید. این نسخه از سه متد زیر با پارامترهای فرم و پاسخ استاندارد JSON پشتیبانی می‌کند.

مسیرکاربرد
/v1/{API-KEY}/verify/lookup.jsonارسال پترن تأییدشده
/v1/{API-KEY}/sms/status.jsonوضعیت تا ۵۰۰ شناسه پیام
/v1/{API-KEY}/account/info.jsonاعتبار و مدل مالی حساب

آماده‌سازی پترن

پترن را با نام انگلیسی مانند login_otp ثبت کنید. برای این مسیر، متغیر اصلی token است؛ متغیرهای دیگر token2، token3، token10 و token20 هستند. متن‌هایی مثل %token و {token} هر دو پذیرفته می‌شوند. تمام متغیرهای پترن باید ارسال شوند.

سه توکن نخست تا ۱۰۰ کاراکتر و بدون فاصله هستند. token10 تا ۵ فاصله و token20 تا ۸ فاصله می‌پذیرد. احراز هویت، مدارک متناسب با حساب و تأیید پترن پیش از ارسال لازم است.

نمونه درخواست

curl -X POST 'https://api.nextsms.ir/v1/YOUR-KEY/verify/lookup.json'   -H 'Content-Type: application/x-www-form-urlencoded'   -H 'Idempotency-Key: login-request-12345'   --data-urlencode 'receptor=09121234567'   --data-urlencode 'template=login_otp'   --data-urlencode 'token=123456'

GET با همین پارامترها نیز پشتیبانی می‌شود. برای ارسال مجدد همان درخواست، همان Idempotency-Key را بفرستید تا ارسال و کسر اعتبار تکرار نشود. بدون این هدر، هر فراخوانی یک ارسال مستقل است.

پاسخ ارسال

{
  "return": {
    "status": 200,
    "message": "تأیید شد"
  },
  "entries": [
    {
      "messageid": 123,
      "message": "کد ورود شما 123456",
      "status": 5,
      "statustext": "ارسال به اپراتور",
      "sender": "",
      "receptor": "09121234567",
      "date": 1790726400,
      "cost": 1500,
      "billingunit": "IRR",
      "consumed": 1500,
      "trackingid": "UUID"
    }
  ]
}

messageid شناسه عددی NextSMS است و برای استعلام استفاده می‌شود. sender در ارسال پترن خالی است، چون شماره نهایی را اپراتور انتخاب می‌کند. cost همیشه ریال است؛ در مدل تعدادی، ارزش تاریخی اعتبار مصرف‌شده را نشان می‌دهد و consumed تعداد بخش‌های مصرفی است.

استعلام و اعتبار

sms/status.json?messageid=123,124 وضعیت ذخیره‌شده را برمی‌گرداند؛ گزارش‌های اخیر از اپراتور نیز دریافت می‌شوند. وضعیت ۱ یعنی در انتظار نتیجه قطعی، ۵ پذیرفته‌شده، ۱۰ تحویل‌شده، ۱۱ تحویل‌نشده، ۶ ارسال ردشده و ۱۰۰ شناسه نامعتبر یا متعلق به حساب دیگر است. نتیجه نامشخص را با ارسال دوباره دنبال نکنید؛ از شناسه پیام و پنل پیگیری کنید.

در account/info.json مقدار remaincredit موجودی تومانی به واحد ریال است و expiredate=0 به معنی نداشتن تاریخ انقضای تعیین‌شده است. فیلدهای افزوده billingunit و smscredit مدل فعال و موجودی تعدادی را نشان می‌دهند. موجودی‌های دو واحد قابل جمع نیستند.

دامنه پشتیبانی این نسخه

این MVP ارسال پترن، گزارش وضعیت و اطلاعات حساب را پوشش می‌دهد. متدهای ارسال آزاد و گروهی، تماس صوتی، برچسب و مدیریت برنامه‌نویسی الگوها هنوز فعال نیستند و خطای روشن برمی‌گردانند. خطای ۴۱۸ کمبود اعتبار، ۴۲۴ پترن نامعتبر، ۴۳۱ مقدار توکن نامعتبر و ۴۳۲ ناسازگاری متغیرهای پترن است.

کلید API را فقط سمت سرور نگه دارید. مسیر حاوی کلید و پارامترهای توکن نباید در گزارش وب‌سرور ثبت شوند؛ پیکربندی نمونه وب‌سرور پروژه مسیر و Query را حذف می‌کند.

ساخت کلید API API اصلی NextSMS