Webhooks

Benachrichtigen Sie andere Business-Anwendungen, wenn Dokumente in einem Archiv neu abgelegt oder zugehörige Indexeinträge geändert werden. Die Indexdaten von spezifizierten Dokumenten lassen sich in den Inhalt der Nachricht aufnehmen. Andere Anwendungen im Unternehmen können ihren Datenbestand synchronisieren oder bestimmte Aktionen und Workflows anstoßen.

Die Kommunkation von DocuWare mit Drittanwendungen erfolgt über eine URL, über die beide Anwendungen miteinander "verhakt" sind (webhook = Webhaken). DocuWare sendet die Benachrichtigung als POST-Anfrage an die URL, welche die Drittanwendung beobachtetund damit die Nachricht empfängt.

Wenn zum Beispiel eine neue Präsentation in einem DocuWare-Archiv abgelegt wird, kann eine Benachrichtigung in den gemeinsamen Kanal zu diesem Projekt von Microsoft Teams gesendet werden, so dass alle zuständigen Mitarbeiter ohne Verzögerung informiert sind.

Voraussetzung

Webhooks stehen für Kunden von DocuWare Cloud und DocuWare On-Premises zur Verfügung. Das Modul in der DocuWare Konfiguration sehen jedoch nur Benutzer, denen die Rolle Organisations-Administrator zugeordnet ist.

Konfiguration

Um einen einen Webhook zu erstellen, legen Sie zunächst unter DocuWare Konfiguration > Integrationen einen Webservice vom Typ REST an. Im Webservice geben Sie die URL ein, über die DocuWare und die empfangende Anwendung miteinander kommunizieren.

Dann wechseln Sie zum Modul Integrationen > Webhooks und konfigurieren die Benachrichtigung.

Hinweis:

Jeder Webhook (für Dialogvalidierung oder Web Service) oder Web Service-Call (z. B. Workflow) enthält den Header "x-docuware-signature". Anhand dieses Headers verifzieren empfangende Anwendungen DocuWare als Sender. Die Methode zur Erstellung der Signatur heißt HMAC (Hash-based Message Authentication Code (HMAC) - Docs). Das Secret für die Erstellung der Signatur ist die Organisationspassphrase, die im Reiter Sicherheit in den Organisationseinstellungen sichtbar ist.

Ereignisse

Im Tab Ereignisse geben Sie den Webservice mit der URL sowie das Archiv an, in welchem sich die Dokumente befinden, für die eine Benachrichtigung versendet werden soll. Für eine Archiv-Benachrichtigung gibt es zwei Auslöser: die Ablage eines neuen Dokuments oder die Indexdatenänderung eines bereits abgelegten Dokuments.

Mit dem Filter wählen Sie dann die Dokumente aus, für die eine Benachrichtigung versendet wird.

Inhalte von Tabellenfeldern lassen sich nicht in dem POST-Request übertragen.

HTTP Request Body

Im Bodytext steht der Inhalt der Benachrichtigung. Standardmäßig sind die Indexfelder des Archivs mit den Indexdaten der unter Ereignisse ausgewählten Dokumente bereits eingefügt. Das Datenformat ist JSON.

Sie können den Inhalt bearbeiten und verändern, beispielsweise, um die Indexdaten in einer bestimmten Form an die empfangende Anwendung zu übermitteln. Wichtig ist nur, dass ein valides JSON-Format kommuniziert wird.

Um die relevanten Indexdaten zu übergeben, verwenden Sie den Wert "placeholder". Dieser Platzhalter kann im JSON-Editor für jedes Indexfeld bequem per Mausklick eingefügt werden.

Mit einem Klick auf den Button Validieren und Formatieren werden Fehler im Bodytext angezeigt. Fehlerhafte Zeilen werden mit einer Erklärung hervorgehoben. Die Validierung wird beim Speichern automatisch durchgeführt. Tritt ein Fehler auf, wird der Webhook nicht gespeichert.

Tipp: Interne Datenbanknamen von Archivfeldern auf einen Blick

Jedes Archivfeld hat einen internen Datenbanknamen, den Sie zum Beispiel benötigen, um über PowerAutomate aus externen Quellen in einem Archiv abzulegen. Anstatt den Datenbanknamen für jedes Feld aus der Archivkonfiguration einzeln zu kopieren, liefert ein neuer Webhook diese Informationen auf einen Blick:

  1. Legen Sie einen neuen Webhook an

  2. Wählen Sie das gewünschte Archiv

  3. Wechseln Sie zu HTTP Request Body > Standard Vorlage:

Berechtigungen

Rechte für Webhooks können nun pro Konfiguration zugewiesen werden, und zwar wie üblich einzeln pro User oder über Rollen. Ein Benutzer sieht dann nur die Webhooks, für die er Berechtigungen hat, und kann sie bearbeiten und entfernen.