Documentare API

Integrați EstaCaido cu aplicațiile dumneavoastră

Începe

API EstaCaido vă permite să gestionaţi monitorele, să vizualizaţi incidentele, să configuraţi alertele şi mai multe din propriul cod. Toate punctele de vedere API folosesc JSON pentru solicitarea şi pentru corpul de răspuns.

URL de bază

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

Limita de rată

Fiecare token API poate face până la cereri 100 pe minut. Solicitări peste această limită obține un răspuns 429 Too Many Requests.

Autentificare

Folosește autentificația bazată pe token pentru toate cererile API. Includeți tokenul în antetul Autorizării.

Obține token de autenticare

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

Folosește tokenul în antetul Autorizării

Authorization: Token your-api-token-here

Monitorizări

Gestionați monitorele site-ului dumneavoastră.

Monitorizări listei

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

Creare Monitor

POST /api/v1/monitors/
Parametri
name Requis Numele monitorului
domain Requis Domeniu de monitorizare, de exemplu example.com
check_interval Opțional Check interval in seconds, one of 30, 60, 300, 600, 900, 1800, 3600. Default: 300
check_type Opțional Una dintre aceste valori: http, https, ping. Defect: https

Obține Monitor

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

Monitor de actualizare

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

Șterge monitorul

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

Monitor de pauză

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

Monitorul continuu

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

Obține statisticile monitor

GET /api/v1/monitors/{id}/statistics/
Parametri
days Opțional Number of days to include. Default: 30

Incidenți

Vedeţi incidentele de timp şi istoria lor.

Incidenți listați

GET /api/v1/incidents/
Parametri
status Opțional Filtrat după stare: în curs, rezolvat
monitor Opțional Filtrare prin ID monitor

Incident

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

Alerte

Configurați notificările de alertă pentru monitorii dumneavoastră.

Alerte listate

GET /api/v1/alerts/

Creează alertă

POST /api/v1/alerts/
Parametri
monitor Requis Monitorizare ID
alert_type Requis Una dintre aceste valori: email, sms, slack, discord, webhook, pagerduty, teams
recipients Requis Adrese destinatare sau URL webhook
alert_on_down Opțional Notificați când site-ul se îndepărtează (defect: adevărat)
alert_on_recovery Opțional Notificați când se recuperează locul (defect: true)

Alertă de actualizare

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

Șterge alertă

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

Pagini de stare

Creați și gestionați paginile de statut public.

Pagini de stare ale listei

GET /api/v1/status-pages/

Creează pagina de stare

POST /api/v1/status-pages/
Parametri
title Requis Titlu pentru pagina de stare
slug Requis URL slug (de exemplu, statul-meu-pagina)
description Opțional Descriere text
is_public Opțional Face accesibil public (defect: adevărat)

Echipe

Gestionează accesul și colaborarea echipei.

Echipe de listă

GET /api/v1/teams/

Creează echipa

POST /api/v1/teams/

Ia echipa

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

Exemple de cod

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

Gata să începi?

Inregistreaza-te gratis si obtine token API pentru a incepe integrarea.

Înregistrează-te gratuit Obține API Token