مستندات API

یکپارچه‌سازی EstaCaido با برنامه‌های کاربردی شما

شروع

API EstaCaido به شما اجازه می‌دهد تا مانیتورهای خود را مدیریت کنید، رویدادها را مشاهده کنید، هشدارها را پیکربندی کنید و از کد خود استفاده کنید.

نشانی وب پایه

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

محدودیتهای نرخ

هر نشان API می‌تواند تا درخواست‌های 100 در دقیقه را ایجاد کند. درخواست‌های بالاتر از این حد پاسخ 429 Too Many Requests دریافت می‌کنند.

احراز هویت

استفاده از احراز هویت مبتنی بر نشانه برای همۀ درخواستهای API. نشانۀ خود را در سرآیند احراز هویت شامل کنید.

دریافت نشانۀ احراز هویت

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

دریافت مانیتور

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 لازم نشانیهای گیرنده یا نشانیهای وب
alert_on_down گزینشی هنگامی که سایت از کار می‌افتد ، هشدار دهید) پیش‌فرض: درست (
alert_on_recovery گزینشی هنگام بازیابی سایت ، اطلاع‌دهی) پیش‌فرض: درست (

هشدار به‌روزرسانی

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

حذف هشدار

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

صفحات وضعیت

ایجاد و مدیریت صفحات وضعیت عمومی.

فهرست صفحات وضعیت

GET /api/v1/status-pages/

ایجاد صفحه وضعیت

POST /api/v1/status-pages/
پارامترها
title لازم عنوان صفحۀ وضعیت
slug لازم سرآیند نشانی وب (مثلاً صفحه وضعیت من)
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