Litokomane tsa API

Ho kenya EstaCaido ka li-application tsa hau

Ho qala

The EstaCaido API u lumella ho laola li-monitors tsa hau, ho bona liketsahalo, ho hlophisa li-alerts le ho feta ho tsoa ho kotloloho. Li-endpoints tsohle tsa API li sebelisa JSON bakeng sa li-bodies tsa kopo le likarabo.

URL ea sehlooho

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

Lipheo tsa ho kenya

Token ea API e ngoe le e ngoe e ka etsa ho fihlela ho lipotso tsa 100 ka metsotsoana. Lipotso tse ka holimo ho moeli ona li tla fumana karabo ea 429 Too Many Requests.

Bopaki

Senya ho nepahala ho nang le token bakeng sa lipotso tsohle tsa API. Tsebisa token ea hau ka ho le letona la ho lumellana.

Fumana Token ea Bopaki

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

Senya lengolo-tsoibila la ho amohela

Authorization: Token your-api-token-here

Li-monitors

Hlahloba sebaka sa hau sa marang-rang.

Li-Monitor tsa _Litšoantšo

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

Etsa Monitor

POST /api/v1/monitors/
Liparametara
name E hlokahala Lebitso la monitor
domain E hlokahala Domain e tla hlahlojoa, mohlala example.com
check_interval E ka ba teng Nako e ka tlase ho metsotsoana e ka tlas'a ho hlahloba, e le 'ngoe ea 30, 60, 300, 600, 900, 1800, 3600. E tloaelehang: 300
check_type E ka ba teng E 'ngoe ea litheko tsena: http, https, ping. Dipheto: https

Fumana Monitor

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

Motsamaisi oa ho nchafatsa

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

Ho tlosa Monitor

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

Monitor ea _Litšoantšo

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

Qhobosha Monitor

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

Fumana lipalo-palo tsa Monitor

GET /api/v1/monitors/{id}/statistics/
Liparametara
days E ka ba teng Libeke tse ka sehloohong tse lokelang ho kenyelletsoa. Bofela: 30

Liketsahalo

Bona liketsahalo tsa nako e sa sebetsaneng le histori ea tsona.

Liketsahalo tsa _lihlopha

GET /api/v1/incidents/
Liparametara
status E ka ba teng Sula ka boemo: e tsoelang pele, e rarolla
monitor E ka ba teng Sula ka ID ea monitor

Fumana se etsahalang

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

Litlhaku

Qwalasela li-notification tsa ho tšoaea li-monitors tsa hau.

Litlhaku

GET /api/v1/alerts/

E_ra

POST /api/v1/alerts/
Liparametara
monitor E hlokahala Monitor ID
alert_type E hlokahala E 'ngoe ea litheko tsena: email, sms, slack, discord, webhook, pagerduty, teams
recipients E hlokahala Direkoto tsa mokha oa mokha oa mokha oa mokha
alert_on_down E ka ba teng Tsebisa ha sebaka se phutha (ho tloaelehile: 'nete)
alert_on_recovery E ka ba teng Tsebisa ha sebaka se khutlela morao (e tloaelehang: 'nete)

Ho nchafatsa tšoaetso

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

_Tš'oara

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

Lihlooho

E etsa le ho laola lihlooho tsa boemo ba sechaba.

Li-Pages tsa Tlhokomelo ea Lintlha

GET /api/v1/status-pages/

E_ra leqepheng la boemo

POST /api/v1/status-pages/
Liparametara
title E hlokahala Sehlooho sa leqephe la boemo
slug E hlokahala URL slug (e.g. my-status-page)
description E ka ba teng Tlhaloso ea mongolo
is_public E ka ba teng E etsa hore e fumaneha ka ho feletseng (e tloaelehang: 'nete)

Lihlopha

Hlahloba ho kena le ho sebetsana le sehlopha.

Lihlopha

GET /api/v1/teams/

E_ra

POST /api/v1/teams/

Fumana _Tšebeletso

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

Litšoantšo tsa Kode

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

U loketse ho qala?

Ho kenya le ho fumana API token ea hau ho qala ho hokahanya.

Ngodisa Mahala Fumana Token ea API