Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації щодо оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

aerialalertsapi

Це стара версія документу!


API Повітряних тривог

От таке от актуальне на даний час REST API, повітряних тривог на території України. Аби довго не гратись та не розбирати потім купу складних структур даних, було прийнято рішення проксювати існуючі розрізнені джерела даних і звести їх до якогось одного уніфікованого та компактного формату. Також в такій важливій справі, хочеться трішки редандансі й мінімізувати навантаження на оригінальні джерела даних, аби пересічні розробники мали можливість просто та елегантно нотифікувати користувачів, про те, що їм намагаються принести “русскій мір”.

Тому ось, маєте, можете користуватись:

https://ubilling.net.ua/aerialalerts/

ну або напряму без SSL:

http://ubilling.net.ua/aerialalerts/

Наразі таймаут кешування сирих даних з боку нашої імплементації - 3 секунди.
На жаль, враховуючи неадекватність окремих мавпочок, які не можуть як в програмування так і в здоровий глузд, швидкість звернень до API було лімітовано на межі 2 rps (два запити на секунду) для кожного хоста, з 2024-02-13. У випадку перевищення цього ліміту (а, що курва мало б змінитись частіше ніж двічі на секунду?!) ви отримаєте http error 429.

Формат відповідей у вигляді JSON простий, наскільки це можливо:

У випадку, якщо ви знаходитесь під дією важких наркотиків, вам може захотітись, отримувати дані в форматі XML. Чомусь… Робиться це за допомогою передачі додаткового GET параметру xml, власне так:

https://ubilling.net.ua/aerialalerts/?xml=true

Як користуватись?

Наочний приклад, як це можна використовувати на практиці:

    $aerialAlertsApi = new OmaeUrl('http://ubilling.net.ua/aerialalerts/');
    $rawJson = $aerialAlertsApi->response();
    $alertsData = json_decode($rawJson, true);
 
    if (isset($alertsData['states'])) {
        foreach ($alertsData['states'] as $eachStateName => $stateParams) {
            if ($stateParams['alertnow']) {
                show_error($eachStateName);
            } else {
                show_success($eachStateName);
            }
        }
    }

Джерела даних

Також ви можете явно вказати джерело, з якого бажаєте отримати дані, за допомогою GET параметру source власне якось так:

https://ubilling.net.ua/aerialalerts/?source=[джерело_даних]

Наразі підтримуються наступні джерела даних:

  • default (можна не вказувати взагалі) - за замовчуванням, те “яке живіше” (рекомендовано).
  • skog - локальне, Mørk Skogen.
  • klimenko - від Vadym Klymenko
  • jaam - з серверу даних JAAM
  • aiu - сервісу alerts.in.ua
  • ual - сервісу ukrainealarm.com

У випадку, якщо джерело явно не вказано - буде обрано найбільш живе ;)

УВАГА! У будь-якому випадку, не варто сприймати це API як стовідсотково надійне та надто на нього покладатись, використовуючи його для прийняття якихось важливих рішень. Чисто інформаційно-статистична штука загалом. Користуйтесь офіційними джерелами інформації!

Сирі дані

Також є можливість отримати сирі необроблені дані у форматі будь-якого джерела, передавши (можна порожній) GET параметр raw наприклад якось так:

https://ubilling.net.ua/aerialalerts/?source=skog&raw

чи якось так:

https://ubilling.net.ua/aerialalerts/?source=klimenko&raw

та отримати якийсь такий результат:

Варто зауважити, що дані буде повернуто в ключі raw замість states і вони будуть саме що сирими, та необробленими і не зведеними до якогось одного, уніфікованого формату. За для розуміння структури цих даних звертайтесь до документації відповідного джерела даних.

Тривожна мапа

А ще ви можете отримати +- актуальну тривожну мапу локацій де русня намагається нас вбити, за допомогою якогось отакого запиту:

https://ubilling.net.ua/aerialalerts/?map=true

Або ж отакою чудовою нічною:

https://ubilling.net.ua/aerialalerts/?map=nightmode

Хоча можливо вам більше сподобається червоно-чорний стиль:

https://ubilling.net.ua/aerialalerts/?map=rednight

Також ви можете отримати, за бажанням мапу в форматі WebP:

https://ubilling.net.ua/aerialalerts/?map=webp

Веб-тривожність

Також ви можете отримати веб-версію тривожності за допомогою необов'язкового (можна порожнього) GET параметру webalerts, якось так:

https://ubilling.net.ua/aerialalerts/?webalerts

що виглядатиме приблизно так

Посилання

aerialalertsapi.1773493745.txt.gz · Востаннє змінено: 2026/03/14 15:09 повз nightfly