> ## 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.

# Récupérez des données via l’API

> Récupérez les données de reporting des processus métier dans ABBYY FlexiCapture à l’aide des points d’entrée BatchState et BatchRouting, de requêtes GET et d’un script PowerShell pour CSV.

<div id="path-to-the-business-process-reporting-data-storage">
  ## Chemin d’accès au stockage des données de reporting des processus métier
</div>

Points d’entrée :

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

Le chemin complet vers le stockage des données est un lien modifiable.

Exemple :

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

Pour l’accès via le module d’authentification ABBYY FlexiCapture, `/FCAuth` est ajouté au lien.

L’accès autorisé est possible dans les cas suivants :

* Pour les utilisateurs autorisés d’ABBYY FlexiCapture.
* Lors de l’utilisation de jetons SAML/JWT.

Exemple :

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

Si le tenant n’est pas le tenant par défaut, le paramètre `?Tenant=<nom du tenant>` est ajouté au lien.

Exemple :

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

<div id="create-requests">
  ## Créer des requêtes
</div>

Seules les requêtes GET sont acceptées.

* **List** renvoie une liste de noms de fichiers au format JSON.
* **File** renvoie le fichier portant le nom spécifié (qui doit être encodé au format URL).
* **View** renvoie une liste de noms de fichiers au format HTML et insère des liens vers ces fichiers à l’aide de la commande **File** décrite ci-dessus. Cette requête vous permet ainsi d’utiliser les liens fournis pour ouvrir les fichiers dans votre navigateur et en enregistrer des copies sur votre machine locale.

Exemples :

```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">
  ## Obtenir des rapports reporting des processus métier à l’aide d’un script PowerShell
</div>

Le script ci-dessous permet aux utilisateurs du tenant disposant du rôle **Administrateur** ou **Opérateur de surveillance** d’obtenir des données de supervision des processus métier.

Les rapports sont enregistrés au format CSV dans le dossier à partir duquel le script a été lancé.

```powershell theme={null}
$serviceHost = 'http://localhost' #Hôte
$user=$null #Utilisateur
$pass=$null #Mot de passe
$tenant=$null #Nom du tenant
$baseUrl = $serviceHost
if( $user ) {
    $baseUrl += '/flexicapture12/server/FCAuth/Reporting/'
    } else {    $baseUrl += '/flexicapture12/server/Reporting/'
    }function createBasicCredentials() #Transforme le mot de passe en chaînes chiffrées
{
    $secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
    return New-Object System.Management.Automation.PSCredential($user, $secpasswd)
}
function getListFromUrl( $url ) #Authentifie à l'aide des identifiants saisis
{
    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() #Demande une liste de fichiers BatchState
{
    $url = $baseUrl + 'BatchState/List';
    return getListFromUrl -url $url
}
function getBatchRoutingFileList() #Demande une liste de fichiers BatchRouting
{
    $url = $baseUrl + 'BatchRouting/List';
    return getListFromUrl -url $url
}
function downloadFile ( $fileName, $outDir ) #Télécharge les fichiers
{
    $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; #Téléverse les fichiers BatchState dans le répertoire courant
foreach ($file in $files) {
    downloadFile -fileName $file -outDir '.\'
}
$files = getBatchRoutingFileList; #Téléverse les fichiers BatchRouting dans le répertoire courant
foreach ($file in $files) {
    downloadFile -fileName $file -outDir '.\'
}
```
