====== API Повітряних тривог ====== От таке от актуальне на даний час REST API, повітряних тривог на території України. Аби довго не гратись та не розбирати потім купу складних структур даних, було прийнято рішення проксювати існуючі розрізнені джерела даних і звести їх до якогось одного уніфікованого та компактного формату. Також в такій важливій справі, хочеться трішки редандансі й мінімізувати навантаження на оригінальні джерела даних, аби пересічні розробники мали можливість просто та елегантно нотифікувати користувачів, про те, що їм намагаються принести "русскій мір". Тому ось, маєте, можете користуватись: https://ubilling.net.ua/aerialalerts/ ну або напряму без SSL: http://ubilling.net.ua/aerialalerts/ Наразі таймаут кешування сирих даних з боку нашої імплементації - **3 секунди**.\\ На жаль, враховуючи неадекватність окремих мавпочок, які не можуть як в програмування так і в здоровий глузд, швидкість звернень до API було лімітовано на межі 2 rps (два запити на секунду) для кожного хоста, з 2024-02-13. Формат відповідей у вигляді JSON простий, наскільки це можливо: {{:aerialalertsapi0.png?nolink|}} У випадку, якщо ви знаходитесь під дією важких наркотиків, вам може захотітись, отримувати дані в форматі XML. Чомусь... Робиться це за допомогою передачі додаткового GET параметру **xml**, власне так: https://ubilling.net.ua/aerialalerts/?xml=true {{:aerialalertsxml.png?nolink|}} ====== Як користуватись? ====== Наочний приклад, як це можна використовувати на практиці: $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** - за замовчуванням, те "яке живіше". * **dunai** - від Andrew Dunai * **klimenko** - від Vadym Klymenko * **jaam** - з серверу даних JAAM У випадку, якщо джерело явно не вказано - буде обрано найбільш живе ;) У будь-якому випадку, не варто сприймати це API як стовідсотково надійне та надто на нього покладатись, використовуючи його для прийняття якихось важливих рішень. Чисто інформаційно-статистична штука загалом. Користуйтесь офіційними джерелами інформації! ====== Тривожна мапа ====== А ще ви можете отримати +- актуальну тривожну мапу локацій де русня намагається нас вбити, за допомогою якогось отакого запиту: https://ubilling.net.ua/aerialalerts/?map=true {{:aerialalertsmap.jpg|}} Або ж отакою чудовою нічною: https://ubilling.net.ua/aerialalerts/?map=nightmode {{:aerialalertsnightmodemap.png|}} Хоча можливо вам більше сподобається червоно-чорний стиль: https://ubilling.net.ua/aerialalerts/?map=rednight {{:aerialalertsrednightmap.png|}} Також ви можете отримати, за бажанням мапу в форматі WebP: https://ubilling.net.ua/aerialalerts/?map=webp ====== Посилання ====== * [[https://t.me/air_alert_ua|Telegram-канал "Повітряна Тривога"]] * [[https://vadimklimenko.com/map/|єМапа]] * [[https://alerts.com.ua/|Air Raid Alert]] * [[http://alerts.net.ua/|Сервер даних JAAM]] * [[https://t.me/DeTryvogaBot|Telegram-бот "Де тривога?" - @DeTryvogaBot]]