Перейти к основному содержимому

Документация

Полное руководство по настройке мониторинга сайтов с PingZen. Документация API, примеры кода и лучшие практики.

Аутентификация

Все API запросы требуют аутентификации. Вы можете использовать персональный API ключ (рекомендуется для интеграций) или JWT токен.

Рекомендуем API ключ (Рекомендуется)

Создайте персональный API ключ в меню профиля. Используйте заголовок X-API-Key:

curl -H "X-API-Key: YOUR_API_KEY" \
  https://pingzen.dev/api/v1/monitors

Чтобы создать API ключ: Нажмите на профиль → API ключи → Создать новый ключ

Диалог создания API ключа в PingZen

JWT токен

Для веб-приложений можно использовать JWT токены из эндпоинта /auth/login:

curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  https://pingzen.dev/api/v1/monitors

Эндпоинты

Полный список всех доступных API эндпоинтов

Примеры запросов

Детальные примеры с cURL

GET/api/v1/monitors

Список всех мониторов

curl -H "X-API-Key: YOUR_API_KEY" \
  https://pingzen.dev/api/v1/monitors?workspace_id=1
POST/api/v1/monitors

Создать новый монитор

curl -X POST https://pingzen.dev/api/v1/monitors \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "My Site", "url": "https://example.com", "protocol": "https", "workspace_id": 1, "interval_seconds": 60}'
GET/api/v1/monitors/:id

Получить детали монитора

curl -H "X-API-Key: YOUR_API_KEY" \
  https://pingzen.dev/api/v1/monitors/123
PUT/api/v1/monitors/:id

Обновить конфигурацию монитора

curl -X PUT https://pingzen.dev/api/v1/monitors/123 \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"interval_seconds": 30, "name": "Updated Name"}'
DELETE/api/v1/monitors/:id

Удалить монитор

curl -X DELETE https://pingzen.dev/api/v1/monitors/123 \
  -H "X-API-Key: YOUR_API_KEY"

Примеры кода

🐍 Пример на Python

import requests

# Get your API key from: Profile → API Keys → Create New Key
PINGZEN_API_KEY = "YOUR_API_KEY"
BASE_URL = "https://pingzen.dev/api/v1"

headers = {
    "X-API-Key": PINGZEN_API_KEY,
    "Content-Type": "application/json"
}

# Create a monitor
monitor_data = {
    "name": "My Website",
    "url": "https://example.com",
    "protocol": "https",
    "interval": 60  # seconds
}

response = requests.post(
    f"{BASE_URL}/monitors",
    headers=headers,
    json=monitor_data
)

print(response.json())

# Get all monitors
monitors = requests.get(
    f"{BASE_URL}/monitors",
    headers=headers
).json()

for monitor in monitors:
    print(f"{monitor['name']}: {monitor['status']}")

Пример на JavaScript

// Get your API key from: Profile → API Keys → Create New Key
const PINGZEN_API_KEY = 'pz_abc12345_...';
const BASE_URL = 'https://pingzen.dev/api/v1';

const headers = {
  'X-API-Key': PINGZEN_API_KEY,
  'Content-Type': 'application/json'
};

// Create a monitor
async function createMonitor() {
  const response = await fetch(`${BASE_URL}/monitors`, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({
      name: 'My Website',
      url: 'https://example.com',
      protocol: 'https',
      interval: 60
    })
  });

  const data = await response.json();
  console.log(data);
}

// Get all monitors
async function getMonitors() {
  const response = await fetch(`${BASE_URL}/monitors`, {
    headers: headers
  });

  const monitors = await response.json();
  monitors.forEach(monitor => {
    console.log(`${monitor.name}: ${monitor.status}`);
  });
}

createMonitor();
getMonitors();

OpenAPI и AI-агенты

PingZen предоставляет машиночитаемые спецификации для интеграции с AI-агентами и инструментами автоматизации.

Лимиты запросов

ПланЗапросов/ЧасПиковый лимит
Бесплатный100/час10/минуту

Частые вопросы

Какие протоколы можно мониторить?

PingZen поддерживает 19 протоколов: HTTP/HTTPS, WebSocket (WS/WSS), TCP, UDP, ICMP Ping, gRPC, DNS, WHOIS, SSL сертификаты, Email (SMTP/IMAP/POP3), FTP/FTPS, DNSBL и SafeBrowsing. Вы можете мониторить сайты, API, серверы, базы данных и любые сетевые сервисы.

Как быстро приходят оповещения?

Telegram оповещения доставляются в течение 1-2 секунд после обнаружения. Slack и Discord уведомления приходят практически мгновенно. Вы можете настроить несколько каналов оповещений для резервирования.

Можно ли организовать мониторы по проектам?

Да! PingZen поддерживает рабочие пространства, которые позволяют организовать мониторы по проектам, окружениям или командам. Каждое рабочее пространство может иметь свои настройки оповещений и участников.

Есть ли API для автоматизации?

Абсолютно. PingZen предоставляет полный REST API с OpenAPI документацией. Вы можете создавать, обновлять и удалять мониторы программно.

Как работают статус-страницы?

Статус-страницы — это публичные брендированные страницы, показывающие аптайм ваших сервисов. Вы можете использовать пользовательский домен (status.yourdomain.com), отображать статус в реальном времени и позволить клиентам подписаться на обновления.

Что происходит, если я достигну лимита мониторов?

Мы уведомим вас при приближении к лимиту. Вы можете приостановить некоторые мониторы или связаться с нами для увеличения лимита. Мы никогда не останавливаем мониторинг без предупреждения, обеспечивая защиту ваших критически важных сервисов.

Готовы перестать пропускать даунтаймы?

Присоединяйтесь к тысячам команд, которые доверяют PingZen. Настройка за 30 секунд.