VPS.org API

REST API Documentation

Domains API

جستجو برای نامهای دامنه موجود ، ثبت و تجدید دامنه ، و مدیریت کارسازهای نام و تجدید خودکار آنها. دامنه ها توسط uuid آنها شناسایی می شوند.

نقاط پایانی 7
مسیر پایه /api/v1/domains
دریافت کنید /api/v1/domains/

لیست همه دامنه‌ها

دامنه‌های ثبت‌شده در حساب شما را برمی‌گرداند ، ۲۵ در هر صفحه. فهرست هیچ پالایه ندارد.

مجوز مورد نیاز: domains:list

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

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/domains/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/domains/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for domain in response.json()["results"]:
    print(domain["domain_name"], domain["status"], domain["expiration_date"])
const response = await fetch('https://admin.vps.org/api/v1/domains/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

پاسخ نمونه

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
      "domain_name": "example.com",
      "status": "active",
      "registrar": "dynadot",
      "registration_date": "2026-01-15T10:30:00Z",
      "expiration_date": "2027-01-15T10:30:00Z",
      "days_until_expiration": 122,
      "is_expired": false,
      "needs_renewal_soon": false,
      "auto_renew": true,
      "renewal_period_years": 1,
      "registration_price": "12.64",
      "renewal_price": "12.64",
      "whois_privacy": true,
      "nameserver1": "ns1.vps.org",
      "nameserver2": "ns2.vps.org",
      "nameserver3": "ns3.vps.org",
      "nameserver4": null,
      "transfer_lock": true,
      "created_at": "2026-01-15T10:30:00Z",
      "updated_at": "2026-09-01T08:12:40Z"
    }
  ]
}

فیلدهای پاسخ

میدان نوع Description
uuid string شناسۀ دامنه که در نقاط پایانی دامنه دیگر استفاده می‌شود
status string active, pending, expired, cancelled, transferred
registrar string ثبت‌کننده دامنه که در آن نگهداری می‌شود
registration_date, expiration_date datetime زمانی که دامنه ثبت شد و زمانی که به پایان می‌رسد. expiration_date می‌تواند صفر باشد.
days_until_expiration integer | null روزهای کامل تا تاریخ_پایان‌رسان، منفی هنگام پایان‌رسان
is_expired, needs_renewal_soon boolean آیا دامنۀ منقضی شده ، و آیا در ۳۰ روز آینده منقضی می‌شود
auto_renew, renewal_period_years boolean, integer این که دامنۀ خودکار تجدید شود ، و برای چند سال
registration_price, renewal_price string قیمتها در دلار به عنوان رشته‌های اعشاری
whois_privacy, transfer_lock boolean تنظیمات قفل انتقال ثبت‌کننده و حریم خصوصی WHOIS
nameserver1 to nameserver4 string | null کارسازهای نام دامنه
created_at, updated_at datetime زمان ایجاد و آخرین تغییر رکورد) ISO 8601 ، UTC (
دریافت کنید /api/v1/domains/{uuid}/

گرفتن جزئیات دامنۀ

یک شیء دامنه را با فیلدهای بالا برمی‌گرداند.

مجوز مورد نیاز: domains:list

curl -X GET "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

کدهای وضعیت پاسخ

200 موفقیت
404 پیدا نشد یا متعلق به حساب دیگری است
POST /api/v1/domains/search/

دسترسی‌پذیری دامنه جستجو

بررسی می‌کند که آیا یک نام در حدود ۲۰ پسوند رایج (com ، net ، org ، io ، dev ، co ، app ، ai و بیشتر) موجود است ، به علاوه پسوند تایپ‌شده شما اگر در میان آن‌ها نباشد. نتایج با تطابق دقیق شروع می‌شود ، سپس نامهای موجود ، سپس نامهای گرفته‌شده.

مجوز مورد نیاز: domains:search

درخواست پارامترهای بدنه

Parameter نوع مورد نیاز Description
domain string بله یک نام با یا بدون پسوند ، برای مثال mysite یا mysite. com) ۲ تا ۶۳ کاراکتر (

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

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/domains/search/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "mysite.com"}'
import requests

url = "https://admin.vps.org/api/v1/domains/search/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.post(url, headers=headers, json={"domain": "mysite.com"})
for result in response.json()["results"]:
    if result["available"]:
        print(result["domain"], result["registration_price"], result["renewal_price"])

پاسخ نمونه

{
  "results": [
    {
      "domain": "mysite.com",
      "available": false,
      "price": null,
      "registration_price": null,
      "renewal_price": null,
      "tld": "com",
      "is_exact_match": true
    },
    {
      "domain": "mysite.dev",
      "available": true,
      "price": 17.24,
      "registration_price": 17.24,
      "renewal_price": 17.24,
      "tld": "dev",
      "is_exact_match": false
    }
  ],
  "base_domain": "mysite",
  "search_count": 20
}

قیمت‌ها اعدادی به دلار آمریکا برای یک سال هستند و برای نام‌هایی که در دسترس نیستند صفر هستند. قیمت‌های نشان داده شده فقط برای مثال هستند.

کدهای وضعیت پاسخ

