Strona główna › Konfiguracja nieruchomości › Dokumenty nieruchomości

5 Dokumenty nieruchomości

Dołączaj umowy, dokumentację techniczną, plany pięter i inne pliki do nieruchomości z kontrolą dostępu opartą na rolach.

Dlaczego warto dołączać dokumenty?

Dokumenty nieruchomości przechowują wszystkie ważne pliki w jednym miejscu — umowy, dokumentację techniczną, plany pięter, hasła i więcej.

Korzyści

  • Wszystkie pliki nieruchomości w jednym zorganizowanym miejscu
  • Widoczność oparta na rolach — kontroluj, kto widzi każdy dokument
  • Kategoryzacja według typu: umowy, dokumenty techniczne, plany, hasła
  • Bezpieczne przechowywanie w chmurze z dostępem przez podpisane URL

Jak dodać dokumenty

Możesz przesyłać dokumenty przez interfejs webowy lub przez API. Każdemu dokumentowi przypisywany jest typ i opcjonalnie można ograniczyć dostęp do określonych ról.

W interfejsie webowym: otwórz stronę nieruchomości, następnie kliknij "Dokumenty" w menu nieruchomości.

Zobacz pełną dokumentację w Bibliotece: Dokumenty nieruchomości.

Typy dokumentów

Każdy dokument należy do jednej z pięciu kategorii. Wybierz odpowiedni typ dla właściwej organizacji.

OFFICIAL_DOCUMENT Umowy, porozumienia, akty (PDF, DOC, maks 20 MB)
TECHNICAL_DOCUMENT Specyfikacje techniczne, rysunki (PDF, DWG, XLS, maks 50 MB)
INFORMATIONAL_DOCUMENT Instrukcje, notatki, notatki (PDF, TXT, maks 10 MB)
SCHEMA_IMAGE Plany pięter, schematy (JPG, PNG, PDF, maks 20 MB)
PASSWORD_FILE Kody dostępu, hasła WiFi (TXT, PDF, maks 1 MB)

Kontrola dostępu

Domyślnie dokumenty są widoczne dla wszystkich uczestników nieruchomości. Możesz ograniczyć widoczność do określonych ról. Właściciel i agent zawsze widzą wszystkie dokumenty.

PROPERTY_TENANT PROPERTY_TENANT_AGENT PROPERTY_MAINTENANCE
Pusty visible_to lub null oznacza, że dokument jest widoczny dla wszystkich. Ustaw konkretne role, aby ograniczyć dostęp.

Dla programistów: REST API

Możesz zarządzać dokumentami nieruchomości przez REST API. Pliki są przesyłane jako zawartość zakodowana w base64.

POST Prześlij dokument

▶

Prześlij dokument, wysyłając zawartość pliku jako zakodowany ciąg base64. Określ typ dokumentu, aby go skategoryzować.

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

Nagłówki:

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

Wymagane pola:

document_type_id ID typu dokumentu (1-5)
file_content Zawartość pliku zakodowana w base64
file_name Oryginalna nazwa pliku z rozszerzeniem
mime_type Typ MIME (application/pdf, image/png...)

Pola opcjonalne:

comment Opis lub komentarz do dokumentu

Treść żądania:

{ "document_type_id": 1, "file_content": "base64-encoded-file-content...", "file_name": "rental-agreement.pdf", "mime_type": "application/pdf", "comment": "Rental agreement 2026" }
ID typów dokumentów: 1 = OFFICIAL_DOCUMENT, 2 = TECHNICAL_DOCUMENT, 3 = INFORMATIONAL_DOCUMENT, 4 = SCHEMA_IMAGE, 5 = PASSWORD_FILE. Użyj GET /api/document-types, aby uzyskać pełną listę.

Odpowiedź (201 Created):

{ "message": "Document uploaded successfully", "data": { "id": 50, "property_id": "019a1b2c-3d4e-7f5a-8b9c-0123456789ab", "document_type": { "id": 1, "code": "OFFICIAL_DOCUMENT", "name_key": "document_type.official.name" }, "file_url": "https://landlordkeeper.com/file/cG1mOjUwOjA6...", "original_name": "rental-agreement.pdf", "file_size": 45678, "file_size_formatted": "44.61 KB", "mime_type": "application/pdf", "extension": "pdf", "is_image": false, "is_video": false, "is_pdf": true, "comment": "Rental agreement 2026", "visible_to_roles": null, "created_at": "2026-02-20T12:00:00+00:00" } }

GET Lista dokumentów

▶

Pobierz wszystkie dokumenty nieruchomości. Użyj filtra type_id, aby wyświetlić tylko określone typy.

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

Parametry zapytania:

type_id Filtruj po ID typu dokumentu (np. 1 dla dokumentów oficjalnych)

Odpowiedź (200 OK):

{ "data": [ { "id": 50, "property_id": "019a1b2c-3d4e-7f5a-8b9c-0123456789ab", "document_type": {"id": 1, "code": "OFFICIAL_DOCUMENT"}, "file_url": "https://landlordkeeper.com/file/cG1mOjUwOjA6...", "original_name": "rental-agreement.pdf", "file_size": 45678, "file_size_formatted": "44.61 KB", "is_pdf": true, "comment": "Rental agreement 2026", "visible_to_roles": null, "created_at": "2026-02-20T12:00:00+00:00" } ], "total": 3, "stats": { "total_count": 3, "total_size": 137034, "total_size_formatted": "133.82 KB" } }

PUT Zaktualizuj dokument

▶

Zaktualizuj komentarz i/lub widoczność dokumentu. Nie można zastąpić samego pliku — usuń i prześlij ponownie.

PUT /api/v1/documents/{documentId}

Użyj ID dokumentu z odpowiedzi na zapytanie listy (GET) lub przesłania (POST).

Treść żądania:

{ "comment": "Updated rental agreement", "visible_to": ["PROPERTY_TENANT", "PROPERTY_MAINTENANCE"] }

Dostępne role dla visible_to:

PROPERTY_TENANT PROPERTY_TENANT_AGENT PROPERTY_MAINTENANCE
Właściciel i agent zawsze widzą wszystkie dokumenty niezależnie od ustawień visible_to.

Odpowiedź (200 OK):

{ "message": "Document updated successfully", "data": { "id": 50, "comment": "Updated rental agreement", "visible_to_roles": ["PROPERTY_TENANT", "PROPERTY_MAINTENANCE"] } }

DELETE Usuń dokument

▶

Trwale usuń dokument po jego ID.

DELETE /api/v1/documents/{documentId}

Odpowiedź (200 OK):

{"message": "Document deleted successfully"}

Przykłady cURL

▶

1. Prześlij dokument

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": 1, "file_content": "'$(base64 -w 0 contract.pdf)'", "file_name": "contract.pdf", "mime_type": "application/pdf", "comment": "Rental agreement 2026" }'

2. Lista dokumentów

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

3. Zaktualizuj dokument

curl -X PUT https://landlordkeeper.com/api/v1/documents/50 \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_TOKEN_HERE" \ -d '{ "visible_to": ["PROPERTY_TENANT"], "comment": "Visible to tenant" }'

4. Usuń dokument

curl -X DELETE https://landlordkeeper.com/api/v1/documents/50 \ -H "Authorization: Bearer YOUR_TOKEN_HERE"
Zastąp YOUR_TOKEN_HERE tokenem JWT z kroku uwierzytelniania.