Мосты СПб: API

API для получения информации о текущем состоянии мостов.

API предоставляет информацию о том, в каком состоянии находится мост, метку времени, когда мост принял это состояние, метку времени последнего проанализированного кадра, а также кадры c вебкамер, соответствующие этим двум меткам времени.

Disclaimer

API работает поверх общедоступных вебкамер, которые имеют свойство становиться недоступными в непредсказуемые моменты времени и иметь непредсказуемые сроки ремонта. Источники данных и инфраструктура анализа данных не задублирована. Анализ изображений сделан «на коленке», за устареванием модели никто не следит, качество анализа может внезапно упасть.

Бот старается — но ничего не гарантирует и не обещает.

Формат данных

Документ /bridge_state.json содержит данные со всех анализируемых вебкамер. Документ обновляется в ночное время раз в несколько секунд.

Поля в документе имеют следующий смысл:

bridge_id
Идентификатор моста. Может совпадать в нескольких документах, если на мост смотрит несколько камер.
source_id
Идентификатор вебкамеры, которая направлена на мост.
source_name
Имя «владельца» вебкамеры, на которое стоит ссылаться при публикации информации с камеры.
source_url
URL веб-страницы, где можно узнать подробнее про конкретную вебкамеру. Например, на вебкамеру можно ссылаться как <a href="{{source_url}}">{{source_name}}</a>.
verdict_current
Последнее состояние моста, в котором распознавание бота достаточно уверено. Может принимать значения "UP", "DOWN" и null. Значение null означает, что у бота нет уверенности про определённое состояние по различным причинам: мост находится в движении, веб-камера недоступна и т.п.
verdict_current_mtime
Время в формате UNIX time, соответствующее последнему полученному изображению моста (image_current). Может принимать значение null, если бот некоторое время не получал изображения с камеры.
verdict_good
Последнее «хорошее» состояние моста, в котором распознавание бота было уверено. Может принимать значения "UP", "DOWN" и null. Значение null означает, что бот был недавно перезагружен и не вынес ещё ни одного вердикта о состоянии моста.
verdict_good_beginning
Время в формате UNIX time, соответствующее изображению моста в момент смены «хорошего» вердикта (image_good), т.е. в момент сводки, разводки или перезагрузки бота. Может принимать значение null одновременно с verdict_good.
verdict_good_mtime
Время в формате UNIX time, соответствующее последнему «хорошему» изображению моста (image_current). Это поле отличается от verdict_current_mtime только в тот момент, когда verdict_current принимает значение null.
image_current
Ссылка на последний полученный ботом кадр с вебкамеры. Для получения изображения нужно не забыть добавить параметр token.
image_good
Ссылка на кадр с вебкамеры, который был последним в момент смены «хорошего» вердикта. Для получения изображения нужно не забыть добавить параметр token.

Доступ к API

Документ /bridge_state.json и публикуемые кадры с вебкамеры доступны по URL https://spbbridge-api.darkk.net.ru/bridge_state.json?token=<token>. Для разработки можно использовать токен test, если API планируется опрашивать регулярно в каком-то «живом» процессе, стоит запросить отдельный токен, написав письмо на leon@darkk.net.ru, доступ предоставляется бесплатно, но использование отдельного токена позволит уведомлять о изменениях API и наборе предоставляемых данных.

Пользователи API

GaM из пин-микса использует данные в OsMo группе Мосты СПб на карте.

Прямой эфир использует API через CORS.