uptime Uptime: история доступности сайта
Отдаёт историю доступности сайта проекта: процент проверок с кодом ответа 200 по часам или по дням. Отдельное поле показывает, что сайт заблокировал бота Пиксель Тулс, — так фильтрация трафика отличается от реального падения сайта. Метод синхронный: данные берутся из уже собранной истории и считаются на лету.
- Адрес
/projects/api/v1/uptime/get- Режим
- синхронный
- Лимиты
- вызов не тратит; сбор аптайма — ~2 057 лимитов за 30 дней на проект
- Глубина
- до 90 дней
История доступности
/projects/api/v1/uptime/get
Массив интервалов за выбранный период: в каждом — процент успешных проверок и признак блокировки бота. Интервалы идут подряд без пропусков, включая те, где проверок не было.
Параметры query
-
tokenstring обязательныйКлюч API из настроек аккаунта — тот же, чтоkeyу методов инструментов. -
project_idint обязательныйID проекта. Виден в адресе страницы проекта и в ответе projects/get. -
periodstringПериод выборки и шаг интервала.
Ответ
-
result[].datestringНачало интервала: час (ГГГГ-ММ-ДД ЧЧ:00) дляday, дата для остальных периодов. -
result[].percentfloat|nullДоля проверок с кодом 200 за интервал, от 0 до 100.null— проверок не было. -
result[].bot_blockedbool|nullСайт ответил боту кодом 403 или 429 хотя бы на одной проверке за интервал.null— проверок не было.
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
50 |
access error |
Токен не передан, не найден, или у его владельца нет доступа к проекту. |
51 |
wrong project id |
Проекта с таким project_id нет. |
52 |
wrong request data |
Недопустимое значение period. Список допустимых приходит в result.message. |
bot_blocked — блокировка бота
Сайт может отвечать браузеру и роботу по-разному: фильтр трафика или WAF пропускает посетителя и отдаёт ошибку боту. Тогда percent равен нулю, хотя сайт работает. bot_blocked отделяет этот случай от настоящего падения.
| Значение | Что произошло | Что показывать |
|---|---|---|
true | Сайт ответил боту кодом 403 или 429 хотя бы на одной проверке за интервал. | Не «сайт лежал», а «сайт блокирует бота» со ссылкой на инструкцию. |
false | Блокировки не было: сайт отвечал нормально или был недоступен по другой причине. | Обычный процент доступности. |
null | За интервал не было ни одной проверки; percent тоже null. | Прочерк, а не ноль. |
Таймаут, 500, 502, 503 и прочие ошибки сервера блокировкой не считаются и дают false: сайт не работает, а не фильтрует робота. Признак ставится только по кодам 403 и 429.
Если bot_blocked равен true, владельцу сайта нужно добавить IP-адреса и User-Agent Пиксель Тулс в исключения фильтра. До этого аптайм по проекту будет нулевым, хотя посетителям сайт доступен.
Ограничения
- Проверки идут только по проектам, где включена техпроверка «Общие показатели» и заполнено главное зеркало. Если проверок нет вообще, метод вернёт интервалы с
percent: null. - Проект проверяется примерно раз в 21 минуту — около трёх раз в час. Поэтому для
period=dayпроцент в часе принимает значения вида 0, 33.33, 66.67 и 100. - История хранится 90 дней, старые записи удаляются — отсюда максимальная глубина
quarter. - Поля
dateиpercentне менялись при добавленииbot_blocked— старые интеграции работают без правок.
Метод принимает GET и POST, но параметры читаются из query-строки. HTTP-код всегда 200: успех и ошибка различаются полями status и code.