Standard Webservice DocuWare Platform API

Prev Next

Sie können auf Ihre Archive und die Dokumente in diesen Archiven über den integrierten Standard Webservice DocuWare Platform API zugreifen.

In der Liste unten finden Sie die Endpunkte, die für DocuWare Platform API bereits verfügbar sind.

!Einige Endpunkte können mehrere Operationen ausführen!

Zum Beispiel setzen Sie mit der Operation "documentAnnotations" einen Stempel an einer beliebigen oder an einer festen Position im Dokument oder Sie fügen eine Textanmerkung ein.

Für diese drei Funktionen mit documentAnnotations ist der Pfad/Endpunkt der gleiche. Der Unterschied ist der HTTP Body. Es kann aber von DocuWare nur ein HTTP Body automatisch vorausgefüllt werden.

Für das Beispiel “documentAnnotations” wird standardmäßig der HTTP Body für die Funktion “Stempel an einer automatisch ermittelten Position hinzufügen” ausgefüllt. Wenn Sie mit “documentAnnotations” eine andere Funktion verwenden möchten, müssen Sie den HTTP Body manuell austauschen und anpassen - die entsprechenden Vorlagen finden Sie unten in der Liste der Endpunkte.

Die Zeile "Standard" in der Liste der Endpunkte gibt an, welcher HTTP-Body bei der Wahl einer Operation automatisch vorausgefüllt wird.

Hier ist ein Überblick über die Funktionen, die sich denselben Pfad/Endpunkt teilen:

  • documentAnnotations

    POST /FileCabinets/{TrayId/FileCabinetId}/Operations/ProcessDocumentAction?docId={DocId}

    • Stempel an einer automatisch ermittelten Position hinzufügen - Standard

    • Stempel auf einer festen Position hinzufügen

    • Textanmerkung auf einer festen Position hinzufügen

  • processDocumentAction

    PUT /FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}/Annotation

    • Ebenen zusammenführen - Standard

    • Dokument anhängen

  • userRoles

    PUT /Organization/UserRoles?UserId={UserId}

    • Benutzer zu einer Rolle hinzufügen - Standard

    • Benutzer aus einer Rolle entfernen

  • userGroups

    PUT /Organization/UserGroups?UserId={UserId}

    • Benutzer zu einer Gruppe hinzufügen - Standard

    • Benutzer aus einer Rolle entfernen

Um die ID/GUID eines Benutzers zu übergeben, schreiben Sie einfach den Benutzernamen in eine globale Variable vom Typ "User" und übergeben Sie die Variable in der HTTP-Anfrage. Das System liefert automatisch die entsprechende GUID.

Liste der Endpunkte

Gesamtzahl der Dokumente in einem Archiv oder Briefkorb abrufen

  • Beschreibung: DialogId (optional): ID vom Suchdialog

    FieldName (optional): Name des Feldes, dessen Werte zusammengezählt werden

  • Standard: ja

  • Operation: countResult

  • Befehl: POST

  • Pfad:
    /DocuWare/Platform/FileCabinets/ {TrayId/FileCabinetId}/Query/CountExpression?dialogId={DialogId}&fieldName= {FieldName}

Suche per Dialog

  • Beschreibung: DialogId: ID vom Suchdialog

  • Standard: ja

  • Operation: dialogExpression

  • Befehl: POST

  • Pfad:
    /DocuWare/Platform/FileCabinets/ {TrayId/FileCabinetId}/Query/CountExpression?dialogId={DialogId}&fieldName= {FieldName}

  • HTTP body (sample):

    { "Condition":[ {"DBName":"COMPANY", "Value":["Peter's Engineering"]},{"DBName":"CONTACT", "Value":["EMPTY()"]},{"DBName":"DocuWareFulltext", "Value":["Solar Panels"]}], "Operation":"And"}

In einem Briefkorb oder Archiv einen Datenbankeintrag erstellen

  • Standard: ja

  • Operation: documents

  • Befehl: POST

  • Pfad: /FileCabinets/{TrayId/FileCabinetId}/Documents

  • HTTP body (sample):

    { "Fields": [ { "FieldName": "COMPANY", "Item": "Peter's Engineering" }, { "FieldName": "CONTACT", "Item": "Peter Sanders" }, { "FieldName": "DOCUMENT_DATE", "Item": "2020-01-01" }, { "FieldName": "COST_CENTER", "Item": { "$type": "DocumentIndexFieldKeywords", "Keyword": [ "A", "B", "C" ] } } ] }

