Головна › Налаштування об'єкта › Комунікації та доступи

6 Комунікації та доступи

Зберігайте всі дані підключень об'єкта: інтернет, ТБ, сигналізація, відеоспостереження, розумний дім — з обліковими даними, документами та датами дії.

Навіщо зберігати комунікації?

Кожен об'єкт має багато сервісів і підключень: інтернет, телефон, сигналізація, відеоспостереження, доступ до воріт, системи розумного дому. Зберігання всієї цієї інформації в одному місці економить час і запобігає плутанині — особливо коли ви керуєте кількома об'єктами або потрібно поділитися доступом з орендарями.

Що можна організувати

  • Дані WiFi та інтернет-провайдера
  • Доступ до сигналізації та відеоспостереження
  • Налаштування розумного дому та пульта воріт
  • Деталі ТВ та телефонного сервісу
  • Прикріплені договори та інструкції для кожного сервісу

Яку інформацію зберігати

Кожен запис комунікації може зберігати наступну інформацію:

communication_type_id Тип сервісу (обов'язковий)
login Ім'я облікового запису, SSID або логін
password Пароль або код доступу (зберігається зашифровано)
access_address URL, IP-адреса або посилання на веб-панель
information Нотатки у форматі HTML (провайдер, тариф тощо)
is_active Прапорець активний/неактивний
Про зберігання конфіденційних даних
Паролі зберігаються у зашифрованому вигляді та за замовчуванням приховані в інтерфейсі. Хоча ви можете використовувати поле пароля для кодів WiFi, PIN-кодів сигналізації та подібних даних доступу, ми рекомендуємо використовувати поле пароля лише для некритичних кодів. Для особливо важливих облікових даних розгляньте використання спеціалізованого менеджера паролів. Сервіс зберігає дані безпечно, але кожен користувач самостійно вирішує, яку інформацію зберігати.

Як додати комунікації

Ви можете додавати та керувати комунікаціями через веб-інтерфейс або через API.

У веб-інтерфейсі: відкрийте сторінку об'єкта, потім натисніть "Комунікації" у меню об'єкта.

Дивіться повну документацію у Бібліотеці: Комунікації.

Типи комунікацій

14 вбудованих типів охоплюють усі типові сервіси об'єкта. Використовуйте GET /api/communication-types для повного списку з ID.

WIFI WiFi мережа
INTERNET_FIBER Оптоволоконний інтернет
STARLINK Супутниковий інтернет Starlink
TV_IPTV / TV_SATELLITE Телебачення (IPTV / Супутник)
VIDEO_SURVEILLANCE Відеоспостереження (CCTV)
ALARM_SYSTEM Сигналізація / охоронна система
REMOTE_GATE Ворота / шлагбаум
SMART_HOME Система розумного дому
PHONE_WIRED / PHONE_WIRELESS Стаціонарний / мобільний телефон
OTHER_COMMUNICATION Будь-який інший сервіс

Прикріплені документи

До кожної комунікації можна прикріпити документи — договори, інструкції, рахунки. Спочатку завантажте документ до об'єкта (POST /api/properties/{id}/documents), потім прикріпіть його до комунікації за ID документа.

Приклади документів

  • Договір з інтернет-провайдером
  • Інструкція з монтажу сигналізації
  • Інструкція з налаштування додатку розумного дому
  • Інструкція з програмування пульта воріт

Для розробників: REST API

Керуйте комунікаціями об'єкта через REST API. Поле information підтримує HTML для форматування.

GET Отримати типи комунікацій

▶

Отримати список усіх доступних типів комунікацій з їх ID.

GET /api/v1/communication-types

Відповідь (200 OK):

{ "data": [ {"id": 1, "code": "WIFI", "name_key": "communication_type.wifi.name"}, {"id": 5, "code": "INTERNET_FIBER", "name_key": "communication_type.internet_fiber.name"}, {"id": 10, "code": "VIDEO_SURVEILLANCE", "name_key": "communication_type.video_surveillance.name"}, {"id": 11, "code": "ALARM_SYSTEM", "name_key": "communication_type.alarm_system.name"} ] }

POST Створити комунікацію

▶

Створити новий запис комунікації для об'єкта. Тільки communication_type_id обов'язковий, решта полів необов'язкові.

POST /api/v1/properties/{id}/communications

Заголовки:

Authorization: Bearer {token} Content-Type: application/json

Тіло запиту:

{ "communication_type_id": 1, "login": "MyNetwork", "password": "wifi-pass-2026", "access_address": "192.168.1.1", "information": "<p>Router: TP-Link Archer AX73</p><p>Provider: Kyivstar Fiber 500 Mbps</p>", "is_active": true }
Поле information приймає HTML. Використовуйте теги &lt;p&gt;, &lt;b&gt;, &lt;ul&gt;/&lt;li&gt; для структурованого вмісту.

Поле `information` підтримує HTML-форматування (таблиці, списки, заголовки, параграфи, посилання, вбудовані стилі). З міркувань безпеки весь HTML проходить санітизацію на сервері — скрипти, iframe, обробники подій та небезпечні атрибути автоматично видаляються.

Відповідь (201 Created):

{ "message": "Communication created successfully", "data": { "id": 1, "property_id": "019a1b2c-3d4e-7f5a-8b9c-0123456789ab", "communication_type": {"id": 1, "code": "WIFI"}, "login": "MyNetwork", "password_set": true, "access_address": "192.168.1.1", "is_active": true, "documents_count": 0 } }

GET Список комунікацій

▶

Отримати всі комунікації об'єкта.

GET /api/v1/properties/{id}/communications

Параметри запиту:

active_only Показати тільки активні комунікації (true/false)

Відповідь (200 OK):

{ "data": [ { "id": 1, "communication_type": {"id": 1, "code": "WIFI"}, "login": "MyNetwork", "password_set": true, "access_address": "192.168.1.1", "is_active": true, "is_currently_active": true, "documents_count": 1 } ], "total": 5 }

PUT Оновити комунікацію

▶

Оновити будь-які поля комунікації. Надсилайте тільки ті поля, які хочете змінити.

PUT /api/v1/communications/{communicationId}

Доступні поля (надсилайте лише ті, які хочете змінити):

login string | null
password string | null
access_address string | null
information string (HTML) | null
is_active boolean

Тіло запиту:

{ "login": "NewNetwork_5G", "password": "new-wifi-pass-2026", "access_address": "192.168.1.1", "information": "<h3>Updated Router Info</h3><p>Speed: 1 Gbps</p>", "is_active": true }
Використовуйте ID комунікації з відповіді на запит списку (GET) або створення (POST).

Поле `information` підтримує HTML-форматування (таблиці, списки, заголовки, параграфи, посилання, вбудовані стилі). З міркувань безпеки весь HTML проходить санітизацію на сервері — скрипти, iframe, обробники подій та небезпечні атрибути автоматично видаляються.

POST Прикріпити документ

▶

Прикріпити існуючий документ об'єкта до комунікації. Документ повинен належати тому ж об'єкту.

POST /api/v1/communications/{communicationId}/documents

Тіло запиту:

{ "document_id": 50, "comment": "Provider contract" }
Спочатку завантажте документ до об'єкта через POST /api/properties/{id}/documents, потім прикріпіть його тут за допомогою отриманого ID документа.

Відповідь (201 Created):

{ "message": "Document attached successfully", "data": { "link_id": 12, "document_id": 50, "comment": "Provider contract" } }

Від'єднати документ

DELETE /api/v1/communications/{communicationId}/documents/{documentId}

Видаляє зв'язок між комунікацією та документом. Сам документ не видаляється.

Приклади cURL

▶

1. Створити комунікацію

curl -X POST https://landlordkeeper.com/api/v1/properties/019a1b2c-3d4e-7f5a-8b9c-0123456789ab/communications \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_TOKEN_HERE" \ -d '{ "communication_type_id": 1, "login": "MyNetwork", "password": "wifi-pass-2026", "access_address": "192.168.1.1", "is_active": true }'

2. Список комунікацій

curl https://landlordkeeper.com/api/v1/properties/019a1b2c-3d4e-7f5a-8b9c-0123456789ab/communications \ -H "Authorization: Bearer YOUR_TOKEN_HERE"

3. Прикріпити документ

curl -X POST https://landlordkeeper.com/api/v1/communications/1/documents \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_TOKEN_HERE" \ -d '{ "document_id": 50, "comment": "Provider contract" }'
Замініть YOUR_TOKEN_HERE на JWT-токен з кроку автентифікації.