Τεκμηρίωση API

Ενσωμάτωση EstaCaido με τις εφαρμογές σας

Αρχίζοντας

Το EstaCaido API σας επιτρέπει να διαχειριστείτε τις οθόνες σας, τα περιστατικά προβολής, ρυθμίστε ειδοποιήσεις και περισσότερα από τον δικό σας κώδικα.

URL βάσης

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

Όρια ποσοστών

Κάθε API μάρκα μπορεί να κάνει μέχρι 100 αιτήματα ανά λεπτό. Αιτήματα πάνω από αυτό το όριο πάρει μια απάντηση 429 Too Many Requests.

Ταυτοποίηση

Χρησιμοποιήστε την ταυτοποίηση βάσει του σήματος για όλα τα αιτήματα API. Συμπεριλάβετε το σημείο σας στην κεφαλίδα εξουσιοδότησης.

Αποκτήστε το Token ταυτοποίησης

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"
  }
]

Δημιουργία οθόνης

POST /api/v1/monitors/
Παράμετροι
name Απαιτείται Όνομα της οθόνης
domain Απαιτείται Τομέας για την παρακολούθηση, για παράδειγμα example.com
check_interval Προαιρετικό Έλεγχος διαστήματος σε δευτερόλεπτα, ένα από 30, 60, 300, 600, 900, 1800, 3600. Προκαθορισμένο: 300
check_type Προαιρετικό Μία από αυτές τις τιμές: http, https, ping. Προκαθορισμένο: https

Πάρτε Monitor

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 Προαιρετικό Φίλτρο με αναγνωριστικό παρακολούθησης

Πάρτε το Περιστατικό

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

Συναγερμοί

Ρύθμιση ειδοποιήσεων συναγερμού για τις οθόνες σας.

Κατάλογος ειδοποιήσεων

GET /api/v1/alerts/

Δημιουργία ειδοποίησης

POST /api/v1/alerts/
Παράμετροι
monitor Απαιτείται Ταυτότητα παρακολούθησης
alert_type Απαιτείται Μία από αυτές τις τιμές: email, sms, slack, discord, webhook, pagerduty, teams
recipients Απαιτείται Διεύθυνση παραλήπτη ή URL webhook
alert_on_down Προαιρετικό Ειδοποιήστε πότε κατεβαίνει η τοποθεσία (προεπιλογή: αληθινό)
alert_on_recovery Προαιρετικό Ειδοποιήστε πότε ανακτά το site (προεπιλογή: true)

Ενημέρωση ειδοποίησης

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

Διαγραφή ειδοποίησης

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

Σελίδες κατάστασης

Δημιουργία και διαχείριση σελίδων δημόσιας κατάστασης.

Κατάλογος σελίδων κατάστασης

GET /api/v1/status-pages/

Δημιουργία σελίδας κατάστασης

POST /api/v1/status-pages/
Παράμετροι
title Απαιτείται Τίτλος της σελίδας κατάστασης
slug Απαιτείται URL γυμνοσάλιαγκας (π.χ., 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 σας σημείο για να αρχίσετε την ενσωμάτωση.

Εγγραφείτε δωρεάν Πάρτε API Token