مستندات API پیامک
وبسرویس REST با بدنه JSON. هر کاری که در پنل انجام میدهید با API هم ممکن است. همه نمونهها برای ۱۱ زبان تولید میشود و میتوانید هر درخواست را همینجا با کلید آزمایشی اجرا کنید.
شروع سریع
- ۱در پنل ثبتنام کنید و از بخش «وبسرویس» یک کلید آزمایشی بسازید.
- ۲با
lineId: "sandbox"یک پیام بفرستید — بدون هزینه و بدون ارسال واقعی. - ۳پس از احراز هویت، کلید واقعی بسازید و شناسه خط واقعی را از خطوط من بگیرید.
برای شروع سریعتر میتوانید از SDKها و پکیجهای آماده استفاده کنید، بهجای اینکه درخواستها را از ابتدا بنویسید.
احراز هویت
هر درخواست باید کلید دسترسی را در هدر Authorization: Bearer irn_live_… داشته باشد. کلید فقط هنگام ساخت یکبار نمایش داده میشود و در سرور ما فقط بهصورت هش نگهداری میشود؛ آن را در کد سمت کاربر (مرورگر/اپ) قرار ندهید.
| دسترسی (scope) | اجازه |
|---|---|
| sms.send | ارسال پیامک و پترن |
| sms.read | برآورد هزینه، گزارش پیامها و خطوط |
| wallet.read | مشاهده اعتبار |
| phonebook.read | خواندن دفترچه تلفن |
| phonebook.write | ویرایش دفترچه تلفن |
| bot.send | رباتساز: ارسال پیام و کد تأیید |
| bot.read | رباتساز: مشاهده رباتها و مشترکین |
| verify.send | تأیید با لینک: ساخت و لغو جلسه |
| verify.read | تأیید با لینک: مشاهده وضعیت |
| broker.read | بروکر رویداد: مشاهدهٔ لینکها و وبهوک |
| broker.write | بروکر رویداد: ثبت، ویرایش و حذف لینک سرویسها و تنظیم وبهوک |
| broker.request | بروکر رویداد: ارسال درخواست به تلگرام و دریافت آپدیتها (ویژهٔ ربات تلگرام) |
| tts.say | تبدیل متن به گفتار (TTS) برای VoIP و IVR |
- برای هر کلید میتوانید فهرست IP مجاز تعیین کنید؛ درخواست از IP دیگر ۴۰۱ میگیرد.
- کلید آزمایشی با پیشوند
irn_test_شروع میشود و هرگز پیام واقعی نمیفرستد. - ساخت و حذف کلید فقط از پنل ممکن است، نه با خودِ کلید.
قراردادها
- آدرس پایه:
https://api.irnoti.com/v1 - مبلغها عدد صحیح به ریال و بهصورت رشته هستند (مثلا
"1960")؛ هرگز اعشار نیستند. - شمارهها:
09121234567،+989121234567و ارقام فارسی پذیرفته میشود. - زمانها ISO 8601 در UTC هستند.
- Idempotency: برای ارسال، هدر
Idempotency-Keyبفرستید تا تلاش دوباره (timeout، قطع اینترنت) پیام تکراری نسازد. - محدودیت نرخ: ارسال تا ۶۰۰ و پترن تا ۱۲۰۰ درخواست در دقیقه برای هر IP؛ پاسخ
429یعنی کمی صبر کنید.
محدودیت نرخ
در صورت عبور از محدودیت، پاسخ 429 برگردانده میشود. محدودیتها بهازای هر IP و در هر دقیقهاند.
خطاها
کد وضعیت HTTP نتیجه را مشخص میکند. بدنه خطا شامل message و گاهی code و details است.
| 400 | درخواست نامعتبر (فیلد ناقص، شماره نامعتبر…) |
| 401 | کلید نامعتبر، حذفشده یا IP مجاز نیست |
| 402 | اعتبار کافی نیست |
| 403 | دسترسی (scope) یا احراز هویت حساب کافی نیست |
| 404 | منبع یافت نشد |
| 409 | تعارض (مثلا نام تکراری) |
| 422 | تعرفه تعریف نشده |
| 429 | تعداد درخواست زیاد |
| 5xx | خطای سرور — با همان Idempotency-Key دوباره تلاش کنید |
مرجع endpointها
/sms/sosارسال پیام حیاتی از مسیرهای پلتفرم با جایگزینی خودکار پرووایدر.
/sms/sendارسال یک متن به یک یا چند گیرنده، یا به گروههای دفترچه تلفن.
/sms/quoteهزینه دقیق یک ارسال را بدون ارسال و بدون کسر اعتبار برمیگرداند.
/sms/patternارسال پیام بر اساس یک قالب تأییدشده با جایگذاری پارامترها — مناسب کد تأیید و پیامهای تراکنشی.
/sms/messagesپیامهای ارسالی اخیر با وضعیت تحویل.
/sms/messages/{id}وضعیت و جزئیات یک پیام با شناسه.
/sms/linesخطوطی که میتوانید از آنها ارسال کنید.
/broker/botsفهرست رباتِ ثبتشده در بروکر با لینک اختصاصی و وضعیت.
/broker/bots/{id}جزئیات یک ربات شامل لینک و آدرس وبهوک ثبتشده.
/broker/botsتوکن ربات را ثبت کنید و لینک اختصاصی بگیرید.
/broker/bots/{id}نام نمایشی ربات را عوض کنید.
/broker/bots/{id}/tokenبعد از ساخت توکن جدید در BotFather، آن را برای همین ربات جایگزین کنید.
/broker/bots/{id}/rotateاگر لینک لو رفت، لینک تازه بسازید؛ لینک قبلی از کار میافتد.
/broker/bots/{id}ربات را از بروکر حذف کنید؛ لینک و ثبت بروکر پاک میشود.
/broker/bots/{id}/requestهر متد Bot API (sendMessage، sendPhoto، getChat، …) را از طریق بروکر اجرا کنید.
/broker/bots/{id}/updatesپیامهای رسیده به ربات را بخوانید (getUpdates)، بدون نیاز به سرور وبهوک.
/broker/bots/{id}/webhookآدرس بازگشتی (وبهوک) تنظیمشده و وضعیت تحویل آن.
/broker/bots/{id}/webhookآدرس سرور خودتان را بدهید؛ آپدیتهای تلگرام از طریق بروکر به همان آدرس POST میشوند.
/broker/bots/{id}/webhookوبهوک را بردارید (برای استفاده از getUpdates).
/phonebook/groupsفهرست گروهها با تعداد مخاطبین.
/phonebook/groupsیک گروه جدید در دفترچه تلفن بسازید.
/phonebook/groups/{id}/contactsافزودن چند مخاطب به یک گروه.
/walletموجودی کیف پول به ریال.
/email/sendارسال ایمیل تراکنشی با متن/HTML، پیوست، قالب و زمانبندی.
/email/outbound/{id}وضعیت ارسال و خط زمانی رویدادها (ارسال، تحویل، بازگشت، شکایت).
/email/outboundارسالهای شما با فیلتر وضعیت و جستجو؛ صفحهبندی با `before`.
/email/outbound/{id}/cancelنامهٔ زمانبندیشدهٔ هنوز ارسالنشده را لغو و هزینه را برمیگرداند.
/email/otpکدهای OTP که در نامههای رسیده شناسایی شدهاند (جدیدترین اول).
/email/otp/waitتا رسیدن کد جدید (حداکثر ۶۰ ثانیه) صندوق را بررسی میکند؛ مناسب تست خودکار ورود.
/email/messagesنامههای صندوق با پوشه، دسته، جستجو و صفحهبندی.
/email/messages/{id}متن کامل نامه با HTML امنشده و فهرست پیوستها.
/email/messages/actionsخوانده/ستاره/انتقال/حذف/هرزنامه/برچسب برای چند نامه.
/email/domainsدامنههای شما با وضعیت تأیید و شمار صندوق.
/email/domainsدامنه را ثبت و رکوردهای DNS لازم را برمیگرداند.
/email/domains/{id}/checkDNS را بررسی و در صورت کامل بودن دامنه را تأیید میکند.
/email/mailboxesبرای دامنهٔ خود صندوق (و زیرمجموعه) بسازید.
/email/templatesقالب ایمیل تراکنشی با متغیر `{{name}}`.
/email/suppressionsبه نشانی اضافهشده دیگر ایمیل ارسال نمیشود.
/email/meاشتراک فعال، سقفها، سهمیهٔ ماهانه، بستهٔ ارسال و موجودی کیف پول برای ایمیل.
/email/infoمیزبان و پورت درگاه SMTP و فهرست رویدادهایی که میتوان به آنها مشترک شد.
/email/reportجمع ارسال، تحویل، بازگشت، شکایت و دریافت بههمراه روند روزانه.
/email/outbound.csvهمان فهرست ارسالها با فیلترهای یکسان، بهصورت فایل CSV.
/email/countsتعداد نامهٔ خواندهنشده به تفکیک پوشه و دسته، بههمراه ستارهدارها و پیشنویسها.
/email/threads/{threadId}همهٔ نامههای یک گفتگو به ترتیب زمان.
/email/messages/{id}/check-senderسرایند احراز هویت همان نامه را از سرور دوباره میخواند و میگوید چرا «تیک آبی» ندارد یا دارد.
/email/draftsپیشنویس جدید میسازد یا با `id` پیشنویس موجود را ویرایش میکند.
/email/messages/emptyهمهٔ نامههای پوشهٔ `trash` یا `spam` را برای همیشه حذف میکند.
/email/syncنامههای جدید را همین الان از سرور میگیرد، بهجای انتظار برای همگامسازی دورهای.
/email/mailboxesصندوقهای سازمانی و حسابهای شخصی متصلشدهٔ شما، و صندوقهایی که به شما تخصیص داده شده است.
/email/mailboxes/{id}/settingsمیزبان، پورت و امنیت IMAP، POP3 و SMTP برای وصلکردن Outlook، Thunderbird یا موبایل.
/email/mailboxes/{id}نام نمایشی، امضا، پاسخ خودکار، تخصیص به همکار و سهمیهٔ فضا را تغییر میدهد.
/email/mailboxes/{id}/passwordبرای صندوق سازمانی رمز تازه میسازد (یا رمز دلخواه شما را میگذارد) و همانجا یکبار برمیگرداند.
/email/mailboxes/{id}صندوق و همهٔ نامههای آن را حذف میکند.
/email/domains/{id}وضعیت دامنه و رکوردهای DNS که باید بسازید (تأیید مالکیت، MX، SPF، DKIM، DMARC).
/email/domains/{id}/catch-allنامهٔ ارسالشده به هر نشانی ناموجود دامنه را به یک صندوق میرساند.
/email/domains/{id}دامنه با همهٔ صندوقها، نامهای مستعار و نامههایش حذف میشود.
/email/domains/{id}/aliasesنامهای مستعار (فوروارد) یک دامنه.
/email/domains/{id}/aliasesنشانی تازه میسازد که نامههایش به صندوقهای مقصد میرسد.
/email/aliases/{id}فهرست مقصدهای یک نام مستعار را جایگزین میکند.
/email/aliases/{id}نام مستعار را حذف میکند.
/email/contactsمخاطبین ایمیل با جستجو و فیلتر گروه.
/email/contactsمخاطب جدید میسازد.
/email/contacts/{id}فقط فیلدهای ارسالشده تغییر میکنند.
/email/contacts/{id}مخاطب را حذف میکند.
/email/contacts.csvهمهٔ مخاطبین بهصورت فایل CSV.
/email/contacts/import/csvمتن CSV را میخواند و مخاطبین تازه را اضافه میکند.
/email/contacts/import/vcardفایل vCard (.vcf) را میخواند و مخاطبین را اضافه میکند.
/email/labelsبرچسبهای شما.
/email/labelsبرچسب جدید.
/email/labels/{id}نام یا رنگ برچسب.
/email/labels/{id}برچسب را از همهٔ نامهها برمیدارد.
/email/rulesقوانین خودکار پردازش نامهٔ ورودی.
/email/rulesقانون جدید برای نامههای ورودی.
/email/rules/{id}فقط فیلدهای ارسالشده تغییر میکنند.
/email/rules/{id}قانون را حذف میکند.
/email/templatesقالبهای ذخیرهشدهٔ ارسال.
/email/templates/{id}قالب را حذف میکند.
/email/suppressionsنشانیهایی که ارسال به آنها انجام نمیشود.
/email/suppressionsیک نشانی را دوباره مجاز میکند.
/email/otp-relaysقوانینی که کد تأیید رسیده به ایمیل را به پیامک، بله یا تلگرام میفرستند.
/email/otp-relaysکد OTP تشخیصدادهشده در صندوق را خودکار به مقصد دلخواه میفرستد.
/email/otp-relays/{id}/verifyکد ۶ رقمی رسیده به مقصد را تأیید میکند.
/email/otp-relays/{id}/resendکد تأیید مقصد را دوباره میفرستد.
/email/otp-relays/{id}/testیک کد نمونه به مقصد میفرستد تا مسیر را امتحان کنید.
/email/otp-relays/{id}بازارسال را بدون حذف فعال یا غیرفعال میکند.
/email/otp-relays/{id}بازارسال را حذف میکند.
/tts/sayمتن فارسی ← فایل صوتی ۸ کیلوهرتز برای IVR و VoIP؛ مناسب آدرس ttsUrl سانترال.
/tts/sayهمان عملیات GET با بدنهٔ JSON؛ برای متنهای بلند یا وقتی نمیخواهید متن در آدرس بیاید.
/public/tts/infoفهرست صداها و قالبهای در دسترس، سقفها و تعرفهٔ پایه؛ بدون کلید.