Dokumentinformationen abrufen

  • Standard: ja

  • Operation: document

  • Befehl: GET

  • Pfad: /FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}

Dokument löschen

  • Standard: ja

  • Operation: documentDelete

  • Befehl: DELETE

  • Pfad: /FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}

Sektion von einem Dokument löschen

  • Beschreibung: Wenn der einzige Abschnitt eines Dokuments gelöscht wird, wird er automatisch in einen Datenbankeintrag umgewandelt.

  • Standard: ja

  • Operation: sectionDelete

  • Befehl: DELETE

  • Pfad: /FileCabinets/{TrayId/FileCabinetId}/Sections/{SectionId}

Stempel an einer automatisch ermittelten Position hinzufügen

  • Standard: ja

  • Operation: documentAnnotations

  • Befehl: POST

  • Pfad: /FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}/Annotation

  • HTTP-body (sample):

    { "Annotations": [ { "PageNumber": 0, "SectionNumber": 0, "AnnotationsPlacement": { "Items": [ { "$type": "StampPlacement", "StampId": "73d54f34-1b80-4b43-81ec-f0d31176d990", "Layer": 1, "Field": [ { "Name": "<#1>", "TypedValue": { "Item": "*Test007*" }, "Value": "Jenkins" }, { "Name": "<#2>", "TypedValue": { "Item": "*Test007*" }, "Value": "Approved" } ], "Password": null } ] } } ] }

Stempel auf einer fest definierten Position hinzufügen

  • Operation: documentAnnotations

  • Befehl: POST

  • Pfad: FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}/Annotation

  • HTTP body (sample):

    { "Annotations": [ { "PageNumber": 0, "SectionNumber": 0, "AnnotationsPlacement": { "Items": [ { "$type": "StampPlacement", "Location": { "X": "100", "Y": "100" }, "StampId": "6ab67774-074d-4d93-99c5-5bc46262b84c", "Layer": 1, "Field": [ { "Name": "<#1>", "TypedValue": { "Item": "September" }, "Value": "Sep." } ], "Password": null } ] } } ] }

Textanmerkung hinzufügen

  • Operation: documentAnnotations

  • Befehl: POST

  • Pfad:
    FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}/Annotation

  • HTTP body (sample):

    { "Annotations": [ { "PageNumber": 0, "SectionNumber": 0, "AnnotationsPlacement": { "Items": [ { "$type": "Annotation", "Layer": [ { "Id": "1", "Items": [ { "$type": "TextEntry", "Font": { "FontName": "Lucida Console", "Bold": true, "Italic": true, "Underlined": false, "StrikeThrough": false, "FontSize": 200, "Spacing": 0 }, "Value": "Test annotation", "Location": { "Left": 100, "Top": 100, "Width": 1500, "Height": 500 }, "Color": "Black", "Rotation": 0, "Transparent": false, "StrokeWidth": 50 } ] } ] } ] } } ] }

Dokument übertragen

  • Beschreibung: Verschieben oder kopieren eines Dokuments aus einem Quellarchiv oder einer Quellablage in das angegebene Archiv oder den angegebenen Briefkorb

    Inhaltstyp muss eingestellt sein auf: application/vnd.docuware.platform.documentstransferinfo+json

  • Standard: ja

  • Operation: transfer

  • Befehl: POST

  • Pfad: /FileCabinets/ {TrayId/FileCabinetId} /Task/Transfer

  • HTTP body (sample):

    { "SourceFileCabinetId": "ae156510-ffa8-48b1-a3ec-baec3180669c", "Documents": [ { "Id": 123456, "Fields": null } ], "KeepSource": true, "FillIntellix": false,"UseDefaultDialog": true}

Datei im Ziel-Dokument mit der aktuellen Datei ersetzen

  • Beschreibung: Das Quell-Dokument ist das aktuelle Dokument im Workflow. Das Ziel-Dokument können Sie definieren.

  • Standard: ja

  • Operation: sectionData

  • Befehl: POST

  • Pfad: /FileCabinets/{TrayId/FileCabinetId}/Sections/{SectionId}/Data

Aktuelles Dokument an ein Ziel-Dokument anhängen

  • Beschreibung: Hängen Sie das aktuelle Dokument an ein anderes Dokument in einem Archiv oder einem Briefkorb an.
    Das Dokument kann im Originalformat oder als PDF ohne Anmerkungen oder Stempel angehängt werden.
    Wenn das Ziel ein Ddatenbankeintrag ist, wird es automatisch in ein Dokument umgewandelt.

  • Standard: ja

  • Operation: sections

  • Befehl: POST

  • Pfad: /FileCabinets/{TrayId/FileCabinetId}/Sections?DocId={DocId}

