Dokumentazzjoni tal-API

Jintegraw EstaCaido mal-applikazzjonijiet tiegħek

Bidu

L-API EstaCaido jippermettilek li jamministraw monitors tiegħek, tara inċidenti, jikkonfiguraw twissijiet u aktar mill-kodiċi tiegħek stess.L-endpoints API kollha jużaw JSON għall-korpi tal-talba u r-rispons.

URL bażiku

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

Limiti tar-rata

Kull token API jista' jagħmel sa talbiet 100 kull minuta. Talbiet fuq dak il-limitu jiksbu tweġiba 429 Too Many Requests.

Awtentikazzjoni

Uża awtentikazzjoni bbażata fuq token għat-talbiet kollha tal-API. Inkludi t-token tiegħek fl-intestatura tal-Awtorizzazzjoni.

Ikseb Token Awtentikazzjoni

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

Uża t-token fl-intestatura tal-Awtorizzazzjoni

Authorization: Token your-api-token-here

Monitors

Immaniġġja monitors websajt tiegħek.

Lista ta' Monitors

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

Oħloq Monitor

POST /api/v1/monitors/
Parametri
name Meħtieġa Isem għall-monitor
domain Meħtieġa Domain li għandu jiġi mmonitorjat, pereżempju example.com
check_interval Fakultattiv Iċċekkja l-intervall f'sekondi, wieħed mill-30, 60, 300, 600, 900, 1800, 3600. Default: 300
check_type Fakultattiv Wieħed minn dawn il-valuri: http, https, ping. Default: https

Ikseb Monitor

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

Monitoraġġ tal-Aġġornament

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

Ħassar Monitor

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

Monitoraġġ tal-Pawża

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

Monitoraġġ tar-Ritorn

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

Ikseb Monitor Statistika

GET /api/v1/monitors/{id}/statistics/
Parametri
days Fakultattiv Numru ta' ġranet li għandhom jiġu inklużi. Default: 30

Inċidenti

Ara inċidenti downtime u l-istorja tagħhom.

Lista ta’ Inċidenti

GET /api/v1/incidents/
Parametri
status Fakultattiv Iffiltra skont l-istatus: għaddejjin, solvuti
monitor Fakultattiv Iffiltra skont l-ID tal-monitor

Ikseb Inċident

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

Twissijiet

Konfigurat notifiki twissija għall-monitors tiegħek.

Lista ta' twissijiet

GET /api/v1/alerts/

Oħloq twissija

POST /api/v1/alerts/
Parametri
monitor Meħtieġa ID tal-Monitoraġġ
alert_type Meħtieġa Wieħed minn dawn il-valuri: email, sms, slack, discord, webhook, pagerduty, teams
recipients Meħtieġa Indirizzi tar-riċevituri jew URLs webhook
alert_on_down Fakultattiv Innotifika meta s-sit jinżel (default: true)
alert_on_recovery Fakultattiv Innotifika meta s-sit jirkupra (default: true)

Aġġornament tal-avviż

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

Ħassar Twissija

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

Paġni ta’ Status

Oħloq u jamministraw paġni status pubbliku.

Lista Paġni Status

GET /api/v1/status-pages/

Oħloq Paġna tal-Istatus

POST /api/v1/status-pages/
Parametri
title Meħtieġa Titolu għall-paġna tal-istatus
slug Meħtieġa URL slug (eż. my-status-page)
description Fakultattiv Test ta’ deskrizzjoni
is_public Fakultattiv Agħmel aċċessibbli għall-pubbliku (default: true)

Timijiet

Immaniġġja l-aċċess tat-tim u l-kollaborazzjoni.

Lista tat-Timijiet

GET /api/v1/teams/

Oħloq tim

POST /api/v1/teams/

Ikseb it-Tim

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

Eżempji ta’ Kodiċi

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

Lest biex tibda?

Irreġistra b'xejn u ħu t-token API tiegħek biex tibda tintegra.

Irreġistra B'Xejn Ikseb API Token