API sənədləşdirməsi

EstaCaido-i tətbiqlərinizlə birləşdirin

Başla

EstaCaido API monitorlarınızı idarə etməyə, hadisələri görməyə, xəbərdarlıqları qurmağa və daha çoxunu öz kodunuzdan edə bilir. Bütün API son nöqtələri tələb və cavab bədənləri üçün JSON istifadə edir.

Əsas Ünvan

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

Sür'ət Limitləri

Hər API tokeni bir dəqiqədə 100 tələbinə qədər edə bilər. Bu həddi keçən tələblər 429 Too Many Requests cavabı alır.

Tanıtma

Bütün API tələbləri üçün token əsaslı tanınması işlət. Tokeninizi Tanışlıq başlığına daxil edin.

Tanıtma Tokenini Al

POST /api/v1/auth/token/
Tələb
curl -X POST https://www.estacaido.com/api/v1/auth/token/ \
  -H "Content-Type: application/json" \
  -d '{"username": "your@email.com", "password": "yourpassword"}'
Cavab
{
  "token": "your-api-token-here"
}

Tanıtma başlığındaki tokeni istifadə et

Authorization: Token your-api-token-here

Monitorlar

Veb saytınızın monitorlarını idarə edin.

Monitorları Siyahısı

GET /api/v1/monitors/
Cavab
[
  {
    "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"
  }
]

Monitor yaradın

POST /api/v1/monitors/
Parametrlər
name Gərəklidir Monitorun adı
domain Gərəklidir Gözləniləcək domen, misal example.com
check_interval İmkansız Səkinələrlə yoxlama aralığı, 30, 60, 300, 600, 900, 1800, 3600-dən biri. Ön qurğulu: 300
check_type İmkansız Bu dəyərlərdən biri: http, https, ping. Ön qurğulu: https

Monitoru _Al

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

Yenilə

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

Monitoru sil

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

Monitoru dayandır

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

Monitoru davam etdir

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

Monitor Statistikası

GET /api/v1/monitors/{id}/statistics/
Parametrlər
days İmkansız Əlavə ediləcək günlərin sayı. Ön qurğulu: 30

Hadisələr

Bağlanmamış hadisələri və onların tarixçəsini göstər.

Hadisə siyahısı

GET /api/v1/incidents/
Parametrlər
status İmkansız Vəziyyətə görə filtrlə: davam edir, həll olunub
monitor İmkansız Monitor ID-si ilə filtrlə

Hadisə

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

Xəbərdarlıqlar

Monitorunuz üçün xəbərdarlıq bildirişlərini qur

Xəbərdarlıqlar

GET /api/v1/alerts/

Xəbərdarlığı Yarat

POST /api/v1/alerts/
Parametrlər
monitor Gərəklidir Monitor ID
alert_type Gərəklidir Bu dəyərlərdən biri: email, sms, slack, discord, webhook, pagerduty, teams
recipients Gərəklidir Alıcı ünvanları ya da webhook URL-ləri
alert_on_down İmkansız Sayt çökdükdə xəbərdar et (öncəki: doğru)
alert_on_recovery İmkansız Sayt bərpa edildikdə xəbər ver (öncəki: doğru)

Xəbərdarlığı Yenilə

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

Delete Alert

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

Vəziyyət səhifələri

Əsas status səhifələrini yaradın və idarə edin.

Vəziyyət səhifələri siyahısı

GET /api/v1/status-pages/

Vəziyyət səhifəsini yarat

POST /api/v1/status-pages/
Parametrlər
title Gərəklidir Vəziyyət səhifəsinin başlığı
slug Gərəklidir URL slug (məsələn, my-status-page)
description İmkansız İzahat mətni
is_public İmkansız Əhaliyə çatan et (öncəki: doğru)

Qruplar

Qrup girişi və əməkdaşlığı idarə edin.

Qrupları Siyahısı

GET /api/v1/teams/

Qrup Yarat

POST /api/v1/teams/

Qrup

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

Kod nümunələri

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}'

Başlamağa hazırsan?

Pulsuz qeydiyyatdan keçin və birləşdirməyə başlamaq üçün API tokeninizi alın.

Pulsuz Qeydiyyatdan Keçin API Tokenini Al