Найкоротший шлях — один запит
Для першої перевірки достатньо одного GET-запиту. Без ключа діє ліміт 60 зап/хв (300 зап/добу на IP); із безкоштовним ключем зареєстрованого розробника — 120 зап/хв (1 000 зап/добу).
curl -s https://map.megainet.art/api/alerts.phpУ відповіді: regions — стан усіх 25 областей, updated — час знімка, stale — прапорець застарівання джерела. Поле changed_ts містить Unix-час останньої зміни стану для розрахунку тривалості тривоги.
import json, urllib.request
req = urllib.request.Request(
"https://map.megainet.art/api/alerts.php",
headers={"X-API-Key": "ak_ваш_ключ"}
)
with urllib.request.urlopen(req, timeout=10) as r:
data = json.load(r)
for iso, region in data["regions"].items():
if region["alert"]:
print(iso, "— тривога з", region.get("changed_ts"))Як не опитувати щосекунди: вебхук замість опитування
Опитування раз на 15 секунд витрачає 5 760 запитів на добу заради десятка подій. Вебхук сам надсилає підписаний POST у секунду оголошення або відбою тривоги.
$ts = $_SERVER['HTTP_X_MAP_TIMESTAMP'] ?? '';
$sig = $_SERVER['HTTP_X_MAP_SIGNATURE'] ?? '';
$body = file_get_contents('php://input');
// Перевіряємо підпис ДО того, як щось зробимо з подією.
if (!hash_equals(hash_hmac('sha256', $ts . "\n" . $body, $SECRET), $sig)) {
http_response_code(401);
exit;
}
$event = json_decode($body, true); // alert.start | alert.endКожна доставка містить заголовки X-Map-Timestamp, X-Map-Signature (HMAC-SHA256 від «мітка \n тіло»), X-Map-Event і X-Map-Delivery. Перевіряйте підпис ДО обробки події.
Якщо ваш приймач не відповів 2xx за 8 секунд — ми повторимо доставку через 1, 5, 30 хвилин, 2 і 6 годин.
Де взяти історію та аналітику по областях
Скільки тривог оголошували за добу, які області провели під тривогою найбільше часу та погодинна теплова карта:
curl -s "https://map.megainet.art/api/history.php?hours=24"
curl -s "https://map.megainet.art/api/analytics.php?hours=168"Період задається параметром hours=24|48|168. Важлива архітектурна межа: координати повітряних цілей зберігаються 24 години, стрічка моніторів — 72 години. Тижнева вибірка повертає повну історію тривог по областях.
Скільки це коштує
Скільки це коштує
Ключ рівня Free (0 грн, до 1 000 запитів/добу) видається після реєстрації розробника з підтвердженням Email (1 ключ на акаунт) за умови активного посилання на map.megainet.art. Для комерційних проєктів, вебхуків і 24/7 опитування діє єдиний тариф Pro — 950 грн/міс (500 000 зап/добу).
Готовий клієнт та інтеграція
Потрібен готовий Python/Node-клієнт з перевіркою підпису вебхука або індивідуальний ліміт для вашої інфраструктури? Перевірте методи в пісочниці кабінету або напишіть на [email protected].