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

# Manuelle Überprüfung integrieren

> Betten Sie die Manuelle Überprüfung von ABBYY Vantage mithilfe von Vorgangsstatus, manualReviewLink und iframe-Integration für Human-in-the-Loop-Workflows in Ihre Anwendung ein.

Wenn Sie ABBYY Vantage in Ihrem eigenen System einsetzen, möchten Sie wahrscheinlich auch die Funktionen für die Manuelle Überprüfung nutzen. In diesem Abschnitt erfahren Sie, wie Sie die Manuelle Überprüfung integrieren.

Nachdem Sie einige Dokumente über die Vantage-API zur Verarbeitung gesendet haben, überwachen Sie den Vorgangsstatus, wie in [Dokumente mit der Vantage-API verarbeiten](/de/vantage/developer/processing-documents/processing-documents) beschrieben. Wenn ein Dokument von einem menschlichen Bearbeiter überprüft werden muss, enthält die Antwort zum Vorgangsstatus einen `manualReviewLink`-Schlüssel mit einem sicheren Link, über den der Prüfer nur auf die Daten dieses bestimmten Vorgangs zugreifen kann.

Binden Sie ein iframe-Element mit den Inhalten dieses Links in die Webseite Ihres Dienstes ein:

```html theme={null}
<iframe src="manual-review-link"></iframe>
```

Beachten Sie, dass der Link 168 Stunden nach seiner Erstellung abläuft. Wenn Sie die Überprüfung fortsetzen müssen, fordern Sie einen neuen Link an, indem Sie wie zuvor eine `GET`-Anfrage an die Ressource `transactions` stellen.

<div id="iframe-appearance">
  ## Iframe-Darstellung
</div>

Sie können die Darstellung des Dienstes vereinheitlichen, indem Sie das Vantage-Logo entfernen oder bestimmte Bereiche in der Oberfläche des Clients für Manuelle Überprüfung ausblenden.

Um das Vantage-Logo zu entfernen, fügen Sie dem Link einen `displayMode`-Query-Parameter mit dem Wert `iframe` wie folgt hinzu:

```html theme={null}
<iframe src="manual-review-link&displayMode=iframe"></iframe>
```

Verwenden Sie die folgenden Optionen, um die Benutzeroberfläche der Manuellen Überprüfung einzurichten:

| Key                        | Description                                                                                                                                                               |
| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **features**               |                                                                                                                                                                           |
| `batchEditor`              | Auf `false` setzen, um den Bereich mit den Seitenminiaturen auszublenden.                                                                                                 |
| `batchEditor.toolbar`      | Auf `false` setzen, um den Bereich mit den Seitenminiaturen anzuzeigen, aber die Symbolleiste auszublenden.                                                               |
| `batchEditor.autoCollapse` | Auf `true` setzen, um den Bereich mit den Seitenminiaturen anzuzeigen, ihn jedoch beim Öffnen der Benutzeroberfläche der Manuellen Überprüfung automatisch zu minimieren. |
| `docEditor`                | Auf `false` setzen, um den Seitenbildbereich auszublenden.                                                                                                                |
| `docEditor.toolbar`        | Auf `false` setzen, um den Seitenbildbereich anzuzeigen, aber dessen Symbolleiste auszublenden.                                                                           |
| `formEditor`               | Auf `false` setzen, um den Bereich mit der Liste der extrahierten Felder auszublenden.                                                                                    |
| `rulesReport`              | Auf `false` setzen, um den Bereich mit der Liste der Regelfehler auszublenden.                                                                                            |
| `sendToStageAvailable`     | Auf `true` setzen, um die Schaltfläche **Send to Stage...** anzuzeigen.                                                                                                   |

Diese Optionen sind in einem einzelnen JSON-Objekt zusammengefasst. Der folgende Beispielcode zeigt ein iframe an, bei dem der Bereich mit den Regelfehlern ausgeblendet und der Bereich mit den Seitenminiaturen minimiert ist:

```json theme={null}
"features": {
   "batchEditor": {
      "autocollapse": true,
   },
   "rulesReport": false,
}
```

Fügen Sie Ihrem Link für die Manuelle Überprüfung einen Abfrageparameter `settings` mit dem Inhalt dieses JSON-Objekts hinzu:

```html theme={null}
<iframe src="manual-review-link&settings=%7B%22features%22%3A%7B%22batchEditor%22%3A%7B%22autoCollapse%22%3Atrue%7D%2C%22rulesReport%22%3Afalse%7D%7D"></iframe>
```

<div id="iframe-events">
  ## Iframe-Ereignisse
</div>

Das Iframe-Objekt sendet Nachrichten an das übergeordnete Fenster, um Sie über die Aktionen des Reviewers in der Manuelle Überprüfung-Clientoberfläche zu informieren, damit Sie zum passenden Zeitpunkt mit dem nächsten Schritt fortfahren können.

Ereignisse werden mit dem Parameter `targetOrigin=parent` gesendet. Im Folgenden finden Sie eine Liste von Ereignissen, auf die Sie achten sollten:

* `ManualReviewWasPaused`. Wird gesendet, wenn der Reviewer auf die Schaltfläche **Reject** klickt.
* `ManualReviewWasCompleted`. Wird gesendet, wenn der Reviewer auf die Schaltfläche **Complete** klickt.
* `ManualReviewWithdrawn`. Wird gesendet, wenn der Reviewer für einige Zeit inaktiv war und die Manuelle Überprüfung-Clientaufgabe wieder in die allgemeine Aufgabenwarteschlange zurückgegeben wurde.

Der folgende Beispielcode zeigt, wie ein Iframe für die Manuelle Überprüfung angezeigt und ausgeblendet wird, sobald eines der oben genannten Ereignisse ausgelöst wurde.

**Beispielcode zum Abhören von Iframe-Ereignissen:**

```html theme={null}
<html style="min-height: 100%; height: 100%;">
<head>
  <script>
    var manualReviewLink; // der Link aus der Antwort zum Vorgangsstatus
    window.addEventListener("DOMContentLoaded", init, false);
    function init() {
      var iframe = document.createElement("iframe");
      iframe.src = getUrl();
      iframe.style.width = "100%";
      iframe.style.height = "95%";
      try {
        document.getElementById("main").removeChild(document.querySelector("iframe"));
      } catch (e) { }
      document.getElementById("main").appendChild(iframe);
      window.addEventListener("message", receiveMessage, false);
    }
    function getUrl() {
      return manualReviewLink + "&displayMode=iframe";
    }
    function receiveMessage(event) {
      console.log(event.data);
      if (event.data.target === "parent") {
        if (event.data.eventName === "ManualReviewWithdrawn" || 
            event.data.eventName === "ManualReviewWasPaused" || 
            event.data.eventName === "ManualReviewWasCompleted" ) {
          document.getElementById("iframe").style.display = "none";
        }
      }
    }
  </script>
</head>
<body
  style="background-color: #999999; min-height: 100%; height: 100%; position: relative; margin: 0; padding: 0; background: linear-gradient(to bottom right, #4380bc, #5ba484);">
  <div id="main"
    style="height: 100%; position: relative; padding:20px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;">
  </div>
</body>
</html>
```
