رفتن به محتوا

REST API

REST API نسین هر کاری را که پنل انجام می‌دهد پشتیبانی می‌کند: دامنه‌ها، رکوردهای دی‌ان‌اس، قوانین لبه، گواهی‌ها، کش، آمار، آپ‌تایم و اشتراک‌گذاری.

  • آدرس پایه: https://api.nsin.cloud
  • احراز هویت: یک کلید API
  • مرجع کامل نقاط پایانی: REST API Reference — همه‌ی نقاط پایانی با پارامترها و اسکیمای درخواست و پاسخ، تولیدشده از همان سند OpenAPI که خود API سرویس می‌دهد.

سند ماشین‌خوان OpenAPI در /docs/openapi.yaml در دسترس است — تولیدکننده‌ی کلاینت، Postman یا IDE خود را مستقیم به همان اشاره دهید.

کلید را در هر هدری که برای کلاینت شما مناسب‌تر است بفرستید؛ هر دو یکسان‌اند:

Terminal window
curl -H "Authorization: Bearer nsin_your_key_here" https://api.nsin.cloud/domains/
curl -H "X-Api-Key: nsin_your_key_here" https://api.nsin.cloud/domains/

کلید به‌جای شما عمل می‌کند: دامنه‌های خودتان و دامنه‌های اشتراکی دقیقاً مثل پنل در دسترس‌اند و نقش‌های دامنه هم اعمال می‌شوند. کلید فقط‌خواندنی تنها GET، HEAD و OPTIONS می‌فرستد.

{domain} نام دامنه است. هر بخشی از مسیر که به‌صورت {domain} نوشته شده، نام دامنه — example.com — را می‌گیرد، نه شناسه‌ی عددی:

Terminal window
curl -H "X-Api-Key: $NSIN_KEY" \
https://api.nsin.cloud/domains/example.com/records/

اسلش پایانی مهم است. مسیرها را دقیقاً همان‌طور که مرجع نوشته استفاده کنید (/domains/ و /domains/{domain}/records/ اسلش دارند، /domains/{domain} ندارد).

خطاها یکنواخت‌اند. هر خطا به شکل {"error": "پیام قابل خواندن"} است.

زمان‌ها با فرمت RFC 3339 و به UTC، و حجم‌ها بر حسب بایت‌اند.

کاری که کلید نمی‌تواند بکند

Section titled “کاری که کلید نمی‌تواند بکند”

بعضی سطوح برای هر کلیدی 403 برمی‌گردانند تا کلید لو‌رفته هرگز نتواند حساب را تصاحب کند یا پول خرج کند:

سطحچرا
/users/**پروفایل، رمز، نشست‌ها و مدیریت کلیدها. کلید نمی‌تواند کلید بسازد یا باطل کند.
/auth/**ورود، ثبت‌نام، رمز یک‌بارمصرف.
/billing/**فهرست پلن‌ها و تنظیمات صورت‌حساب.
/admin/**سطح مدیریتی.
POST /wallet/topupجابه‌جایی پول.
POST …/subscriptions/purchase، /switch، /auto-renewجابه‌جایی پول.

خواندن اشتراک، قابلیت‌ها، مصرف ترافیک، فاکتورها و کیف پول مجاز است — فقط نوشتن‌های مالی مسدودند.

به‌صورت پیش‌فرض ۳۰۰ درخواست در دقیقه برای هر کلید. با عبور از آن 429 همراه با {"error": "rate limit exceeded"} می‌گیرید. ترافیک پنل (مرورگر) جداگانه محدود می‌شود و از سهم کلید شما کم نمی‌کند.

کدمعنی
400ورودی نامعتبر.
401کلید موجود نیست، نامعتبر است یا باطل شده.
403کلید فقط‌خواندنی روی عملیات نوشتن، نقش ناکافی، سطح مسدود، یا قابلیتی که در پلن نیست.
404پیدا نشد — یا برای شما قابل مشاهده نیست.
409تعارض؛ مثلاً دامنه قبلاً ثبت شده یا غیرفعال است.
429عبور از محدودیت نرخ.
گروهشامل
Domainsافزودن، پیکربندی، تأیید، فعال‌سازی و حذف دامنه؛ حالت توسعه‌دهنده؛ بررسی نیم‌سرورها.
DNS RecordsCRUD رکوردها، به‌روزرسانی/حذف دسته‌ای، اسکن زون و ورود از BIND.
SSLوضعیت گواهی، صدور دستی، آپلود و بررسی گواهی سفارشی.
Rulesهر دوازده نوع قانون، هرکدام با همان هفت نقطه‌ی پایانی (فهرست، ساخت، ترتیب، دریافت، به‌روزرسانی، حذف، روشن/خاموش).
Cacheآمار فضا، مرور آیتم‌های ذخیره‌شده، پاک‌سازی و تازه‌سازی.
Analyticsترافیک، بازدیدکننده، پهنای باند، کش، کدهای وضعیت، جغرافیا، لاگ‌ها، لاگ WAF و کوئری دلخواه.
Uptimeرخدادهای قطعی، وضعیت زنده‌ی هر میزبان، تنظیمات تشخیص.
Recommendationsچک‌لیست پیشنهادها و نادیده‌گرفتن‌ها.
Sharingاعضا، نقش‌ها، دعوت‌نامه‌ها.
Billingخواندن اشتراک‌ها، قابلیت‌ها، مصرف ترافیک، فاکتورها و کیف پول.
Supportتیکت‌ها و پاسخ‌ها.
Terminal window
export NSIN_KEY=nsin_your_key_here
# فهرست دامنه‌های شما
curl -H "X-Api-Key: $NSIN_KEY" https://api.nsin.cloud/domains/
# ساخت یک رکورد A پراکسی‌شده
curl -X POST -H "X-Api-Key: $NSIN_KEY" -H "Content-Type: application/json" \
-d '{"name":"www","type":"A","destination":"203.0.113.10","proxied":true}' \
https://api.nsin.cloud/domains/example.com/records/
# پاک‌سازی کش دامنه
curl -X DELETE -H "X-Api-Key: $NSIN_KEY" \
https://api.nsin.cloud/domains/example.com/cache/