Dokument entklammern

  • Beschreibung: Automatisieren Sie die Trennung von Dateien. Wenn beispielsweise Dokumente geklammert im Archiv abgelegt sind, können Sie diese in den Briefkorb übertragen, dort entklammern und wieder im Archiv ablegen.

    • Geben Sie in der Anforderungsroute die GUID des Briefkorbs an

    • Fügen  Sie in den Anforderungsabfragen die Dokument-ID hinzu

  • Standard: ja

  • Operation: unclipDocument

  • Befehl: POST

  • Pfad: /FileCabinets/{TrayId/FileCabinetId}/Operations/ContentDivide?docId={docId}

Ebenen zusammenführen

  • Beschreibung: Führen Sie die Anmerkungsebenen in einem Dokument zusammen. Damit wird ein neues PDF erstellt, welches das vorige ersetzt.

  • Standard: ja

  • Operation: processDocumentAction

  • Befehl: PUT

  • Pfad:
    /FileCabinets/{TrayId/FileCabinetId}/Operations/ProcessDocumentAction?docId={DocId}

  • HTTP body (sample):

    { "DocumentAction": "MergeAnnotations","DocumentActionParameters":{"$type":"MergeAnnotationsParameters","SectionNumber":0}}

Dokument anhängen

  • Beschreibung: Hängen Sie ein Dokument an ein anderes Dokument in einem Archiv oder Briefkorb an.

    Wenn das Ziel ein Datenbankeintrag ist, wird dieser automatisch in ein Dokument umgewandelt.

  • Operation: processDocumentAction

  • Befehl: PUT

  • Pfad:
    /FileCabinets/{TrayId/FileCabinetId}/Operations/ProcessDocumentAction?docId={DocId}

  • HTTP body (sample):

    { "DocumentAction": "Append", "DocumentActionParameters": { "$type": "AppendActionParameters", "RemoveSourceDocuments": false, "DocumentsInFront": [ ], "DocumentsAtBack": [ { "SourceCabinetId": "ae156510-ffa8-48b1-a3ec-baec3180669c", "Documents": [ 123456 ] } ] } }

Benutzer anlegen

  • Beschreibung: Inhaltstyp muss eingestellt sein auf:  application/vnd.docuware.platform.createorganizationuser+json

  • Standard: ja

  • Operation: createUser

  • Befehl: POST

  • Pfad: /Organization/UserInfo

  • HTTP body (sample):

    { "EMail": "firstname.lastname@domain.com", "Name": "MyUserName", "DBName": "MYUSERNA", "Password": "eLK%4s*Z", "NetworkID": "Domain\\MyUserName" }

Benutzereigenschaften ändern

  • Standard: ja

  • Operation: modifyUser

  • Befehl: PATCH

  • Pfad: /Organization/UserInfo

Alle Benutzer einer Organisation abrufen

  • Standard: ja

  • Operation: users

  • Befehl: GET

  • Pfad: /Organization/Users?Active={true|false}&Name={UserName}

Alle Benutzer einer Gruppe abrufen

  • Beschreibung: GroupID muss angegeben werden

  • Standard: ja

  • Operation: UsersByGroup

  • Befehl: GET

  • Pfad: /Organization/GroupUsers?groupId={GroupId}

Alle Benutzer einer Rolle abrufen

  • Beschreibung: RoleID muss angegeben werden
    IncludeGroupUsers (optional): Boolean - default: 'false'

  • Srandard: ja

  • Operation: usersByRole

  • Befehl: GET

  • Pfad:
    /Organization/UserRoles?UserId={UserId}&Active={true|false}&Name={RoleName}&Type={Standard|Default|Administrator}

Informationen zu einem Benutzer abrufen

  • Beschreibung: Zu den Informationen zählen zum Beispiel der Status oder die Abwesenheit

    UserID muss angegeben werden.

  • Standard: ja

  • Operation: userById

  • Befehl: GET

  • Pfad: /Organization/UserByID?userId={UserId}

Alle Rollen eines Benutzers abrufen

  • Beschreibung:
    UserID muss angegeben werden.

    Aktiv (optional): Boolean - default: leer

    Name (optional): Name der Rolle

    Typ (optional): {Standard|Default|Administrator}

  • Standard: ja

  • Operation: userRoles

  • Befehl: GET

  • Pfad: /Organization/UserRoles?UserId={UserId}

