ឯកសារ API

បញ្ចូល EstaCaido ជាមួយ​កម្មវិធី​របស់​អ្នក

ចាប់ផ្ដើម

API EstaCaido អនុញ្ញាតឱ្យអ្នកគ្រប់គ្រងម៉ូនីទ័ររបស់អ្នកមើលហេតុការណ៍កំណត់រចនាសម្ព័ន្ធការជូនដំណឹងនិងច្រើនទៀតពីកូដផ្ទាល់ខ្លួនរបស់អ្នក. ចំណុចបញ្ចប់ API ទាំងអស់ប្រើ JSON សម្រាប់សំណើនិងរាងកាយឆ្លើយតប.

URL មូលដ្ឋាន

https://www.estacaido.com/api/v1/

ដែន​កំណត់​អត្រា

សញ្ញា API នីមួយៗអាចធ្វើឡើងទៅសំណើ 100 ក្នុងមួយនាទី. សំណើលើសពីកម្រិតនោះទទួលបានការឆ្លើយតប 429 Too Many Requests.

ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ

ប្រើ​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​ដែល​មាន​មូលដ្ឋាន​លើ​តួអក្សរ​សម្រាប់​សំណើ API ទាំងអស់ ។ រួម​បញ្ចូល​តួអក្សរ​របស់​អ្នក​ក្នុង​បឋមកថា​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ ។

យក​តួអក្សរ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ

POST /api/v1/auth/token/
សំណើ
curl -X POST https://www.estacaido.com/api/v1/auth/token/ \
  -H "Content-Type: application/json" \
  -d '{"username": "your@email.com", "password": "yourpassword"}'
ការ​ឆ្លើយតប
{
  "token": "your-api-token-here"
}

ប្រើ​តួអក្សរ​ក្នុង​បឋមកថា​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ

Authorization: Token your-api-token-here

ម៉ូនីទ័រ

គ្រប់គ្រង​ការ​ត្រួតពិនិត្យ​តំបន់​បណ្ដាញ​របស់​អ្នក ។

បញ្ជី​ម៉ូនីទ័រ

GET /api/v1/monitors/
ការ​ឆ្លើយតប
[
  {
    "id": 1,
    "name": "Production API",
    "company": {
      "id": 1,
      "website": "api.example.com"
    },
    "check_type": "http",
    "check_interval": 300,
    "is_active": true,
    "is_paused": false,
    "last_check_at": "2024-01-15T10:30:00Z",
    "created_at": "2024-01-01T00:00:00Z"
  }
]

បង្កើតម៉ូនីទ័រ

POST /api/v1/monitors/
ប៉ារ៉ាម៉ែត្រ
name ចាំបាច់ ឈ្មោះ​សម្រាប់​ម៉ូនីទ័រ
domain ចាំបាច់ ដែន​ដែល​ត្រូវ​ត្រួតពិនិត្យ ឧទាហរណ៍ example.com
check_interval ជម្រើស ចន្លោះ​ពេល​ពិនិត្យ​គិត​ជា​វិនាទី មួយ​នៃ 30, 60, 300, 600, 900, 1800, 3600 ។ លំនាំដើម ៖ 300
check_type ជម្រើស តម្លៃ​មួយ​ក្នុង​ចំណោម​តម្លៃ​ទាំងនេះ ៖ http, https, ping ។ លំនាំដើម ៖ https

យក​កម្មវិធី​ត្រួតពិនិត្យ

GET /api/v1/monitors/{id}/

កម្មវិធី​ត្រួតពិនិត្យ​ធ្វើ​ឲ្យ​ទាន់សម័យ

PUT /api/v1/monitors/{id}/

លុប​ម៉ូនីទ័រ

DELETE /api/v1/monitors/{id}/

ផ្អាក​កម្មវិធី​ត្រួតពិនិត្យ

POST /api/v1/monitors/{id}/pause/

បន្ត​កម្មវិធី​ត្រួតពិនិត្យ

POST /api/v1/monitors/{id}/resume/

យក​ស្ថិតិ​ម៉ូនីទ័រ

GET /api/v1/monitors/{id}/statistics/
ប៉ារ៉ាម៉ែត្រ
days ជម្រើស ចំនួន​ថ្ងៃ​ដែល​ត្រូវ​រួម​បញ្ចូល ។ លំនាំដើម ៖ 30

ព្រឹត្តិការណ៍

មើល​ហេតុការណ៍​ពេល​អស់​កម្លាំង និង​ប្រវត្តិ​របស់​ពួក​វា ។

រាយ​ហេតុការណ៍

GET /api/v1/incidents/
ប៉ារ៉ាម៉ែត្រ
status ជម្រើស តម្រង​តាម​ស្ថានភាព ៖ កំពុង​ដំណើរការ ដោះស្រាយ
monitor ជម្រើស តម្រង​តាម​លេខ​សម្គាល់​ម៉ូនីទ័រ

យក​ព្រឹត្តិការណ៍

GET /api/v1/incidents/{id}/

