Ausgabesystem "WebServiceOutput"
Das Ausgabesystem "WebServiceOutput" ist die Webservice-Schnittstelle zur asynchronen Ausgabe von verarbeiteten Daten aus xSuite Interface an eine Fremdanwendung. Unter Verwendung des Eingabesystems "WebserviceOutputClient" kann die Übergabe der Daten auch an eine weitere xSuite-Interface-Instanz erfolgen.
Für dieses Ausgabesystem gelten ausschließlich die Eigenschaften, die unter Webservice-Schnittstellen aufgeführt sind.
Der Webservice verfügt über die folgenden Endpunkte:
Endpunkt | Beschreibung |
|---|---|
GET /api/v1/Output/{Tenant}/{Scenario}/Batches [OutputGetWaitingBatchInfos] GET /api/v1/Output/{Tenant}/{Scenario}/Documents [OutputGetWaitingDocumentsInfos] | Über diese Abfragen können die IDs und die Namen aller Stapel oder Dokumente ermittelt werden, die zur Abholung bereitstehen und den Status "WaitingFetch" haben. Generell muss hier, wie auch bei den weiteren Anfragen an diese Schnittstelle, zwischen einer stapelorientierten und einer dokumentorientierten Arbeitsweise unterschieden werden. Einzelne Dokumente eines Stapels sind bereits abrufbar, wenn der Stapel als Ganzes noch nicht vollständig zur Ausgabe bereitsteht. Wenn hingegen der Stapel als Ganzes abgeholt werden soll, müssen sich auch alle enthaltenen Dokumente im betreffenden Status befinden. |
GET /api/v1/Output/{Tenant}/{Scenario}/Batches/{BatchId} [OutputGetBatch] GET /api/v1/Output/{Tenant}/{Scenario}/Documents/{DocId} [OutputGetDocument] | Anhand der IDs in der zuvor abgerufenen Stapelliste oder Dokumentenliste können jeweils einzelne Stapel/Dokumente sukzessive abgerufen werden. Auf Stapelebene sind dabei auch alle zugehörigen Dokumente automatisch enthalten. Für beide Aufrufvarianten wird über den URL-Parameter Der Aufbau der Stapeldokumente und der Dokumentobjekte entspricht ausgabeseitig dem Aufbau des Eingabesystems "WebserviceInput", nur jeweils ergänzt um deren Datenbank-ID. Über die Eigenschaften Die Liste der Felder kann hier auch komplett leer gelassen werden, sodass die Ausgabefelder stattdessen aus sämtlichen Feldern des Feldkataloges unter den dort definierten Feldnamen gebildet werden. Dies kann die Konfiguration vereinfachen, wenn z. B. Daten per Webservice von einer xSuite-Interface-Instanz (Ausgabesystem "WebServiceOutput") an eine andere (Eingabesystem "WebServiceOutputClient") weiteregegeben werden und beide Instanzen identische Feldkataloge verwenden. |
GET /api/v1/Output/{Tenant}/{Scenario}/Documents/{DocId}/Files/{FileId}/Binary [OutputDownloadFileBinary] GET /api/v1/Output/{Tenant}/{Scenario}/Documents/{DocId}/Files/{FileId}/Json [OutputDownloadFileJson] | Wenn die Binärdaten der Dateianlagen aufgrund der Anzahl oder Größe nicht direkt beim Abruf der Stapel oder Dokumente mitgeführt werden sollen, ist über diese Aufrufe ein separater Download für jeweils eine einzelne Anlage möglich. Die In der Variante "DownloadFileBinary" werden die Binärdaten der Datei direkt als Body-Inhalt zurückgeliefert. In der Variante "DownloadFileJson" wird ein JSON-Objekt im gleichen Aufbau generiert wie dies in der Dateianlagenliste eines Dokumentobjektes enthalten ist. |
DELETE /api/v1/Output/{Tenant}/{Scenario}/Batches/{BatchId} [OutputAcknowledgeBatch] DELETE /api/v1/Output/{Tenant}/{Scenario}/Documents/{DocId} [OutputAcknowledgeDocument] | Nach dem vollständigen Abruf sollte ein Stapel oder ein Dokument entsprechend gekennzeichnet werden, um bei der nächsten Anfrage nach abholbereiten Stapeln oder Dokumenten nicht erneut angeboten zu werden. Programmintern wird der aktuelle Ausgabeschritt für das Dokument oder für alle Dokumente des Stapels somit als beendet angesehen. Wenn noch ein weiterer Schritt folgt, wird zu diesem übergegangen. Solange für einen Stapel oder ein Dokument keine Abholbestätigung gesendet wurde, wird der Stapel oder das Dokument allen anfragenden Prozessen zur Abholung angeboten. Um eine mehrfache Abholung durch konkurrierende Prozesse zu vermeiden, sollte je Mandant und Szenario nur genau ein Prozess die Daten abfragen. |