Zum Hauptinhalt springen
Sie können die Web-API verwenden, um Berichte zu Operator-Arbeitslasten, verarbeiteten Dokumenten, Dokumenten bestimmter Clients und anderen Kriterien herunterzuladen. Die Parameter der API-Methoden sind identisch mit denen, die zum Erstellen von Berichten über die GUI der Administration and Monitoring Console verwendet werden. Die resultierende CSV-Datei ist ebenfalls identisch mit der CSV-Datei, die über die GUI der Administration and Monitoring Console erstellt wird. Ausführliche Informationen zu den verschiedenen in Berichten erfassten Daten finden Sie im Abschnitt Reports der Hilfe zur Administration and Monitoring Console. Um Reports herunterzuladen, verwenden Sie einen GET-Request und übergeben Sie die folgende URI: http://localhost/FlexiCapture12/Monitoring/Report/GetCsv?reportType=<reportType>&filterParametersJson=<filterParametersJson>. In dieser URI können reportType und filterParametersJson die folgenden Werte annehmen:

Name

Berichtstyp. Mögliche Werte:

  • 1 - Allgemeiner Operatorenbericht
  • 3 - Bericht zur Verarbeitungsleistung
  • 9 - Bericht zur Standortleistung
  • 10 - Bericht zum Lizenzverbrauch nach Mandanten
  • 11 - Bericht zum Lizenzverbrauch nach Projekten

Parameter, anhand derer Berichte generiert werden. Welche Parameter verfügbar sind, hängt vom Berichtstyp ab. Ausführliche Informationen zu den Parametern der einzelnen Berichte finden Sie hier:

Ein Verwendungsbeispiel für diese API finden Sie im Skript. Laden Sie das Skript hier herunter oder verwenden Sie den nachfolgenden Skriptcode.
# Auth-Parameter
$endpoint = "https://preprod01.flexicapture.com"
$tenant = "tenantName"
$user = "FCUserName"
$pass = "password"
$filePath = "c:\temp\report.csv"
# Report-Parameter
$reportType = 3
$jsonparameters = @"
[
{
"Name": "dateFrom",
"Value": "2022-08-31T21:00:00.000Z"
},
{
"Name": "dateTo",
"Value": "2022-09-01T21:00:00.000Z"
},
{
"Name": "projects",
"Value": [
5,
6,
7,
9,
10,
11,
12,
13,
14,
15,
16,
17,
19,
20,
28,
81,
221
]
},
{
"Name": "aggregateByBatchTypes",
"Value": true
},
{
"Name": "groupByType",
"Value": 1
},
{
"Name": "grouping",
"Value": "ProcessingStageName"
},
{
"Name": "columns",
"Value": [
"ProjectId",
"BatchTypeName",
"ProcessedBatchs",
"ProcessedDocs"
]
}
]
"@
###################################################
clear
$ErrorActionPreference="stop"
#AuthTicket für die Autorisierung über die FlexiCapture SOAP API abrufen
$tenantSuffix=""
$tenantInUrl = ""
if (($tenant -ne $null) -or ($tenant -eq "")) {
$tenantSuffix= "?Tenant="+$tenant
$tenantInUrl = "/$tenant"
}
$URL = $endpoint+'/FlexiCapture12/Server/FCAuth/API/Soap'+$tenantSuffix
$SOAPRequest = @"
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<FindUser xmlns="urn:http://www.abbyy.com/FlexiCapture">
<userLogin>$user</userLogin>
</FindUser>
</soap:Body>
</soap:Envelope>
"@
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{
'SOAPAction' = '"#FindUser"'
'Content-Type' = 'text/xml; charset=utf-8'
'Authorization' = "$basicAuthValue"
}
$response = Invoke-WebRequest -Uri $URL `
-Headers $Headers `
-Body $SOAPRequest `
-Method 'POST' `
$authTicket = $response.Headers['AuthTicket']
#Auth-Cookie erstellen
$session = [Microsoft.PowerShell.Commands.WebRequestSession]::new()
$cookie = [System.Net.Cookie]::new('FlexiCaptureTmpPrn', "Ticket=$authTicket")
$session.Cookies.Add($endpoint, $cookie)
# Bericht über API anfordern und speichern
$uriGet = $endpoint+ "/FlexiCapture12/Monitoring$tenantInUrl/Report/GetCSV?reportType=$reportType&filterParametersJson="
$uriGet += [uri]::EscapeDataString($jsonparameters)
$header = @{
"Accept" = "*/*"
"Accept-Encoding" = "gzip, deflate, br"
}
$response = Invoke-RestMethod -Uri $uriGet -Method 'GET' -Headers $header -WebSession $session -OutFile $filePath