ការ​ជូនដំណឹង

កំណត់​រចនាសម្ព័ន្ធ​ការ​ជូន​ដំណឹង​ព្រមាន​សម្រាប់​ម៉ូនីទ័រ​របស់​អ្នក ។

បញ្ជី​ការ​ជូនដំណឹង

GET /api/v1/alerts/

បង្កើត​ការ​ជូនដំណឹង

POST /api/v1/alerts/
ប៉ារ៉ាម៉ែត្រ
monitor ចាំបាច់ លេខ​សម្គាល់​ម៉ូនីទ័រ
alert_type ចាំបាច់ មួយ​នៃ​តម្លៃ​ទាំងនេះ ៖ email, sms, slack, discord, webhook, pagerduty, teams
recipients ចាំបាច់ អាសយដ្ឋាន​អ្នក​ទទួល ឬ URL webhook
alert_on_down ជម្រើស ជូនដំណឹង​ពេល​តំបន់​បណ្ដាញ​ធ្លាក់​ចុះ (លំនាំដើម ៖ ពិត)
alert_on_recovery ជម្រើស ជូនដំណឹង​ពេល​តំបន់​បណ្ដាញ​ស្តារ​ឡើងវិញ (លំនាំដើម ៖ ពិត)

ធ្វើ​ឲ្យ​ការ​ជូនដំណឹង​ទាន់សម័យ

PUT /api/v1/alerts/{id}/

លុប​ការ​ជូនដំណឹង

DELETE /api/v1/alerts/{id}/

ទំព័រ​ស្ថានភាព

បង្កើត និង​គ្រប់គ្រង​ទំព័រ​ស្ថានភាព​សាធារណៈ ។

បញ្ជី​ទំព័រ​ស្ថានភាព

GET /api/v1/status-pages/

បង្កើត​ទំព័រ​ស្ថានភាព

POST /api/v1/status-pages/
ប៉ារ៉ាម៉ែត្រ
title ចាំបាច់ ចំណង​ជើង​សម្រាប់​ទំព័រ​ស្ថានភាព
slug ចាំបាច់ URL slug (ឧ. ទំព័រ​ស្ថានភាព​របស់​ខ្ញុំ)
description ជម្រើស អត្ថបទ​សេចក្ដី​ពិពណ៌នា
is_public ជម្រើស ធ្វើ​ឲ្យ​មាន​មធ្យោបាយ​ងាយស្រួល​សាធារណៈ (លំនាំដើម ៖ ពិត)

ក្រុម

គ្រប់គ្រង​ការ​ចូល​ដំណើរការ​ក្រុម និង​ការ​សហការ ។

បញ្ជី​ក្រុម

GET /api/v1/teams/

បង្កើត​ក្រុម

POST /api/v1/teams/

យក​ក្រុម

GET /api/v1/teams/{id}/

ឧទាហរណ៍​កូដ

Python

import requests

API_TOKEN = 'your-api-token'
BASE_URL = 'https://www.estacaido.com/api/v1'

headers = {
    'Authorization': f'Token {API_TOKEN}',
    'Content-Type': 'application/json'
}

# List all monitors
response = requests.get(f'{BASE_URL}/monitors/', headers=headers)
monitors = response.json()
print(monitors)

# Create a new monitor
new_monitor = {
    'name': 'My Website',
    'domain': 'example.com',
    'check_interval': 300
}
response = requests.post(f'{BASE_URL}/monitors/', json=new_monitor, headers=headers)
print(response.json())

JavaScript

const API_TOKEN = 'your-api-token';
const BASE_URL = 'https://www.estacaido.com/api/v1';

const headers = {
    'Authorization': `Token ${API_TOKEN}`,
    'Content-Type': 'application/json'
};

// List all monitors
fetch(`${BASE_URL}/monitors/`, { headers })
    .then(res => res.json())
    .then(monitors => console.log(monitors));

// Create a new monitor
fetch(`${BASE_URL}/monitors/`, {
    method: 'POST',
    headers,
    body: JSON.stringify({
        name: 'My Website',
        domain: 'example.com',
        check_interval: 300
    })
})
.then(res => res.json())
.then(data => console.log(data));

cURL

# List all monitors
curl -X GET https://www.estacaido.com/api/v1/monitors/ \
  -H "Authorization: Token your-api-token"

# Create a new monitor
curl -X POST https://www.estacaido.com/api/v1/monitors/ \
  -H "Authorization: Token your-api-token" \
  -H "Content-Type: application/json" \
  -d '{"name": "My Website", "domain": "example.com", "check_interval": 300}'

រួចរាល់​ហើយ​ដើម្បី​ចាប់ផ្ដើម​ឬ ?

ចុះឈ្មោះដោយឥតគិតថ្លៃនិងទទួលបានតួអក្សរ API របស់អ្នកដើម្បីចាប់ផ្តើមរួមបញ្ចូលគ្នា។

ចុះឈ្មោះដោយឥតគិតថ្លៃ យក​តួអក្សរ API