> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Daten über die API abrufen

> Rufen Sie Business-Process-Reporting-Daten aus ABBYY FlexiCapture über die Zugriffspunkte BatchState und BatchRouting, GET-Anfragen und ein PowerShell-CSV-Skript ab.

<div id="path-to-the-business-process-reporting-data-storage">
  ## Pfad zum Speicherort der Business-Process-Reporting-Daten
</div>

Zugriffspunkte:

```text theme={null}
/Reporting/BatchState/List
/Reporting/BatchState/File/<filename>
/Reporting/BatchState/View
/Reporting/BatchRouting/List
/Reporting/BatchRouting/File/<filename>
/Reporting/BatchRouting/View
```

Der vollständige Pfad zum Speicherort ist ein anpassbarer Link.

Beispiel:

```text theme={null}
http://localhost/Flexicapture12/Server/Reporting/BatchState/View
```

Für den Zugriff über das ABBYY FlexiCapture-Authentifizierungsmodul wird an den Link `/FCAuth` angehängt.

Autorisierter Zugriff ist in den folgenden Fällen möglich:

* Für autorisierte ABBYY FlexiCapture-Benutzer.
* Bei Verwendung von SAML-/JWT-Token.

Beispiel:

```text theme={null}
http://localhost/Flexicapture12/Server/FCAuth/Reporting/BatchState/View
```

Wenn es sich nicht um den Standardmandanten handelt, wird dem Link der Parameter `?Tenant=<Mandantenname>` hinzugefügt.

Beispiel:

```text theme={null}
http://localhost/Flexicapture12/Server/FCAuth/Reporting/BatchState/View?Tenant=myTenant
```

<div id="create-requests">
  ## Erstellen von Anfragen
</div>

Es werden nur GET-Anfragen akzeptiert.

* **List** gibt eine Liste von Dateinamen im JSON-Format zurück.
* **File** gibt eine Datei mit dem angegebenen Namen zurück (dieser sollte URL-codiert sein).
* **View** gibt eine Liste von Dateinamen im HTML-Format zurück und fügt Links zu den Dateien mithilfe des oben beschriebenen **File**-Befehls ein. So können Sie mit dieser Anfrage die bereitgestellten Links verwenden, um Dateien in Ihrem Browser zu öffnen und Kopien davon auf Ihrem lokalen Rechner zu speichern.

Beispiele:

```text theme={null}
http://localhost/Flexicapture12/Server/FCAuth/Reporting/BatchState/View
http://localhost/Flexicapture12/Server/FCAuth/Reporting/BatchRouting/View
```

<div id="get-business-process-reporting-reports-using-a-powershell-script">
  ## Abrufen von Business-Process-Reporting-Berichten mit einem PowerShell-Skript
</div>

Mit dem folgenden Skript können Benutzer eines Mandanten mit der Rolle **Administrator** oder **Monitoring Operator** Monitoring-Daten zu Geschäftsprozessen abrufen.

Die Berichte werden im CSV-Format in dem Ordner gespeichert, in dem das Skript gestartet wurde.

```powershell theme={null}
$serviceHost = 'http://localhost' #Host
$user=$null #Benutzer
$pass=$null #Kennwort
$tenant=$null #Mandantenname
$baseUrl = $serviceHost
if( $user ) {
    $baseUrl += '/flexicapture12/server/FCAuth/Reporting/'
    } else {    $baseUrl += '/flexicapture12/server/Reporting/'
    }function createBasicCredentials() #Kennwort in verschlüsselte Zeichenfolgen umwandeln
{
    $secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
    return New-Object System.Management.Automation.PSCredential($user, $secpasswd)
}
function getListFromUrl( $url ) #Authentifizierung mit eingegebenen Anmeldeinformationen
{
    if( $tenant ) {
        $url = $url + '?Tenant=' + [uri]::EscapeUriString( $tenant );
    }
    if( $user ) {
        $creds = createBasicCredentials -user $user -pass $pass
        $response = Invoke-WebRequest -Credential $creds -Uri $url;
    } else {
        $response = Invoke-WebRequest -UseDefaultCredentials -Uri $url;
    }
    $fileList = $response.ToString() | ConvertFrom-Json;
    return $fileList.reportFiles;
}
function getBatchStateFileList() #Fordert eine Liste der BatchState-Dateien an
{
    $url = $baseUrl + 'BatchState/List';
    return getListFromUrl -url $url
}
function getBatchRoutingFileList() #Fordert eine Liste der BatchRouting-Dateien an
{
    $url = $baseUrl + 'BatchRouting/List';
    return getListFromUrl -url $url
}
function downloadFile ( $fileName, $outDir ) #Dateien herunterladen
{
    $url = $baseUrl + 'BatchState/File/' + [uri]::EscapeUriString( $fileName );
    if( $tenant ) {
        $url = $url + '?Tenant=' + [uri]::EscapeUriString( $tenant );
    }
    $outPath = Join-Path -Path $outDir -ChildPath $fileName
    if( $user ) {
        $creds = createBasicCredentials -user $user -pass $pass
        $response = Invoke-WebRequest -Credential $creds -Uri $url;
        $response = Invoke-WebRequest -Credential $creds -Uri $url -OutFile $outPath
    } else {
        $response = Invoke-WebRequest -UseDefaultCredentials -Uri $url -OutFile $outPath
    }
}
$files = getBatchStateFileList; #BatchState-Dateien in das aktuelle Verzeichnis herunterladen
foreach ($file in $files) {
    downloadFile -fileName $file -outDir '.\'
}
$files = getBatchRoutingFileList; #BatchRouting-Dateien in das aktuelle Verzeichnis herunterladen
foreach ($file in $files) {
    downloadFile -fileName $file -outDir '.\'
}
```
