Skip to content

Интеграции: разработка или настройка?

Если у вас уже работает система эксплуатации, историзатор АСУЗ или мониторинг инженерных систем и вы хотите, чтобы эти данные появились на графе здания, — в большинстве случаев это настройка, а не проект разработки.

Весь этот раздел написан для такого читателя: для того, кто не пишет модуль и не собирается. (Если всё-таки собираетесь — вам в Начало работы.)

Три уровня и чего каждый реально стоит

Что вы делаетеКто делаетТрудоёмкость
1. Отправлять данные по HTTPВаша система шлёт значения с идентификатором помещения на один эндпоинт. Без SDK, без пакетов, без модуля.Тот, кто сопровождает исходную системуЧасы. Один эндпоинт, одна форма payload.
2. No-code конструктор сценариевСобираете сценарий в n8n с нашими нодами Building OS: расписание, повторы, преобразования, ветвления — всё в интерфейсе.Инженер эксплуатацииЧасы, и ни строки кода.
3. Свой модуль на SDKТолько когда нужен свой экран внутри платформы и своя логика за ним.Команда разработкиДни плюс релизный цикл.

Типовой случай — уровень 1. «Наши заявки и показания датчиков должны быть на плане и раскрашивать помещения» — это один эндпоинт на каждый набор данных. Платформенный код не пишет никто: ни вы, ни мы.

Уровень 3 существует потому, что некоторые партнёры действительно хотят своего продуктового интерфейса внутри Building OS. Это не входной билет для того, чтобы передать данные.

Какой уровень нужен вам

  • «Хочу, чтобы статус аренды / занятость / CO₂ по помещениям раскрашивали план»уровень 1, Данные в двойник.
  • «Мониторинг инженерных систем передаёт давление и температуру, хочу видеть их вживую на двойнике»уровень 1 (телеметрия), та же страница.
  • «То же самое, но без крон-задач и логики повторов»уровень 2, тот же контракт, но из n8n. (Показания могут приходить и по MQTT — см. Данные в двойник.)
  • «Когда заявка меняет статус у вас, наша система должна об этом узнать»Данные из двойника — прочитайте до проектирования: наружу сегодня отдаётся меньше, чем принимается внутрь, и там прямо сказано, где границы.
  • «Заявки должны жить в обеих системах и не расходиться»В обе стороны: это в первую очередь про то, чья запись главная, и решить это надо до кода.
  • «Хочу своё рабочее место со своими экранами внутри Building OS»уровень 3: Ваш первый модуль.

Как выглядит «один эндпоинт»

Слой данных — это одно значение на помещение поверх графа здания. Слой создаётся один раз, значения загружаются сколько угодно раз:

bash
# 1. Создать слой (однократно)
curl -X POST "$TV_API/api/v1/buildings/$BUILDING_ID/data-layers" \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{"key":"fm-open-tickets","name":"Открытые заявки","valueType":"NUMBER"}'

# 2. Загрузить значения (сколько угодно раз) — ключи это идентификаторы помещений
curl -X PUT "$TV_API/api/v1/buildings/$BUILDING_ID/data-layers/$LAYER_ID/values" \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{"keyBy":"externalId","values":{"3lPQxG$0v9zRZ1mB7kYtE2":4,"1aBcDe$FgHiJkLmNoPqRs":0}}'

Это вся интеграция для слоя «сколько открытых заявок в помещении». Полный контракт — типы значений, ограничения на пакетную загрузку, что возвращается — на странице Данные в двойник.

Где проходит граница

Делаем мыДелаете вы
Граф здания: помещения, этажи, оборудование и их идентификаторы.Решаете, какая ваша запись какому помещению соответствует.
Эндпоинты, их авторизацию, валидацию и хранение.Вызываете их — по своему расписанию, из своей системы.
Отрисовку слоя на 2D-плане и на BIM-модели.Выбираете тип значения и (по желанию) легенду.
Выдаём креденшлы и песочницу.Храните креденшлы в своём менеджере секретов.

Чтобы добавить слой, не нужен наш инженер на созвоне и не нужно ждать релиза платформы. Как только у вас есть креденшл и buildingId, всё описанное в этом разделе вам доступно.

В этом разделе

  • Данные в двойник — как передать данные внутрь: слои по помещениям и временные ряды с датчиков.
  • Данные из двойника — вебхуки, живой сокет и честный разбор того, что наружу пока не отдаётся.
  • В обе стороны — синхронизация заявок и выбор главной системы.
  • Идентификаторы — как строка из вашей базы находит нужное помещение. Именно здесь интеграции ломаются.
  • Получение доступа — креденшлы, песочница и то, что сегодня закрыто.

Создано на платформе Tango Vision. Вопросы? developers@tango.vision