سقف درخواست
مقدار پیشفرض سرویس ۶۰ درخواست در دقیقه و ۱۰۰۰ پیام صفشده برای هر کلید است. با رسیدن به سقف، پاسخ 429 دریافت میشود؛ حد صف قابل تنظیم است.
برنامهٔ شما از سرور خودش به ITFA SMS درخواست HTTPS میفرستد. API با کلید اختصاصی احراز هویت میکند، پیام معتبر را در صف ثبت میکند و شناسه میدهد تا همان برنامه بتواند وضعیت پیام را پیگیری کند.
از پنل مدیر کلید مخصوص همان برنامه را بسازید. اگر چند وبسایت دارید، برای هرکدام کلید جدا نگه دارید تا دسترسی را مستقل لغو کنید.
کلید باید در متغیر محیطی یا مخزن امن سرور برنامه باشد. آن را داخل JavaScript، اپلیکیشن قابل دانلود، HTML، مخزن عمومی یا گزارش خطا قرار ندهید.
برای ثبت پیام از POST به مسیر /api/v1/messages و هدر X-API-Key استفاده کنید. بدنه شامل شمارهٔ مقصد و متن است. برای جلوگیری از ثبت تکراری در retry، Idempotency-Key یکتا و ثابت همان عملیات را بفرستید.
پاسخ 202 شناسهٔ پیام و وضعیت اولیه را برمیگرداند. سپس GET به /api/v1/messages/{id} وضعیت همان پیام متعلق به همان کلید را ارائه میکند.
POST /api/v1/messages HTTP/1.1
Host: itfa-sms.ir
Content-Type: application/json
X-API-Key: itsms_<SERVER_SIDE_SECRET>
Idempotency-Key: order-10452
{
"to": "09XXXXXXXXX",
"text": "پیام نمونه برای مخاطب مجاز"
}
HTTP/1.1 202 Accepted
{
"id": "<message-id>",
"status": "queued"
}
مقدار پیشفرض سرویس ۶۰ درخواست در دقیقه و ۱۰۰۰ پیام صفشده برای هر کلید است. با رسیدن به سقف، پاسخ 429 دریافت میشود؛ حد صف قابل تنظیم است.
اگر درخواست بهعلت قطع شبکه تکرار شد، همان Idempotency-Key را برای همان مقصد و متن نگه دارید؛ برای محتوای جدید کلید تازه بسازید.
وضعیت queued ثبت در صف را نشان میدهد و accepted پاسخ دستگاه را. delivered تنها با رسید معتبر و قابل تطبیق گزارش میشود و همهٔ دستگاهها آن را پشتیبانی نمیکنند.
API را فقط از بکاند سایت فراخوانی کنید. HTTPS را فعال نگه دارید، کلید را در خروجی مرورگر یا کد سمت کاربر قرار ندهید و دسترسی شبکه به پنل را محدود کنید. ارتباط مستقیم سایت با پورت مدیریتی مودم یا MikroTik لازم نیست؛ پنل مسیر دستگاه را از شبکهٔ سرور مدیریت میکند.
خیر. بازدیدکننده میتواند کلید داخل JavaScript را استخراج کند. درخواست باید از بکاند سایت به پنل فرستاده شود.
خیر. 202 یعنی درخواست در پنل پذیرفته و ثبت شده است؛ وضعیت ارسال و رسید تحویل بعداً با شناسهٔ پیام بررسی میشوند.
برای همان پیام از Idempotency-Key یکسان استفاده کنید. پاسخ خطا را بررسی کنید و برای متن یا مقصد تازه کلید دیگری بسازید.