200 موفقیت
400 دامنه مفقود است ، یا شامل نویسه‌های غیر از حروف ، اعداد و خطوط جانبی است
500 جستجو ثبت‌کننده شکست خورد. بعداً دوباره سعی کنید.
POST /api/v1/domains/register/

ثبت دامنه جدید

یک دامنه را ثبت می‌کند و روش پرداخت ذخیره‌شده شما را پرداخت می‌کند. قبل از پرداخت ، مجدداً موجودی و قیمت با ثبت‌کننده بررسی می‌شود. جزئیات تماس ثبت‌کننده از پروفایل حساب شما گرفته می‌شود. اگر ثبت‌کننده پس از پرداخت ، ثبت را رد کند ، پرداخت بازگردانده می‌شود.

مجوز مورد نیاز: domains:register (مشخص‌شده توسط دامنه‌ها: *)

درخواست پارامترهای بدنه

Parameter نوع مورد نیاز Description
domain string بله نام دامنه کامل شامل پسوند آن، برای مثال example. com
years integer No دوره ثبت، ۱ تا ۱۰ (به صورت پیش‌فرض ۱). قیمت قیمت سالانه ضرب در سال‌ها است..ai حداقل ۲ سال نیاز دارد؛ مقدار کوچکتر ۴۰۰ را برمی‌گرداند.
curl -X POST "https://admin.vps.org/api/v1/domains/register/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "mysite.dev", "years": 1}'

پاسخ نمونه

{
  "success": true,
  "domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
  "domain_name": "mysite.dev",
  "message": "mysite.dev registered successfully!"
}

کدهای وضعیت پاسخ

201 دامنه ثبت شده
400 دامنه نامعتبر ، دامنه دیگر موجود نیست ، قیمت نمی‌تواند تأیید شود ، روش پرداخت منسوخ شده ، یا پرداخت شکست خورد
402 روش پرداخت در پرونده وجود ندارد، یا فاکتورهای پرداخت نشده
500 پرداخت نمی‌تواند پردازش شود، یا ثبت‌کننده ثبت را پس از پرداخت رد کرد. در مورد دوم، پیام خطا می‌گوید که آیا بازپرداخت از طریق آن انجام شد.
POST /api/v1/domains/{uuid}/renew/

بازنگری یک دامنۀ

دامنه را تجدید می‌کند و هزینه تجدید آن را برای هر سال به روش پرداخت ذخیره شده شما پرداخت می‌کند.

مجوز مورد نیاز: domains:renew

درخواست پارامترهای بدنه

Parameter نوع مورد نیاز Description
years integer No سالهای جمع‌شده، ۱ تا ۱۰) پیش‌فرض ۱ (
curl -X POST "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/renew/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"years": 1}'
{
  "success": true,
  "domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
  "new_expiration": "2028-01-15T10:30:00+00:00",
  "message": "example.com renewed successfully for 1 year(s)!"
}

کدهای وضعیت پاسخ

200 دامنه تجدید شد
400 سالهای نامعتبر، هیچ قیمت تجدید برای دامنه، هیچ روش پرداخت قابل استفاده، یا پرداخت شکست خورد
404 پیدا نشد یا متعلق به حساب دیگری است
500 پرداخت نمی‌تواند پردازش شود، یا پرداخت انجام شد اما تجدید ثبت‌کننده شکست خورد. در این مورد با پشتیبانی تماس بگیرید.
PUT /api/v1/domains/{uuid}/nameservers/

به روزرسانی کارساز نام

کارسازهای نام دامنه را در ثبت‌کننده تنظیم می‌کند و شیء دامنه به‌روزرسانی شده را برمی‌گرداند. برای مدیریت DNS با API DNS ، از ns1. vps.org ، ns2. vps.org و ns3. vps.org استفاده کنید و یک منطقه برای دامنه ایجاد کنید.

مجوز مورد نیاز: domains:update

درخواست پارامترهای بدنه

Parameter نوع مورد نیاز Description
nameserver1 string بله نام میزبان کارساز نام اصلی
nameserver2, nameserver3, nameserver4 string No نامهای میزبان کارساز نام اضافی
curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/nameservers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"nameserver1": "ns1.vps.org", "nameserver2": "ns2.vps.org", "nameserver3": "ns3.vps.org"}'

کدهای وضعیت پاسخ

200 کارسازهای نام به‌روزرسانی شده‌اند؛ بدن شیء دامنه است
400 نام کارساز۱ گم شده
404 پیدا نشد یا متعلق به حساب دیگری است
500 به‌روزرسانی شکست خورد؛ بدنه دارای دامنه‌های خطا و پیام است
PUT /api/v1/domains/{uuid}/auto-renew/

فعال‌سازی یا غیرفعال‌سازی تجدید خودکار

تنظیم خودکار_تجدید و بازگرداندن شیء دامنه به‌روز شده. ارسال به عنوان یک JSON boolean فعال شده: هر رشتهٔ غیر خالی، از جمله رشتهٔ false، تجدید خودکار را روشن می‌کند.

مجوز مورد نیاز: domains:update

curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/auto-renew/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'

کدهای وضعیت پاسخ

200 تنظیمات ذخیره شد؛ بدن شیء دامنه است
400 فعال‌شده
404 پیدا نشد یا متعلق به حساب دیگری است

یادداشتها