Головна › Налаштування об'єкта › Фото об'єкта

4 Фото об'єкта

Завантажте фото інтер'єру та екстер'єру вашого об'єкта для створення візуальної галереї.

Навіщо додавати фото?

Фотографії об'єкта необхідні для документування стану вашої орендної нерухомості. Вони є візуальними записами як для орендодавців, так і для орендарів.

Переваги

  • Документування стану об'єкта до та після заселення/виселення
  • Візуальна галерея для потенційних орендарів
  • Безпечне хмарне зберігання ваших фото
  • Окремі категорії для фото інтер'єру та екстер'єру

Як додати фото

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

У веб-інтерфейсі: відкрийте сторінку об'єкта, потім натисніть "Фото / Відео" у меню об'єкта, щоб відкрити медіа-галерею.

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

Типи медіа

Кожне фото або відео належить до одного з п'яти типів медіа. Використовуйте відповідний тип для правильної організації.

PHOTO_INTERIOR Кімнати, кухня, ванна
PHOTO_EXTERIOR Будівля, двір, паркінг
VIDEO_INTERIOR Відео-тур інтер'єру (YouTube)
VIDEO_EXTERIOR Відео-тур екстер'єру (YouTube)
PHOTO_OTHER Інше (документи, чеки тощо)

Вимоги до завантаження

Формати JPG, PNG, WEBP
Макс. розмір 10 MB
Зберігання Безпечна хмара
Відео Тільки URL YouTube (вбудовані)

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

Ви можете керувати медіа об'єкта через REST API. Фото завантажуються як контент у кодуванні base64.

POST Завантажити фото

▶

Завантажте фото, надіславши вміст файлу як рядок у кодуванні base64. Вкажіть тип документа для категоризації фото.

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

Заголовки:

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

Обов'язкові поля:

document_type_id ID типу документа (6, 7, 10...)
file_content Вміст файлу в кодуванні base64
file_name Оригінальне ім'я файлу з розширенням
mime_type MIME тип (image/webp, image/jpeg...)

Необов'язкові поля:

comment Опис або коментар до фото

Тіло запиту:

{ "document_type_id": 6, "file_content": "base64-encoded-file-content...", "file_name": "living-room.webp", "mime_type": "image/webp", "comment": "Living room photo" }
ID типів документів: 6 = PHOTO_INTERIOR, 7 = PHOTO_EXTERIOR, 10 = PHOTO_OTHER. Використовуйте GET /api/document-types для повного списку.

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

{ "message": "Document uploaded successfully", "data": { "id": 45, "property_id": "019a1b2c-3d4e-7f5a-8b9c-0123456789ab", "document_type": { "id": 6, "code": "PHOTO_INTERIOR", "name_key": "document_type.photo_interior" }, "file_url": "https://landlordkeeper.com/file/cG1mOjQ1OjA6...", "original_name": "living-room.webp", "file_size": 125000, "file_size_formatted": "122.07 KB", "mime_type": "image/webp", "extension": "webp", "is_image": true, "is_video": false, "is_pdf": false, "comment": "Living room photo", "created_at": "2026-02-20T12:00:00+00:00" } }

GET Список медіа об'єкта

▶

Отримати всі документи об'єкта. Використовуйте фільтр type_id для показу тільки певних типів медіа.

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

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

type_id Фільтр за ID типу документа (наприклад, 6 для фото інтер'єру)

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

{ "data": [ { "id": 45, "property_id": "019a1b2c-3d4e-7f5a-8b9c-0123456789ab", "document_type": {"id": 6, "code": "PHOTO_INTERIOR"}, "file_url": "https://landlordkeeper.com/file/cG1mOjQ1OjA6...", "original_name": "living-room.webp", "file_size": 125000, "is_image": true, "comment": "Living room photo", "created_at": "2026-02-20T12:00:00+00:00" } ], "total": 3, "stats": { "total_count": 3, "total_size": 375000, "total_size_formatted": "366.21 KB" } }

GET Отримати типи документів

▶

Отримати список усіх доступних типів документів з їх ID, дозволеними розширеннями та обмеженнями розміру.

GET /api/v1/document-types

Цей ендпоінт не потребує автентифікації.

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

{ "data": [ {"id": 6, "code": "PHOTO_INTERIOR", "allowed_extensions": "jpg,jpeg,png,webp", "max_size_mb": 10}, {"id": 7, "code": "PHOTO_EXTERIOR", "allowed_extensions": "jpg,jpeg,png,webp", "max_size_mb": 10}, {"id": 8, "code": "VIDEO_INTERIOR", "allowed_extensions": "mp4,webm", "max_size_mb": 50}, {"id": 9, "code": "VIDEO_EXTERIOR", "allowed_extensions": "mp4,webm", "max_size_mb": 50}, {"id": 10, "code": "PHOTO_OTHER", "allowed_extensions": "jpg,jpeg,png,webp", "max_size_mb": 10} ] }

Приклади cURL:

curl https://landlordkeeper.com/api/v1/document-types

DELETE Видалити фото

▶

Видалити документ за його ID. Файл і запис у базі даних остаточно видаляються.

DELETE /api/v1/documents/{documentId}

Використовуйте ID документа з відповіді на запит списку (GET) або завантаження (POST).

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

{"message": "Document deleted successfully"}

Приклади cURL

▶

1. Завантажити фото

curl -X POST https://landlordkeeper.com/api/v1/properties/019a1b2c-3d4e-7f5a-8b9c-0123456789ab/documents \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_TOKEN_HERE" \ -d '{ "document_type_id": 6, "file_content": "'$(base64 -w 0 photo.webp)'", "file_name": "living-room.webp", "mime_type": "image/webp", "comment": "Living room" }'

2. Список медіа об'єкта

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

3. Видалити фото

curl -X DELETE https://landlordkeeper.com/api/v1/documents/45 \ -H "Authorization: Bearer YOUR_TOKEN_HERE"
Замініть YOUR_TOKEN_HERE на JWT-токен з кроку автентифікації.