API құжаттамасы

EstaCaido-ті қолданбаңызға біріктіру

Бастау

EstaCaido API сізге өзіңіздің кодыңыздан мониторларды басқаруға, оқиғаларды қарауға, ескертулерді баптау және т. б. мүмкіндік береді. Барлық API аяқтау нүктелері сұраныс пен жауаптар үшін JSON- ды қолданады.

Негізгі URL

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

Жылдамдық шегі

Әрбір API жетон минутына 100 сұраныстарды орындай алады. Бұл шектен асқан сұраныстарға 429 Too Many Requests жауап беріледі.

Аутентификация

Барлық API сұраныстары үшін токенге негізделген аутентификация қолданылсын. Токеніңізді Authorization айдарына қосыңыз.

Аутентификация токені алынсын

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 Қосымша Монитор ID бойынша сүзгілеу

Оқиғаны алу

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

Ескертулер

Configure alert notifications for your monitors.

Ескертулер тізімі

GET /api/v1/alerts/

Ескертуді құру

POST /api/v1/alerts/
Параметрлер
monitor Негізгі Монитор ID- і
alert_type Негізгі Келесі мәндердің бірі: email, sms, slack, discord, webhook, pagerduty, teams
recipients Негізгі Алушылар адрестері не webhook URL- лері
alert_on_down Қосымша Сайт тоқтап қалса, хабарлау (әдеттісі: true)
alert_on_recovery Қосымша Сайт қалпына келгенде хабарлау (әдеттісі: true)

Жаңарту туралы ескерту

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

Ескертуді өшіру

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

Күй- жай парақтары

Ашық күй- жай парақтарын құрып, басқару.

Күй- жай парақтарын тізімдеу

GET /api/v1/status-pages/

Күй- жай парағын құру

POST /api/v1/status-pages/
Параметрлер
title Негізгі Күй- жай парағының атауы
slug Негізгі URL slug (мысалы, my-status-page)
description Қосымша Сипаттамасы
is_public Қосымша Ашық болсын (әдеттісі: true)

Командалар

Команда қатынасын және ынтымақтастықты басқару.

Командаларды көрсету

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- ге тіркеліңіз.

Тегін тіркелу API токенін алу