Zum Hauptinhalt springen

Dokumente

Die Dokumentenverwaltung in InLoox umfasst drei Entitäten: Document, DocumentFolder und DocumentFolderStructure. Über die OData-API können Sie Dokumente hochladen, verknüpfen, Ordnerstrukturen verwalten und automatische Ordnerregeln definieren.

Entitätsübersicht​

EntitätBeschreibung
DocumentEinzelnes Dokument (Datei, Hyperlink oder Dateiverweis)
DocumentFolderOrdner innerhalb der Projektdokumentenstruktur
DocumentFolderStructureAutomatische Ordnerstrukturregeln
info

Dokumente sind stets einem Projekt zugeordnet. Verwenden Sie ProjectId beim Filtern, um nur Dokumente eines bestimmten Projekts abzurufen.


Document​

Ein Dokument stellt eine Datei, einen Hyperlink oder einen Dateiverweis dar, der in einem Projekt gespeichert ist. Dokumente unterstützen Metadaten, Notizen, Favoriten und Beziehungen zu anderen Entitäten.

Speichertypen

InLoox unterstützt verschiedene Speichertypen (StoreType): InLoox Cloud-Speicher, SharePoint online sowie (exklusiv in InLoox Self-Hosted) lokale Dateisysteme. Der Wert von StoreType bestimmt, wie das Dokument physisch gespeichert wird.

Datenmodell​

EigenschaftTypBeschreibung
DocumentIdGuid (UUID)Eindeutiger Bezeichner des Dokuments (Primärschlüssel).
FileNamestring?Dateiname.
ProjectIdGuid?Zugehöriges Projekt.
DocumentFolderIdGuidZugehöriger Ordner.
DescriptionHTMLstring?Beschreibung als HTML.
OutlookPreviewTextstring?Vorschautext aus Outlook.
IsInternetLinkbooleanGibt an, ob das Dokument ein Hyperlink ist.
IsFileLinkbooleanGibt an, ob das Dokument ein Dateiverweis ist.
IsStandardFilebooleanGibt an, ob es sich um eine Standarddatei handelt.
StoreTypeint32Speichertyp. Werte: 0 = Nicht definiert, 1 = Dateiserver, 2 = Share Point online, 3 = InLoox Dokumentenspeicher.
PhysicalIdstring?Physische ID im Speichersystem.
IsOrphanedbooleanGibt an, ob das Dokument verwaist ist.
SourceFolderstring?Quellordner.
DocumentFolderPathstring?Vollständiger Ordnerpfad.
CreatedByContactIdGuid?Ersteller des Dokuments.
FileTypestring?Dateityp (Erweiterung).
Statestring?Dokumentstatus.
UpdatedAtDateTimeOffset?Zeitpunkt der letzten Aktualisierung.
CreatedAtDateTimeOffset?Erstellungszeitpunkt.

Endpunkte​

CRUD-Operationen​

Alle Dokumente aller Projekte abrufen

GET/odata/Document

Unterstützt OData-Abfrageparameter.


Ein einzelnes Dokument abrufen

GET/odata/Document({key})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentId.

Neues Dokument erstellen

POST/odata/Document
ParameterTypErforderlichBeschreibung
BodyDelta<ApiDocument>✅JSON-Objekt mit den Dokumenteigenschaften.

Dokument aktualisieren

PATCH/odata/Document({key})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentId.
BodyDelta<ApiDocument>✅JSON-Objekt mit den zu aktualisierenden Feldern.

Dokument löschen

DELETE/odata/Document({key})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentId.
warnung

Das Löschen eines Dokuments kann nicht rückgängig gemacht werden.


Kommentare​

Einen Kommentar zum Dokument hinzufügen

POST/odata/Document({key})/AddNote
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentId.
Bodyobject✅JSON-Objekt mit folgenden Feldern:

htmlText (string, erforderlich) — HTML-formatierter Kommentarinhalt.
notificationContactIds (Guid[], erforderlich) — Kontakt-IDs, die benachrichtigt werden sollen (kann leer sein []).

