VPS.org API

مستندات REST API

API پشتیبان‌گیری

مدیریت پشتیبان‌گیری سرورها به صورت برنامه‌نویسی‌شده. فهرست کردن، ایجاد، بازیابی و حذف پشتیبان‌گیری‌ها برای سرورهای شما.

نقاط پایانی 3 endpoints
مسیر پایه /api/v1/backups
دریافت کنید /api/v1/backups/

فهرست کردن تمام نسخه‌های پشتیبان

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

پارامترهای پرس و جو

پارامتر نوع مورد نیاز توضیحات
server_id integer خیر فیلتر کردن پشتیبان‌ها بر اساس شناسه سرور
backup_type string خیر فیلتر بر اساس نوع: manual ، automatic

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

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/backups/?server_id=12345" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

url = "https://admin.vps.org/api/v1/backups/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
params = {"server_id": 12345}

response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/backups/?server_id=12345', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const backups = await response.json();
console.log(backups);

پاسخ نمونه

{
  "count": 3,
  "results": [
    {
      "id": 501,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "backup_type": "automatic",
      "status": "completed",
      "size_mb": 4523,
      "created_at": "2025-01-16T03:00:00Z",
      "expires_at": "2025-02-16T03:00:00Z",
      "description": "Automatic daily backup"
    },
    {
      "id": 499,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "backup_type": "manual",
      "status": "completed",
      "size_mb": 4456,
      "created_at": "2025-01-14T10:30:00Z",
      "expires_at": null,
      "description": "Pre-update backup"
    },
    {
      "id": 495,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "backup_type": "automatic",
      "status": "completed",
      "size_mb": 4389,
      "created_at": "2025-01-15T03:00:00Z",
      "expires_at": "2025-02-15T03:00:00Z",
      "description": "Automatic daily backup"
    }
  ]
}

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

200 لیست پشتیبان با موفقیت بازیابی شد
401 غیرمجاز - توکن احراز هویت نامعتبر یا مفقود است
پست /api/v1/backups/

ایجاد نسخه پشتیبان دستی

ایجاد نسخه پشتیبان دستی از سرور. نسخه‌های پشتیبان دستی به طور خودکار منقضی نمی‌شوند.

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

پارامتر نوع مورد نیاز توضیحات
server_id integer بله شناسه سرور برای پشتیبان گیری
description string خیر توضیحات اختیاری برای نسخه پشتیبان

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

cURL
Python
JavaScript
PHP
curl -X POST "https://admin.vps.org/api/v1/backups/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "server_id": 12345,
    "description": "Pre-deployment backup"
  }'
import requests

url = "https://admin.vps.org/api/v1/backups/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "server_id": 12345,
    "description": "Pre-deployment backup"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/backups/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    server_id: 12345,
    description: 'Pre-deployment backup'
  })
});

const backup = await response.json();
console.log(backup);
$data = [
    'server_id' => 12345,
    'description' => 'Pre-deployment backup'
];

$ch = curl_init('https://admin.vps.org/api/v1/backups/');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_TOKEN',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$backup = json_decode($response, true);
curl_close($ch);

پاسخ نمونه

{
  "id": 502,
  "server": {
    "id": 12345,
    "name": "web-server-01"
  },
  "backup_type": "manual",
  "status": "in_progress",
  "size_mb": null,
  "created_at": "2025-01-16T15:45:00Z",
  "expires_at": null,
  "description": "Pre-deployment backup",
  "message": "Backup is being created. This may take several minutes depending on server size."
}

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

201 ایجاد نسخه پشتیبان با موفقیت آغاز شد
400 درخواست بد - پارامترهای نامعتبر یا درخواست ناقص
401 غیرمجاز - توکن احراز هویت نامعتبر یا مفقود است
404 یافت نشد - سرور وجود ندارد
توجه: شما می‌توانید حداکثر ۱۰ نسخه پشتیبان دستی در هر سرور داشته باشید. نسخه‌های پشتیبان خودکار بر اساس سیاست نگهداری نسخه پشتیبان پلن شما (معمولاً ۷ تا ۳۰ روز) نگهداری می‌شوند.
حذف /api/v1/backups/{backup_id}/

حذف نسخه پشتیبان

حذف دائمی نسخه پشتیبان. این اقدام قابل بازگشت نیست.

پارامترهای مسیر

پارامتر نوع مورد نیاز توضیحات
backup_id integer بله شناسه پشتیبان منحصر به فرد

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

cURL
Python
JavaScript
curl -X DELETE "https://admin.vps.org/api/v1/backups/501/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

backup_id = 501
url = f"https://admin.vps.org/api/v1/backups/{backup_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.delete(url, headers=headers)
print(response.status_code)
const backupId = 501;
const response = await fetch(`https://admin.vps.org/api/v1/backups/${backupId}/`, {
  method: 'DELETE',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

console.log(response.status);

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

204 نسخه پشتیبان با موفقیت حذف شد
401 غیرمجاز - توکن احراز هویت نامعتبر یا مفقود است
404 یافت نشد - نسخه پشتیبان وجود ندارد
هشدار: حذف نسخه پشتیبان دائمی است و قابل بازگشت نیست. قبل از حذف، مطمئن شوید که دیگر به این نسخه پشتیبان نیازی ندارید.

بازیابی از پشتیبان‌ها

برای بازیابی سرور از یک نسخه پشتیبان، از نقطه پایانی بازیابی API سرورها استفاده کنید:

POST /api/v1/servers/{server_id}/restore/
{
  "backup_id": 501
}

برای اطلاعات دقیق در مورد بازیابی سرور، به مستندات API سرورها.

بهترین شیوه‌های پشتیبان‌گیری