Benutzer zu einer Rolle hinzufügen

  • Beschreibung: UserID muss angegeben sein

  • Standard: ja

  • Operation: userRoles

  • Befehl: PUT

  • Pfad: Organization/UserRoles?UserId={UserId}

  • HTTP body (sample):

    { "Ids": [ "2d89fc45-a3c4-49c6-971b-ebc696a67d78" ], "OperationType": "Add" }

Benutzer aus einer Rolle entfernen

  • Beschreibung: UserID muss angegeben sein

  • Operation: userRoles

  • Befehl: PUT

  • Pfad: Organization/UserRoles?UserId={UserId}

  • HTTP body (sample):

    { "Ids": [ "2d89fc45-a3c4-49c6-971b-ebc696a67d78" ], "OperationType": "Remove" }

Alle Gruppen von einem Benutzer abrufen

  • Beschreibung: UserID muss angegben werden

  • Standard: ja

  • Operation: userGroups

  • Befehl: GET

  • Pfad: /Organization/UserGroups?UserId={UserId}

Benutzer zu einer Gruppe hinzufügen

  • Beschreibung: UserID muss angegben werden

  • Standard: ja

  • Operation: userGroups

  • Befehl: PUT

  • Pfad: /Organization/UserGroups?UserId={UserId}

  • HTTP body (sample):

    { "Ids": [ "2d89fc45-a3c4-49c6-971b-ebc696a67d78" ], "OperationType": "Add" }

Benutzer aus einer Gruppe entfernen

  • Beschreibung: UserID muss angegeben sein

  • Standard: ja

  • Operation: userGroups

  • Befehl: PUT

  • Pfad: /Organization/UserGroups?UserId={UserId}

  • HTTP body (sample):

    { "Ids": [ "2d89fc45-a3c4-49c6-971b-ebc696a67d78" ], "OperationType": "Remove" }

Alle Rollen von einer Organisation abrufen

  • Beschreibung:
    Aktiv (optional): Boolean - default: leer

    Name (optional): Name der Rolle

    Typ (optional): {Standard|Default|Administrator}

  • Operation: roles

  • Befehl: GET

  • Pfad: /Organization/Roles? Active={true|false}&Name={RoleName}&Type={Standard|Default|Administrator}

Informationen zu einer Rolle abrufen

  • Beschreibung:
    Zum Beispiel den Status "aktiv". RoleID ist verpflichtend.

  • Standard: ja

  • Operation: role

  • Befehl: GET

  • Pfad: /Organization/Role?roleId={RoleId}

Alle Gruppen einer Organisation abrufen

  • Beschreibung:
    Aktiv (optional): Boolean - default: leer

    Name (optional): Name der Gruppe

  • Standard: ja

  • Operation: groups

  • Befehl: GET

  • Pfad: /Organization/Groups?&Active={true|false}&Name={GroupName}

Informationen zu einer Gruppe abrufen

  • Beschreibung: Zum Beispiel den Status "aktiv", GroupID muss angegeben sein

  • Standard: ja

  • Operation: group

  • Befehl: GET

  • Pfad: /Organization/Group?groupId={GroupId}

Neue Gruppe erstellen

  • Beschreibung: Automatisieren Sie die Erstellung von DocuWare Gruppen. Beispiel: Wenn neue Projektdateien gespeichert werden, kann eine Gruppe mit dem Projektnamen erstellt und ihr ein Indexwertprofil zurgewiesen werden.
    Erforderliche Eigenschaften:

    • Id

    • Name

    • Activ

  • Standard: ja

  • Operation: createGroup

  • Befehl: POST

  • Pfad: /Organization/Groups

  • Beispiele HTTP body:

    { "Ids": [ "group-1234" ], "name": "Accounting Team", "Active": "true" }

Anwendungsbeispiel für den Endpunkt "documentAnnotations"

Nachdem eine Rechnung in der Buchhaltungssoftware bearbeitet wurde, soll sie in DocuWare automatisch mit dem Stempel "Bezahlt" versehen werden. Um dies zu konfigurieren, richten Sie zunächst einen Autoindex-Job ein, der den Indexeintrag der Rechnung auf "Bezahlt" ändert.

Auf die Änderung des Indexeintrags startet ein Workflow, dessen Webservice-Aktivität den Stempel „Bezahlt“ automatisch auf das Rechnungsdokument setzt.

Beachten Sie, dass der "Paid"-Stempel konfiguriert und dem Benutzer zugewiesen sein muss, der für den Workflow angegeben ist, um automatische Aktivitäten auszuführen.

Unterstützte Versionen: DocuWare Cloud + 7.14 + 7.13 + 7.12 + 7.11 + 7.10