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
keyGuidDie DocumentId.

Neues Dokument erstellen

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

Dokument aktualisieren

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

Dokument löschen

DELETE/odata/Document({key})
ParameterTypErforderlichBeschreibung
keyGuidDie 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
keyGuidDie DocumentId.
BodyobjectJSON-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
noteRelationIdGuidDie 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
keyGuidDie Objekt-ID.

Verknüpfte Elemente eines Dokuments abrufen

GET/odata/Document({key})/GetRelatedItems()
ParameterTypErforderlichBeschreibung
keyGuidDie DocumentId.

Favoriten

Favoritenstatus eines Dokuments umschalten

GET/odata/Document({key})/ToggleFavorite(isFavorite={isFavorite})
ParameterTypErforderlichBeschreibung
keyGuidDie DocumentId.
isFavoritebooleantrue zum Markieren als Favorit, false zum Entfernen.

Eine Datei-Vernüpfung erstellen

POST/odata/Document/AddFileLink
ParameterTypErforderlichBeschreibung
BodyobjectJSON-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
BodyobjectJSON-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
BodyobjectJSON-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
projectIdGuidDie Projekt-ID.

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

GET/odata/Document/HasDocumentWithInternetMessageIdInProject(internetMessageId={internetMessageId},projectId={projectId})
ParameterTypErforderlichBeschreibung
internetMessageIdstringDie Internet-Nachrichten-ID (aus E-Mail-Header).
projectIdGuidDie Projekt-ID.
E-Mail-Tracking

Mit HasDocumentWithInternetMessageIdInProject 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
keyGuidDie DocumentFolderId.

Neuen Ordner erstellen

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

Ordner aktualisieren

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

Ordner löschen

DELETE/odata/DocumentFolder({key})
ParameterTypErforderlichBeschreibung
keyGuidDie 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 Kontoeinstellungen > Dokumente konfiguriert werden.

Endpunkte

Alle Ordnerstrukturregeln abrufen

GET/odata/DocumentFolderStructure

Eine einzelne Ordnerstrukturregel nach ID abrufen

GET/odata/DocumentFolderStructure({key})
ParameterTypErforderlichBeschreibung
keyGuidDie DocumentStructureId.

Neue Ordnerstrukturregel erstellen

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

Ordnerstrukturregel aktualisieren

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

Ordnerstrukturregel löschen

DELETE/odata/DocumentFolderStructure({key})
ParameterTypErforderlichBeschreibung
keyGuidDie 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"
}