AIDA Webhook
Ein Webhook ist ein Ziel, das es AIDA ermöglicht, automatisch einen HTTPS-Endpunkt aufzurufen, sobald ein Dokument von diesem Ziel verarbeitet wird. AIDA führt einen HTTP-POST-Aufruf mit einem JSON-Payload an die konfigurierte URL durch.
Konfiguration
Das Verhalten des Webhooks wird durch die folgenden Parameter in der Ziel-Konfiguration gesteuert:
| Parameter | Erforderlich | Beschreibung | Standardwert |
|---|---|---|---|
| Webhook-URL | Ja | Die HTTPS-Endpunkt-URL, die AIDA aufrufen wird. | - |
| Authorization-Header | Nein | Der Wert für den Authorization HTTP-Header. Zum Beispiel: Bearer Ihr-geheimer-Token. | - |
| Webhook-Aktion | Nein | Ein Zeichenkettenwert, der dem JSON-Payload im Feld action hinzugefügt wird. Kann verwendet werden, um den Ereignistyp auf der Empfängerseite zu identifizieren. | - |
| Dokumenten-Versandmodus | Nein | Legt fest, wie die PDF-Datei des Dokuments gesendet wird. | Einen Download-Link in den Payload einbetten |
| Gültigkeit | Nein | Gültigkeitsdauer des Download-Links für das Dokument. | 7 Tage |
| Dokumenteninhalt hinzufügen | Nein | Wenn aktiviert, wird dem Payload ein content-Feld hinzugefügt, das den vollständigen Text des Dokuments enthält, der per OCR extrahiert wurde. | Deaktiviert |
| SSL/TLS-Zertifikatsprüfung ignorieren | Nein | Mit Vorsicht verwenden. Wenn aktiviert, validiert AIDA das SSL-Zertifikat des Endpunkts nicht. Nützlich für Tests mit selbstsignierten Zertifikaten. | Deaktiviert |
HTTP-Header
AIDA sendet die folgenden Header mit der POST-Anfrage:
Content-Type: application/jsonAccept: application/jsonAuthorization: Der Wert, der im Konfigurationsparameter Authorization-Header angegeben wurde, falls vorhanden.
JSON-Payload
Der Payload besteht aus einer Reihe von Schlüssel-Wert-Paaren. Einige sind Standardfelder, die von AIDA bereitgestellt werden, während andere den aus dem Dokument extrahierten Eigenschaften entsprechen.
Standardfelder
Diese Felder werden von AIDA automatisch basierend auf der Konfiguration hinzugefügt.
| Feld | Typ | Beschreibung |
|---|---|---|
action | string | Der Wert aus der Konfiguration Webhook-Aktion. Nur vorhanden, wenn konfiguriert. |
documentURL | string | Ein permanenter Link zur Ansicht des Dokuments in der AIDA-Webanwendung. |
downloadURL | string | Ein temporärer, sicherer Link zum Herunterladen der PDF-Datei des Dokuments. Nur vorhanden, wenn der Dokumenten-Versandmodus auf Download (Standard) eingestellt ist. |
attachment | string | Der Base64-kodierte Inhalt der PDF-Datei des Dokuments. Nur vorhanden, wenn der Dokumenten-Versandmodus auf Einbetten der Datei eingestellt ist. |
content | string | Der vollständige Textinhalt des Dokuments. Nur vorhanden, wenn Dokumenteninhalt hinzufügen aktiviert ist. |
Dokumenteneigenschaften
Diese Felder entsprechen den aus dem Dokument extrahierten Daten.
- Schlüssel: Der JSON-Schlüssel für jede Eigenschaft wird durch ihre "Ausgabe-Mapping"-Konfiguration bestimmt. Wenn diese nicht festgelegt ist, wird die Bezeichnung der Eigenschaft verwendet.
- Datentypen: Eigenschaften werden automatisch in den korrekten JSON-Typ umgewandelt (z.B.
Number,Boolean,String), basierend auf ihrer Konfiguration in AIDA. Datumsangaben werden als UNIX-Zeitstempel in Millisekunden dargestellt. - Tabellen: Eigenschaften, die Teil einer Tabelle sind, werden in einem JSON-Array gruppiert. Der Schlüssel für dieses Array wird durch das "Ausgabe-Mapping" der Tabellengruppe oder, falls nicht festgelegt, durch ihren Namen bestimmt.
Beispiel
Gegeben sei ein Dokumententyp mit den folgenden Eigenschaften:
Kopfeigenschaften
Rechnungsnummer(Bezeichnung:Rechnungsnummer, Ausgabe-Mapping: nicht konfiguriert, Typ:String)Rechnungsdatum(Bezeichnung:Rechnungsdatum, Ausgabe-Mapping:invoiceDate, Typ:Date)Gesamtbetrag(Bezeichnung:Gesamtbetrag, Ausgabe-Mapping:total, Typ:Currency)
Tabelleneigenschaftsgruppe (Name: Rechnungspositionen, Ausgabe-Mapping: lines):
Beschreibung(Ausgabe-Mapping:description, Typ:String)Menge(Ausgabe-Mapping:qty, Typ:Number)Stückpreis(Ausgabe-Mapping:unitPrice, Typ:Currency)
Und die folgende AIDA-Ziel-Konfiguration:
- Webhook-URL:
https://api.meinefirma.de/invoice-receiver - Webhook-Aktion:
NEW_INVOICE - Dokumenten-Versandmodus: download
Der resultierende JSON-Payload, der an den Endpunkt gesendet wird, würde wie folgt aussehen:
{
"Rechnungsnummer": "INV-2025-042",
"invoiceDate": "2025-10-14",
"total": 122.00,
"lines": [
{
"description": "Produkt A",
"qty": 2,
"unitPrice": 50.00
},
{
"description": "Dienstleistung B",
"qty": 1,
"unitPrice": 22.00
}
],
"action": "NEW_INVOICE",
"documentURL": "[https://aida.meinefirma.de/app/web/archive/12345](https://aida.meinefirma.de/app/web/archive/12345)",
"downloadURL": "[https://api.aida.meinefirma.de/asset/document/generated-auth-token](https://api.aida.meinefirma.de/asset/document/generated-auth-token)"
}