VPS.org API

Ҳуҷҷатҳои REST API

API-и нусхабардорӣ

Нусхаҳои эҳтиётии серверро ба таври барномавӣ идора кунед. Нусхаҳои эҳтиётии серверҳои худро номбар кунед, эҷод кунед, барқарор кунед ва нест кунед.

Нуқтаҳои ниҳоӣ 3 endpoints
Роҳи асосӣ /api/v1/backups
ГИРЕД /api/v1/backups/

Рӯйхати ҳамаи нусхаҳои эҳтиётӣ

Рӯйхати ҳамаи нусхаҳои эҳтиётии серверҳои худро гиред.

Параметрҳои дархост

Параметр Навъ Ҳатмӣ Тавсиф
server_id integer Не Филтр кардани нусхаҳои эҳтиётӣ аз рӯи ID-и сервер
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 Бале ID-и сервер барои нусхабардорӣ
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 Ёфта нашуд - Сервер вуҷуд надорад
Шарҳ: Шумо метавонед барои як сервер ҳадди аксар 10 нусхаи эҳтиётии дастӣ дошта бошед. Нусхаҳои эҳтиётии худкор мувофиқи сиёсати нигоҳдории нусхаи эҳтиётии нақшаи шумо (одатан 7-30 рӯз) нигоҳ дошта мешаванд.
НЕСТ КАРДАН /api/v1/backups/{backup_id}/

Нест кардани нусхаи эҳтиётӣ

Нусхаи эҳтиётиро доимӣ нест кунед. Ин амалро баргардонидан мумкин нест.

Параметрҳои роҳ

Параметр Навъ Ҳатмӣ Тавсиф
backup_id integer Бале ID-и беназири нусхабардорӣ

Намунаи дархост

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 Ёфта нашуд - Нусхаи эҳтиётӣ вуҷуд надорад
Огоҳӣ: Нест кардани нусхаи эҳтиётӣ доимӣ аст ва онро баргардонидан ғайриимкон аст. Пеш аз нест кардани он, боварӣ ҳосил кунед, ки дигар ба ин нусхаи эҳтиётӣ ниёз надоред.

Барқароркунӣ аз нусхаҳои эҳтиётӣ

Барои барқарор кардани сервер аз нусхаи эҳтиётӣ, нуқтаи ниҳоии барқароркунии Servers API-ро истифода баред:

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

Барои маълумоти муфассал дар бораи барқарорсозии сервер, ба Ҳуҷҷатҳои API-и серверҳо.

Беҳтарин таҷрибаҳои нусхабардорӣ