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ät | Beschreibung |
|---|---|
| Document | Einzelnes Dokument (Datei, Hyperlink oder Dateiverweis) |
| DocumentFolder | Ordner innerhalb der Projektdokumentenstruktur |
| DocumentFolderStructure | Automatische Ordnerstrukturregeln |
Document
Datenmodell
| Property | Type | Description |
|---|---|---|
DocumentId | Guid (UUID) | Eindeutiger Bezeichner des Dokuments (Primärschlüssel). |
FileName | string? | Dateiname. |
ProjectId | Guid? | Zugehöriges Projekt. |
DocumentFolderId | Guid | Zugehöriger Ordner. |
DescriptionHTML | string? | Beschreibung als HTML. |
OutlookPreviewText | string? | Vorschautext aus Outlook. |
IsInternetLink | boolean | Gibt an, ob das Dokument ein Hyperlink ist. |
IsFileLink | boolean | Gibt an, ob das Dokument ein Dateiverweis ist. |
IsStandardFile | boolean | Gibt an, ob es sich um eine Standarddatei handelt. |
StoreType | int32 | Speichertyp (z. B. InLoox, SharePoint, Dateisystem). |
PhysicalId | string? | Physische ID im Speichersystem. |
IsOrphaned | boolean | Gibt an, ob das Dokument verwaist ist. |
SourceFolder | string? | Quellordner. |
DocumentFolderPath | string? | Vollständiger Ordnerpfad. |
CreatedByContactId | Guid? | Ersteller des Dokuments. |
FileType | string? | Dateityp (Erweiterung). |
State | string? | Dokumentstatus. |
UpdatedAt | DateTimeOffset? | Zeitpunkt der letzten Aktualisierung. |
CreatedAt | DateTimeOffset? | Erstellungszeitpunkt. |
Endpunkte
CRUD-Operationen
/odata/DocumentAlle Dokumente abrufen. Unterstützt OData-Abfrageparameter.
/odata/DocumentNeues Dokument erstellen.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | Delta<ApiDocument> | ✅ | JSON-Objekt mit den Dokumenteigenschaften. |
/odata/Document({key})Ein einzelnes Dokument abrufen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentId. |
/odata/Document({key})Dokument teilweise aktualisieren.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentId. |
Body | Delta<ApiDocument> | ✅ | JSON-Objekt mit den zu aktualisierenden Feldern. |
/odata/Document({key})Dokument löschen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentId. |
/odata/Document/$countGesamtanzahl aller Dokumente abrufen.
Notizen
/odata/Document({key})/AddNoteEine Notiz zum Dokument hinzufügen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentId. |
Body | object | ✅ | JSON-Objekt mit dem Notizinhalt. |
/odata/Document/DeleteNote(noteRelationId={noteRelationId})Eine Notiz vom Dokument löschen.
| Parameter | Type | Required | Description |
|---|---|---|---|
noteRelationId | Guid | ✅ | Die ID der Notizverknüpfung. |
Verknüpfungen & Objekte
/odata/Document({key})/GetDocumentsForObject()Alle Dokumente für ein bestimmtes Objekt abrufen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die Objekt-ID. |
/odata/Document({key})/GetRelatedItems()Verknüpfte Elemente eines Dokuments abrufen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentId. |
Favoriten
/odata/Document({key})/ToggleFavorite(isFavorite={isFavorite})Favoritenstatus eines Dokuments umschalten.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentId. |
isFavorite | boolean | ✅ | true zum Markieren als Favorit, false zum Entfernen. |
Links & Hyperlinks
/odata/Document/AddFileLinkEinen Dateiverweis erstellen.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | object | ✅ | JSON-Objekt mit dem Dateipfad und den Projektdetails. |
/odata/Document/AddHyperlinkEinen Hyperlink erstellen.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | object | ✅ | JSON-Objekt mit der URL und den Projektdetails. |
/odata/Document/ChangeFileLinkEinen bestehenden Dateiverweis ändern.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | object | ✅ | JSON-Objekt mit der Dokument-ID und dem neuen Pfad. |
Sonderfunktionen
/odata/Document/GetFileUploadSizeLimit()Maximale Datei-Upload-Größe abrufen.
/odata/Document/GetTrackedDocumentsForProject(projectId={projectId})Getrackte Dokumente eines Projekts abrufen.
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | Guid | ✅ | Die Projekt-ID. |
/odata/Document/HasDocumentWithInternetMessageIdInProject(internetMessageId={internetMessageId},projectId={projectId})Prüfen, ob ein Dokument mit einer bestimmten Internet-Nachrichten-ID im Projekt existiert.
| Parameter | Type | Required | Description |
|---|---|---|---|
internetMessageId | string | ✅ | Die Internet-Nachrichten-ID (aus E-Mail-Header). |
projectId | Guid | ✅ | Die Projekt-ID. |
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
| Property | Type | Description |
|---|---|---|
DocumentFolderId | Guid (UUID) | Eindeutiger Bezeichner des Ordners. |
ParentDocumentFolderId | Guid? | Übergeordneter Ordner (null = Stammordner). |
FolderName | string? | Ordnername. |
RelativePath | string? | Relativer Pfad des Ordners. |
ProjectId | Guid? | Zugehöriges Projekt. |
IsOrphaned | boolean | Gibt an, ob der Ordner verwaist ist. |
CreatedDate | DateTimeOffset | Erstellungsdatum. |
Endpunkte
/odata/DocumentFolderAlle Dokumentenordner abrufen.
/odata/DocumentFolderNeuen Ordner erstellen.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | Delta<ApiDocumentFolder> | ✅ | JSON-Objekt mit den Ordnereigenschaften. |
/odata/DocumentFolder({key})Einen einzelnen Ordner abrufen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentFolderId. |
/odata/DocumentFolder({key})Ordner aktualisieren.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentFolderId. |
Body | Delta<ApiDocumentFolder> | ✅ | JSON-Objekt mit den zu aktualisierenden Feldern. |
/odata/DocumentFolder({key})Ordner löschen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentFolderId. |
/odata/DocumentFolder/$countGesamtanzahl der Ordner abrufen.
DocumentFolderStructure
Die DocumentFolderStructure-Entität definiert automatische Ordnerstrukturregeln, die beim Erstellen neuer Projekte angewendet werden.
Datenmodell
| Property | Type | Description |
|---|---|---|
DocumentStructureId | Guid (UUID) | Eindeutiger Bezeichner der Strukturregel. |
FolderPath | string? | Ordnerpfad, der automatisch erstellt wird. |
RuleField | string? | Feld, auf dem die Regel basiert. |
RuleExpression | string? | Regelausdruck für die automatische Erstellung. |
Endpunkte
/odata/DocumentFolderStructureAlle Ordnerstrukturregeln abrufen.
/odata/DocumentFolderStructureNeue Ordnerstrukturregel erstellen.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | Delta<ApiDocumentFolderStructure> | ✅ | JSON-Objekt mit den Regeleigenschaften. |
/odata/DocumentFolderStructure({key})Ordnerstrukturregel aktualisieren.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentStructureId. |
Body | Delta<ApiDocumentFolderStructure> | ✅ | JSON-Objekt mit den zu aktualisierenden Feldern. |
/odata/DocumentFolderStructure({key})Ordnerstrukturregel löschen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die DocumentStructureId. |
/odata/DocumentFolderStructure/$countGesamtanzahl der Ordnerstrukturregeln abrufen.
OData-Abfragebeispiele
Alle Dokumente eines Projekts
GET /odata/Document?$filter=ProjectId eq 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
Nur Hyperlinks abrufen
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
Hyperlink erstellen
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"
}
InLoox unterstützt verschiedene Speichertypen (StoreType): InLoox Cloud-Speicher, SharePoint, Dateisystem und mehr. Der Wert von StoreType bestimmt, wie das Dokument physisch gespeichert wird.