Einen Kommentar vom Dokument löschen

GET/odata/Document/DeleteNote(noteRelationId={noteRelationId})
ParameterTypErforderlichBeschreibung
noteRelationIdGuid✅Die ID der Kommentarverknüpfung.
warnung

Das Löschen eines Kommentars kann nicht rückgängig gemacht werden.


Verknüpfungen & Objekte​

Alle Dokumente für ein bestimmtes Objekt abrufen

GET/odata/Document({key})/GetDocumentsForObject()
ParameterTypErforderlichBeschreibung
keyGuid✅Die Objekt-ID.

Verknüpfte Elemente eines Dokuments abrufen

GET/odata/Document({key})/GetRelatedItems()
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentId.

Favoriten​

Favoritenstatus eines Dokuments umschalten

GET/odata/Document({key})/ToggleFavorite(isFavorite={isFavorite})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentId.
isFavoriteboolean✅true zum Markieren als Favorit, false zum Entfernen.

Eine Datei-Vernüpfung erstellen

POST/odata/Document/AddFileLink
ParameterTypErforderlichBeschreibung
Bodyobject✅JSON-Objekt mit folgenden Feldern:

projectId (Guid, erforderlich) — Das Projekt, dem der Dateiverweis hinzugefügt wird.
linkAddress (string, erforderlich) — Die URL/Adresse der verknüpften Datei.
parentFolderId (Guid?, optional) — Übergeordneter Ordner; wenn nicht angegeben, wird der Verweis im Stammordner erstellt.

Einen Hyperlink (URL) erstellen

POST/odata/Document/AddHyperlink
ParameterTypErforderlichBeschreibung
Bodyobject✅JSON-Objekt mit folgenden Feldern:

projectId (Guid, erforderlich) — Das Projekt, dem der Hyperlink hinzugefügt wird.
linkAddress (string, erforderlich) — Die URL des Hyperlinks.
parentFolderId (Guid?, optional) — Übergeordneter Ordner; wenn nicht angegeben, wird der Hyperlink im Stammordner erstellt.

Eine bestehende Datei-Vernüpfung oder einen Hyperlink (URL) ändern

POST/odata/Document/ChangeFileLink
ParameterTypErforderlichBeschreibung
Bodyobject✅JSON-Objekt mit folgenden Feldern:

documentId (Guid, erforderlich) — Das bestehende Dokument, dessen Dateiverweis aktualisiert werden soll.
linkAddress (string, erforderlich) — Die neue URL/der neue Pfad für den Dateiverweis.

Sonderfunktionen​

Maximale Datei-Upload-Größe abrufen

GET/odata/Document/GetFileUploadSizeLimit()

Getrackte Dokumente eines Projekts abrufen

GET/odata/Document/GetTrackedDocumentsForProject(projectId={projectId})
ParameterTypErforderlichBeschreibung
projectIdGuid✅Die Projekt-ID.

Prüfen, ob ein Dokument mit einer bestimmten Internet-Nachrichten-ID im Projekt existiert

POST/odata/Document/HasDocumentWithInternetMessageId
ParameterTypErforderlichBeschreibung
Bodyobject✅JSON-Objekt mit folgenden Feldern:

internetMessageId (string, erforderlich) — Die Internet-Nachrichten-ID aus dem E-Mail-Header.
projectId (Guid, erforderlich) — Die Projekt-ID.
E-Mail-Tracking

Mit HasDocumentWithInternetMessageId können Sie prüfen, ob eine E-Mail bereits im Projekt gespeichert wurde. Verwenden Sie GetTrackedDocumentsForProject, um alle getrackten E-Mail-Dokumente eines Projekts aufzulisten.


DocumentFolder​

Datenmodell​

