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 រកមិនឃើញ - ម៉ាស៊ីនមេមិនមានទេ
ចំណាំ៖ អ្នកអាចមានការបម្រុងទុកដោយដៃអតិបរមាចំនួន 10 ក្នុងមួយម៉ាស៊ីនមេ។ ការបម្រុងទុកដោយស្វ័យប្រវត្តិត្រូវបានរក្សាទុកដោយផ្អែកលើគោលការណ៍រក្សាទុកការបម្រុងទុកនៃផែនការរបស់អ្នក (ជាធម្មតា 7-30 ថ្ងៃ)។
លុប /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 រកមិនឃើញ - មិនមានការបម្រុងទុកទេ
ការព្រមាន៖ ការលុប​ការបម្រុងទុក​គឺជា​ការលុប​ជាអចិន្ត្រៃយ៍ ហើយមិនអាច​ត្រឡប់​វិញ​បានទេ។ ត្រូវប្រាកដថា​អ្នកលែងត្រូវការ​ការបម្រុងទុក​នេះ​ទៀតហើយ មុនពេល​លុបវា។

ការស្ដារឡើងវិញពីការបម្រុងទុក

ដើម្បីស្ដារម៉ាស៊ីនមេពីការបម្រុងទុក សូមប្រើចំណុចបញ្ចប់ស្ដារ Servers API

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

សម្រាប់ព័ត៌មានលម្អិតអំពីការស្ដារម៉ាស៊ីនមេឡើងវិញ សូមមើល ឯកសារ API ម៉ាស៊ីនបម្រើ.

ការអនុវត្តល្អបំផុតសម្រាប់ការបម្រុងទុក