Ulwazi-mbhalo lwe-API

Yenza i-EstaCaido ibe yisicelo sakho

Ukuqagela

I-EstaCaido API ikuvumela ukuthi uphatha izibonisi zakho, ubone izimo, umisele izixhumanisi nokuningi kusuka kukhodi yakho. Zonke izimo ze-API zisebenzisa i-JSON ukuze zicela futhi ziphendule izitho.

Isisekelo URL

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

Amaphesenti

I-API ngayinye ingakwenza kuze kube yi-100 izicelo ngomzuzu. Izicelo ezingaphezu kwalo mkhawulo zithola umlayezo we-429 Too Many Requests.

Ukuqinisekisa

Sebenzisa isiqiniseko esisekelwe ku-token kuzo zonke izicelo ze-API. Faka i-token yakho ku-Authorization header.

Thola isiqinisekiso

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

Sebenzisa i-token ku-Authorization header

Authorization: Token your-api-token-here

Amamonitors

Hlela amamonitors wewebhusayithi yakho.

Hlela i-Monitor

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

Dala i-Monitor

POST /api/v1/monitors/
Amapharamitha
name Kudingeka Igama lemboniso
domain Kudingeka Ikheli elidinga ukulihlola, isibonelo example.com
check_interval Okukhethwa kukho Khangela isikhala sesikhathi ngezisekondi, enye ye 30, 60, 300, 600, 900, 1800, 3600. Okuzenzakalelayo: 300
check_type Okukhethwa kukho Enye yalezi zimali: http, https, ping. Okuzenzakalelayo: https

Thola isibonisi

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

Ukuhlaziywa kweMonitha

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

Cima iMonitha

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

Misa isikhashana isibonisi

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

Qhubeka nokubuka

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

Thola izibalo zemonitor

GET /api/v1/monitors/{id}/statistics/
Amapharamitha
days Okukhethwa kukho Inani lamasonto okufaka. Okuzenzakalelayo: 30

Izimo

Bona izimo zokukhubazeka kanye nembali yazo.

Hlela izimo

GET /api/v1/incidents/
Amapharamitha
status Okukhethwa kukho Isihlungi ngesimo: siqhubeka, sixazululiwe
monitor Okukhethwa kukho Isihlungi ngokubonisi ID

Thola isigameko

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

Ulwaziso

Misa izixhumanisi zesikhashana zesibonisi sakho.

Uhlu lwezixhumanisi

GET /api/v1/alerts/

Dala isikhashana

POST /api/v1/alerts/
Amapharamitha
monitor Kudingeka Isibonisi ID
alert_type Kudingeka Enye yalezi zinkomba: email, sms, slack, discord, webhook, pagerduty, teams
recipients Kudingeka Ikheli le-imeyili noma i-webhook URLs lomsebenzisi
alert_on_down Okukhethwa kukho Isilumkiso uma ikhasi liwela phansi (isimiso: yiqiniso)
alert_on_recovery Okukhethwa kukho Isilumkiso uma ikhasi libuyela emuva (isiphutha: yiqiniso)

Ukuhlaziya isikhashana

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

Cima isikhashana

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

Amakhasi esimo

Dala futhi uphatha amakhasi esimo sasekhaya.

Hlela amakhasi esimo

GET /api/v1/status-pages/

Dala ikhasi lesimo

POST /api/v1/status-pages/
Amapharamitha
title Kudingeka Isihloko sekhasi lesimo
slug Kudingeka URL slug (isibonelo, ikhasi-lesimo-sami)
description Okukhethwa kukho Ubhalo wolwazi-mbhalo
is_public Okukhethwa kukho Yenza ukuba kufinyeleleke kwabanye (iphutha: yiqiniso)

Amaqembu

Ukulawula ukufinyelela kweqembu kanye nokusebenzelana.

Hlela amaqembu

GET /api/v1/teams/

Dala iqembu

POST /api/v1/teams/

Thola iqembu

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

Izinhlamvu zekhodi

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

Ukulungele ukuqala?

Ubhalise mahhala futhi uthole i-API token yakho ukuqala ukuxhuma.

Bhalisa Mahhala Thola i-API Token