EigenschaftTypBeschreibung
DocumentFolderIdGuid (UUID)Eindeutiger Bezeichner des Ordners.
ParentDocumentFolderIdGuid?Übergeordneter Ordner (null = Stammordner).
FolderNamestring?Ordnername.
RelativePathstring?Relativer Pfad des Ordners.
ProjectIdGuid?Zugehöriges Projekt.
IsOrphanedbooleanGibt an, ob der Ordner verwaist ist.
CreatedDateDateTimeOffsetErstellungsdatum.

Endpunkte​

Alle Dokumentenordner abrufen

GET/odata/DocumentFolder

Einen einzelnen Ordner abrufen

GET/odata/DocumentFolder({key})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentFolderId.

Neuen Ordner erstellen

POST/odata/DocumentFolder
ParameterTypErforderlichBeschreibung
BodyDelta<ApiDocumentFolder>✅JSON-Objekt mit den Ordnereigenschaften.

Ordner aktualisieren

PATCH/odata/DocumentFolder({key})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentFolderId.
BodyDelta<ApiDocumentFolder>✅JSON-Objekt mit den zu aktualisierenden Feldern.

Ordner löschen

DELETE/odata/DocumentFolder({key})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentFolderId.
Wichtiger Hinweis

Das Löschen eines Ordners entfernt auch alle darin enthaltenen Dokumente. Diese Aktion kann nicht rückgängig gemacht werden.


DocumentFolderStructure​

Die DocumentFolderStructure-Entität definiert automatische Ordnerstrukturregeln, die beim Erstellen neuer Projekte angewendet werden.

Datenmodell​

EigenschaftTypBeschreibung
DocumentStructureIdGuid (UUID)Eindeutiger Bezeichner der Strukturregel.
FolderPathstring?Ordnerpfad, der automatisch erstellt wird.
RuleFieldstring?Feld, auf dem die Regel basiert.
RuleExpressionstring?Regelausdruck für die automatische Erstellung.
info

Ordnerstrukturregeln automatisieren die Verzeichniserstellung. Wenn ein Projekt dem definierten RuleField und RuleExpression entspricht, wird die zugehörige Ordnerhierarchie automatisch erstellt. Diese Regeln können unter Account-Einstellungen > Dokumente konfiguriert werden.

Endpunkte​

Alle Ordnerstrukturregeln abrufen

GET/odata/DocumentFolderStructure

Eine einzelne Ordnerstrukturregel nach ID abrufen

GET/odata/DocumentFolderStructure({key})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentStructureId.

Neue Ordnerstrukturregel erstellen

POST/odata/DocumentFolderStructure
ParameterTypErforderlichBeschreibung
BodyDelta<ApiDocumentFolderStructure>✅JSON-Objekt mit den Regeleigenschaften.

Ordnerstrukturregel aktualisieren

PATCH/odata/DocumentFolderStructure({key})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentStructureId.
BodyDelta<ApiDocumentFolderStructure>✅JSON-Objekt mit den zu aktualisierenden Feldern.

Ordnerstrukturregel löschen

DELETE/odata/DocumentFolderStructure({key})
ParameterTypErforderlichBeschreibung
keyGuid✅Die DocumentStructureId.
warnung

Das Löschen einer Ordnerstrukturregel kann nicht rückgängig gemacht werden.


OData-Abfragebeispiele​

Alle Dokumente eines Projekts​

GET /odata/Document?$filter=ProjectId eq 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
GET /odata/Document?$filter=IsInternetLink eq true

Dokumente nach Dateityp filtern​

GET /odata/Document?$filter=FileType eq '.pdf'

Ordnerstruktur eines Projekts​

GET /odata/DocumentFolder?$filter=ProjectId eq 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'&$orderby=RelativePath
POST /odata/Document/AddHyperlink
Content-Type: application/json

{
"Url": "https://example.com/spezifikation",
"DisplayName": "Technische Spezifikation",
"ProjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"DocumentFolderId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Neuen Ordner erstellen​

POST /odata/DocumentFolder
Content-Type: application/json

{
"FolderName": "Verträge",
"ProjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"ParentDocumentFolderId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}