Ҳужжатлар

EstaCaido'ни дастурларингиз билан интеграциялаш

Бошлаш

EstaCaido API сизга ўзингизнинг кодингиздан мониторингларни бошқариш, ҳодисаларни кўриш, огоҳлантиришларни созлаш ва бошқаларни имкон беради. Барча 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"
  }
]

Monitor yaratish

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

Огоҳлантиришлар

Мониторларингиз учун огоҳлантириш хабарларини созлаш.

Эълонлар рўйхати

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 Иловаий Сайт тикланганда хабар бериш (одатдаги: тўғри)

Огоҳлантиришни янгилаш

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 Иловаий Оммавий фойдаланишга тайёрлаш (одатдаги: тўғри)

Жамоалар

Жамоа кириш ва ҳамкорликни бошқаринг.

Жамоалар рўйхати

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 токенини олинг.

Ro'yxatdan o'tish Bepul API токенини олиш