xDokument API
Im eserp Web (esweb) sind zwei Endpunkte vorhanden, über die Clients eine Liste von Dokumentversionen abrufen und eine bestimmte Dokumentversion herunterladen können.
Verwaltung Token im esweb
Für die Nutzung der API Endpunkte im esweb ist die Verwendung eines Tokens erforderlich. Diese Tokens ermöglichen es Dritten oder externen Clients, sich zum Beispiel mit den xDokument-Endpunkten zu verbinden. Standardmäßig können alle esweb-Endpunkte nur von der Webanwendung selbst oder intern mit Hilfe von Session-Tokens, die im Browser des Benutzers als Cookie gespeichert sind, angesprochen werden.
Erstellen des Zugriffstokens
Gehen Sie folgendermaßen vor, um das Access-Token zu erzeugen:
-
Stellen Sie sicher, dass ein Benutzer der Art Personal verwendet wird und dem Benutzer die Berechtigung Externe Programme | esweb | esweb - Tokenverwaltung zugewiesen wurde.
-
Melden Sie sich im esweb an und öffnen Sie den Menüpunkt Einstellungen | Tokenverwaltung.
-
Geben Sie einen beliebigen Token-Namen an und lassen Sie das Ablaufdatum leer. Wenn das Datum leer ist, läuft das Token nicht ab.
-
Klicken Sie auf die Schaltfläche Token erstellen.
-
Kopieren Sie den Wert des Tokens über das Zwischenablage-Symbol rechts neben dem Token-Feld.
-
Speichern Sie den Token-Wert an einem sicheren Ort.
Zugriff auf die Endpunkte
Bitte beachten Sie die folgenden Punkte für den Zugriff auf die Endpunkte.
Beide Endpunkte können über die esweb-URL, gefolgt von /xDokument, aufgerufen werden.
Es ist erforderlich, dass jede Anfrage an einen Endpunkt authentifiziert wird. Es gibt keine aktive Sitzung für einen Benutzer. Bei jeder Anfrage an den Endpunkt (GET, POST, etc.) ist es notwendig, dass das generierte Token in der Anfrage enthalten ist. Stellen Sie dazu sicher, dass Ihre Anfrage einen Header namens X-Token-Auth mit dem Token als Wert enthält.
Zum Testen wird ein Tool wie Postman empfohlen (https://www.postman.com/downloads/)
Endpunkt: /GetDokVersions
Dieser Endpunkt gibt eine JSON-Liste der DokVersionen zurück, die größer als die angegebene Version sind.
Endpunkt: /xDokument/GetDokVersions
Anfragetyp
GET
Antwortformat
JSON
Erforderliche Parameter
FromVersionNr
Optionale Parameter
-
DokumentNr
-
Seite
-
PageSize
Beispiel-Anfrage
(Mit Token im Header)
GET /esweb_eserp/xDokument/GetDokVersions?FromVersionNr=38&PageSize=1&Page=0 HTTP/1.1
Host: webserver
X-Token-Auth: WRZJqN3OpX+gss5naaGhkrcsS2hxnH45D+ljlrKQJ1WCDQBB
Beispiel-Antwort
Beispielantwort (JSON)
{
"success": true,
"body": {
"PageMaxVersionNr": 38,
"PageSize": 1,
"CurrentPageIndex": 0,
"TotalRowCount": 142,
"TotalPageCount": 142,
"SearchText": "",
"SortField": "DokVersionNr",
"SortDir": 1,
"Rows": [
{
"Author": {
"PersonellNr": 1,
"FirstName": "Klaus",
"LastName": "Spitzenverkäufer",
"Title": "Herr"
},
"DocumentNr": 33,
"DocVersionNr": 38,
"DocTitle": "Rechnung 900010",
"DocType": ".pdf",
"Description": "",
"DocStatus": "verfuegbar",
"Comment": "Neue Version erstellt",
"FileSize": 452724,
"CreatedDate": "2019-10-29T14:59:30.6230000",
"UploadDate": "2019-10-29T14:59:30.6400000",
"RetentionDate": "2022-10-29T14:59:30.6400000",
"Path": "900010.pdf",
"Folder": null,
"MainProcess": {
"ProcessNr": 900010,
"ProcessTypeNr": 18,
"ProcessTypeName": "Rechnung"
},
"AdditionalProcesses": [
{
"ProcessNr": 13141,
"ProcessTypeNr": 1,
"ProcessTypeName": "Kunden"
},
{
"ProcessNr": 900010,
"ProcessTypeNr": 18,
"ProcessTypeName": "Rechnung"
},
{
"ProcessNr": 14,
"ProcessTypeNr": 25,
"ProcessTypeName": "Kalkulation"
},
{
"ProcessNr": 600024,
"ProcessTypeNr": 100,
"ProcessTypeName": "Kontakt"
}
]
}
]
}
}
Endpunkt: /DownloadDokVersion
Liefert den Dateiinhalt einer bestimmten Version einer Dokumentendatei
Endpunkt: /xDokument/DownloadDokVersion
Anfragetyp
GET
Antwortformat
Byte-Stream
Erforderliche Parameter
DokVersionNr
Beispiel-Anfrage
https://webserver/esweb_eserp/xDokument/DownloadDokVersion?DokVersionNr=41
Die Antwort kann direkt als Datei lokal gespeichert werden.