مستندات API
معرفی
این مستندات برای اتصال به وبسرویس پیامک NivaSMS تهیه شده است. مسیرها و ساختار درخواست/پاسخ مطابق استاندارد Edge طراحی شدهاند و شما میتوانید از همان الگوهای رایج SDKها و نمونهکدها استفاده کنید.
Base URL
تمامی درخواستها به مسیر زیر ارسال میشوند:
https://nivasms.ir/v1
احراز هویت
برای بیشتر متدها باید هدر Authorization را ارسال کنید. این مقدار میتواند توکن یا API Key باشد.
- Token: معمولاً بعد از ورود دریافت میشود و مدت اعتبار محدودی دارد (برای مثال ۱۰ ساعت).
- API Key: کلید دائمی است و معمولاً از داخل پنل کاربری قابل ساخت/مدیریت است.
| کلید | مقدار | توضیح |
|---|---|---|
| Authorization | YOUR_TOKEN_OR_API_KEY | توکن یا API Key خود را در این هدر قرار دهید. |
| Content-Type | application/json | برای درخواستهای JSON (در ارسالهای وبسرویس/پترن معمولاً لازم است). |
فرمت پاسخها
پاسخها معمولاً دو بخش دارند: data و meta. مقدار meta.status نشان میدهد درخواست موفق بوده یا خیر.
{
"data": {
"example": true
},
"meta": {
"status": true,
"message": "OK",
"message_code": "ok",
"message_parameters": []
}
}
محدودیتها
برای حفظ کیفیت سرویس، محدودیتهایی مثل تعداد درخواست در دقیقه یا محدودیت ارسال همزمان ممکن است اعمال شود. اگر با خطای 429 مواجه شدید، چند ثانیه بعد دوباره تلاش کنید.
ورود و دریافت توکن
برای دریافت توکن، با نام کاربری/رمز عبور وارد شوید. (این متد نیاز به هدر Authorization ندارد.)
بدنه درخواست
| پارامتر | نوع | اجباری | توضیح |
|---|---|---|---|
| username | string | نام کاربری پنل | |
| password | string | رمز عبور |
curl -X POST https://nivasms.ir/v1/api/auth/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD"}'
بررسی اعتبار توکن
برای اطمینان از معتبر بودن توکن/کلید.
curl -X GET https://nivasms.ir/v1/api/auth/check-token \
-H 'Authorization: YOUR_TOKEN_OR_API_KEY' \
-H 'Accept: application/json'
خروج
ابطال توکن (در صورتی که از توکن استفاده میکنید).
curl -X POST https://nivasms.ir/v1/api/auth/logout \
-H 'Authorization: YOUR_TOKEN' \
-H 'Accept: application/json'
ارسال وبسرویس
ارسال پیامک معمولی با متن دلخواه. مقدار sending_type باید webservice باشد.
بدنه درخواست
| پارامتر | نوع | اجباری | توضیح |
|---|---|---|---|
| sending_type | string | نوع ارسال: webservice |
|
| from | string | شماره فرستنده (خط) | |
| to | array | لیست شمارههای مقصد | |
| message | string | متن پیامک |
curl -X POST https://nivasms.ir/v1/api/send \
-H 'Authorization: YOUR_TOKEN_OR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"sending_type":"webservice","from":"+983000505","to":["+989120000000"],"message":"سلام از NivaSMS"}'
ارسال پترن
ارسال پیامک بر اساس پترن/قالب. مقدار sending_type باید pattern باشد.
بدنه درخواست
| پارامتر | نوع | اجباری | توضیح |
|---|---|---|---|
| sending_type | string | نوع ارسال: pattern |
|
| pattern_code | string|int | کد پترن | |
| mobile | string | شماره مقصد | |
| variables | object | متغیرهای پترن (کلید/مقدار) |
curl -X POST https://nivasms.ir/v1/api/send \
-H 'Authorization: YOUR_TOKEN_OR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"sending_type":"pattern","pattern_code":"abcd1234","mobile":"+989120000000","variables":{"code":"12345"}}'
لیست ارسالها (Outbox)
لیست ارسالهای شما با امکان فیلتر و صفحهبندی.
Query Params (اختیاری)
| پارامتر | نوع | اجباری | توضیح |
|---|---|---|---|
| page | int | شماره صفحه | |
| per_page | int | تعداد در هر صفحه |
curl -X GET 'https://nivasms.ir/v1/api/report/outbox?page=1&per_page=20' \
-H 'Authorization: YOUR_TOKEN_OR_API_KEY' \
-H 'Accept: application/json'
جزئیات یک ارسال
دریافت جزئیات و وضعیت یک ارسال بر اساس شناسه bulk_id.
Path Params
| پارامتر | نوع | اجباری | توضیح |
|---|---|---|---|
| bulk_id | int | شناسه ارسال |
curl -X GET https://nivasms.ir/v1/api/report/outbox/123456 \
-H 'Authorization: YOUR_TOKEN_OR_API_KEY' \
-H 'Accept: application/json'
لیست دریافتیها (Inbox)
لیست پیامکهای دریافتی روی خطوط شما.
Query Params (اختیاری)
| پارامتر | نوع | اجباری | توضیح |
|---|---|---|---|
| page | int | شماره صفحه | |
| per_page | int | تعداد در هر صفحه |
curl -X GET 'https://nivasms.ir/v1/api/report/inbox?page=1&per_page=20' \
-H 'Authorization: YOUR_TOKEN_OR_API_KEY' \
-H 'Accept: application/json'
اعتبار من
مشاهده اعتبار/کیف پول حساب کاربری.
curl -X GET https://nivasms.ir/v1/api/payment/credit/mine \
-H 'Authorization: YOUR_TOKEN_OR_API_KEY' \
-H 'Accept: application/json'
کدها و خطاهای رایج
| HTTP | عنوان | توضیح |
|---|---|---|
| 200 | موفق | درخواست با موفقیت انجام شد. |
| 400 | درخواست نامعتبر | ساختار درخواست یا پارامترها اشتباه است. |
| 401 | عدم احراز هویت | Authorization ارسال نشده یا نامعتبر است. |
| 403 | عدم دسترسی | به این متد دسترسی ندارید یا مجوز لازم را ندارید. |
| 404 | یافت نشد | مسیر یا منبع درخواستی وجود ندارد. |
| 422 | اعتبارسنجی | پارامترها صحیح نیستند. جزئیات در meta.errors میآید. |
| 429 | محدودیت درخواست | تعداد درخواستها زیاد است. کمی صبر کنید و دوباره تلاش کنید. |
| 500 | خطای سرور | خطای داخلی سرور. |
| 502 | خطای Gateway | عدم ارتباط با سرویس بالادستی. |