API dokumentáció

Integrálja a EstaCaido alkalmazásokat

Kezdődjék a munka

A EstaCaido API lehetővé teszi a monitorok kezelését, a incidensek megtekintését, a riasztások beállítását és a saját kódból való beállítást. Minden API végpont a JSON-t használja a kérési és válaszszervek számára.

Alap URL

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

Arányhatárok

Minden API token lehet, hogy 100 kérések per perc. Kérések felett, hogy a limit kap egy 429 Too Many Requests válasz.

Hitelesítés

Használjon token alapú hitelesítést az összes API kéréshez. Az engedély fejlécében tartalmazza a tokent.

A hitelesítési token megszerzése

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

A jogosultsági fejlécben használt token

Authorization: Token your-api-token-here

Monitor

A webhely monitorjainak kezelése.

Listafigyelők

GET /api/v1/monitors/
Válasz
[
  {
    "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 létrehozása

POST /api/v1/monitors/
Paraméterek
name Szükséges A monitor neve
domain Szükséges A monitorhoz szükséges tartomány, például example.com
check_interval Opcionális Ellenőrizze a intervallum másodpercben, az egyik 30, 60, 300, 600, 900, 1800, 3600. Alapértelmezett: 300
check_type Opcionális Az egyik ilyen érték: http, https, ping. Alapértelmezett: https

A Monitor

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

Frissítés

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

Monitor törlése

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

Szünetfigyelő

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

A monitor újraindítása

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

Monitor statisztikák

GET /api/v1/monitors/{id}/statistics/
Paraméterek
days Opcionális A napszám tartalmazza. Alapértelmezett: 30

Eseti események

A leállási incidensek és a történelmük megtekintése.

Listaesemények

GET /api/v1/incidents/
Paraméterek
status Opcionális Szűrés állapot szerint: folyamatban, megoldva
monitor Opcionális Szűrés monitorazonosítóval

A jelenet

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

Riadóztatások

A monitorok riasztási értesítéseinek beállítása.

Listariasztások

GET /api/v1/alerts/

Riadó létrehozása

POST /api/v1/alerts/
Paraméterek
monitor Szükséges Monitorazonosító
alert_type Szükséges Az egyik ilyen érték: email, sms, slack, discord, webhook, pagerduty, teams
recipients Szükséges Címzett címek vagy webhook URL-ek
alert_on_down Opcionális Értesítés a webhely leállásáról (alapértelmezett: true)
alert_on_recovery Opcionális Értesítés, ha a webhely visszaáll (alapértelmezett: true)

Frissítési figyelmeztetés

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

A figyelmeztető jelzés törlése

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

Állapotoldalak

Hozzon létre és kezelje a nyilvános állapot oldalakat.

A státuszoldalak listája

GET /api/v1/status-pages/

Állap létrehozása

POST /api/v1/status-pages/
Paraméterek
title Szükséges Az állapotoldal címe
slug Szükséges URL-csökkenő (pl. az én-status oldalam)
description Opcionális Leírás
is_public Opcionális Nyilvános hozzáférés biztosítása (alapértelmezett: true)

Csapatok

A csapat hozzáférésének és együttműködésének kezelése.

Listacsapatok

GET /api/v1/teams/

Csapat létrehozása

POST /api/v1/teams/

Csapatot szerezni

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

Kód Példák

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

Készen állsz?

Jelentkezzen ingyen, és vegye fel az API tokent, hogy elkezdje integrálni.

Regisztrálj ingyenesen API- token