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

# Von Vantage Mobile Input verarbeitete Daten

> Datenfluss und API-Aufrufe, mit denen Vantage Mobile Input unter iOS und Android Dokumente erstellt, Bilder hochlädt und die Verarbeitung von Vorgängen in Vantage startet.

export const VantageRegion = ({children}) => {
  const STORAGE_KEY = "abbyy.vantage.region";
  const REGIONS = [{
    code: "eu",
    label: "Europe"
  }, {
    code: "us",
    label: "North America"
  }, {
    code: "au",
    label: "Australia / Asia-Pacific"
  }];
  const [region, setRegion] = useState("eu");
  const [open, setOpen] = useState(false);
  const containerRef = useRef(null);
  const dropdownRef = useRef(null);
  function safeGetSavedRegion() {
    try {
      const saved = typeof window !== "undefined" ? window.localStorage.getItem(STORAGE_KEY) : null;
      const valid = new Set(REGIONS.map(r => r.code));
      return saved && valid.has(saved) ? saved : "eu";
    } catch {
      return "eu";
    }
  }
  function safeSetSavedRegion(code) {
    try {
      if (typeof window !== "undefined") {
        window.localStorage.setItem(STORAGE_KEY, code);
      }
    } catch {}
  }
  function dispatchRegionChanged(code) {
    try {
      if (typeof window !== "undefined") {
        window.dispatchEvent(new CustomEvent("abbyy:region-changed", {
          detail: {
            code
          }
        }));
      }
    } catch {}
  }
  function replaceRegionInString(text, currentRegion) {
    if (typeof text !== "string") return text;
    const hostRegex = /https:\/\/vantage-(eu|us|au)\.abbyy\.com/gi;
    const tokenRegex = /https:\/\/vantage-\[region\]\.abbyy\.com/gi;
    const bareHostRegex = /vantage-(eu|us|au)\.abbyy\.com/gi;
    const bareTokenRegex = /vantage-\[region\]\.abbyy\.com/gi;
    return text.replace(hostRegex, `https://vantage-${currentRegion}.abbyy.com`).replace(tokenRegex, `https://vantage-${currentRegion}.abbyy.com`).replace(bareHostRegex, `vantage-${currentRegion}.abbyy.com`).replace(bareTokenRegex, `vantage-${currentRegion}.abbyy.com`);
  }
  useEffect(() => {
    setRegion(safeGetSavedRegion());
  }, []);
  useEffect(() => {
    const root = containerRef.current;
    if (!root) return;
    const anchors = root.querySelectorAll("a[href]");
    anchors.forEach(a => {
      const href = a.getAttribute("href");
      if (href) {
        const next = replaceRegionInString(href, region);
        if (next !== href) {
          a.setAttribute("href", next);
        }
      }
    });
    const walker = typeof document !== "undefined" ? document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null) : null;
    if (walker) {
      const toUpdate = [];
      let node = walker.nextNode();
      while (node) {
        const updated = replaceRegionInString(node.nodeValue, region);
        if (updated !== node.nodeValue) {
          toUpdate.push([node, updated]);
        }
        node = walker.nextNode();
      }
      toUpdate.forEach(([textNode, value]) => {
        textNode.nodeValue = value;
      });
    }
  }, [region, children]);
  useEffect(() => {
    const root = containerRef.current;
    if (!root) return;
    const anchors = root.querySelectorAll("a[href]");
    anchors.forEach(a => {
      a.style.fontWeight = "600";
      a.style.textDecoration = "underline";
      a.style.textUnderlineOffset = "2px";
    });
  }, [region, children]);
  useEffect(() => {
    const onRegionChanged = evt => {
      const code = evt && evt.detail && evt.detail.code;
      if (!code || code === region) return;
      setRegion(code);
    };
    if (typeof window !== "undefined") {
      window.addEventListener("abbyy:region-changed", onRegionChanged);
    }
    return () => {
      if (typeof window !== "undefined") {
        window.removeEventListener("abbyy:region-changed", onRegionChanged);
      }
    };
  }, [region]);
  useEffect(() => {
    const onClickAway = e => {
      if (!dropdownRef.current) return;
      if (!dropdownRef.current.contains(e.target)) {
        setOpen(false);
      }
    };
    document.addEventListener("click", onClickAway, true);
    return () => document.removeEventListener("click", onClickAway, true);
  }, []);
  const onSelect = code => {
    setRegion(code);
    safeSetSavedRegion(code);
    dispatchRegionChanged(code);
    setOpen(false);
  };
  const current = REGIONS.find(r => r.code === region) || REGIONS[0];
  return <div className="not-prose">
      <div className="mb-4 inline-flex items-center gap-2" ref={dropdownRef}>
        <span className="text-sm text-zinc-950/80 dark:text-white/80">Tenant Region:</span>
        <div className="relative">
          <button type="button" aria-haspopup="listbox" aria-expanded={open ? "true" : "false"} onClick={() => setOpen(v => !v)} className="h-8 px-3 rounded-md bg-zinc-900/5 dark:bg-white/5 border border-zinc-950/20 dark:border-white/20 text-sm inline-flex items-center gap-2">
            <span className="text-zinc-950 dark:text-white">{current.label}</span>
            <svg width="8" height="24" viewBox="0 -9 3 24" className="transition-transform text-gray-400 overflow-visible dark:text-gray-600 ml-auto" style={{
    transform: open ? "rotate(270deg)" : "rotate(90deg)"
  }}>
              <path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round"></path>
            </svg>
          </button>
          {open ? <div role="listbox" className="absolute z-50 left-full top-0 ml-2 w-56 rounded-xl border border-zinc-950/20 dark:border-white/20 bg-white dark:bg-zinc-900 shadow-lg p-2">
              {REGIONS.map(r => {
    const selected = r.code === region;
    return <button key={r.code} type="button" role="option" aria-selected={selected ? "true" : "false"} onClick={() => onSelect(r.code)} className={"w-full flex items-center justify-between px-3 py-2 rounded-lg text-sm hover:bg-zinc-950/5 dark:hover:bg-white/10 text-zinc-950 dark:text-white" + (selected ? " font-medium" : "")}>
                    <span style={selected ? {
      color: "#ff2038"
    } : undefined}>{r.label}</span>
                    <span className={selected ? "ml-3" : "ml-3 invisible"} style={selected ? {
      color: "#ff2038"
    } : undefined}>✓</span>
                  </button>;
  })}
            </div> : null}
        </div>
      </div>
      <div ref={containerRef} className="prose dark:prose-invert max-w-none">{children}</div>
    </div>;
};

Vantage Mobile Upload kommuniziert mittels API-Aufrufen mit dem Vantage-Server. Diese Aufrufe werden verwendet, um Dokumente zu erstellen, Bilder hochzuladen und die Verarbeitung von Vorgängen mit bestimmten Parametern zu starten.

<div id="api-calls-by-platform">
  ## API-Aufrufe nach Plattformen
</div>

<div id="ios-platform">
  ### iOS-Plattform
</div>

Die iOS-Micro-App von Vantage Mobile Input nutzt die folgenden API-Aufrufe:

1. Übermitteln der Parameter der Eingabesitzung an das Vantage Mobile Upload Backend
2. Abrufen der Parameter der Eingabesitzung vom Vantage Mobile Upload Backend
3. Abfragen des Status der Transaction
4. Herunterladen von Modellen zur Analyse von Dokumentbildern
5. Abrufen der Liste der Dokumente in der Transaction
6. Löschen vorhandener Dokumente in der Transaction
7. Erstellen eines Dokuments in der Transaction
8. Hochladen erfasster Bilder zum Dokument
9. Starten der Transaction

<div id="android-platform">
  ### Android-Plattform
</div>

Die Android-Micro-App von Vantage Mobile Input verwendet die folgenden API-Aufrufe:

1. Abfragen des Status des Vorgangs
2. Herunterladen von Modellen zur Analyse von Dokumentbildern
3. Abrufen der Liste der Dokumente im Vorgang
4. Löschen vorhandener Dokumente im Vorgang
5. Erstellen eines Dokuments im Vorgang
6. Hochladen aufgenommener Bilder zum Dokument
7. Starten des Vorgangs

<div id="sending-input-session-parameters-to-the-vantage-mobile-upload-backend">
  ## Eingabesitzungsparameter an das Vantage Mobile Upload Backend übermitteln
</div>

Vantage Mobile Input sendet Eingabesitzungsparameter an das Vantage Mobile Upload Backend. Diese Parameter werden für die Upload-Sitzung in der Android-Micro-App oder im Webbrowser verwendet.

<div id="input-session-parameters">
  ### Eingabesitzungsparameter
</div>

| Schlüssel     | Beschreibung                                                                                                                        |
| :------------ | :---------------------------------------------------------------------------------------------------------------------------------- |
| BaseURL       | Die Hauptdomain des Vantage-Servers.                                                                                                |
| TransactionID | Der Bezeichner des Vorgangs.                                                                                                        |
| Token         | Das codierte Autorisierungs-Zugriffstoken, das für den autorisierten Zugriff auf die Vantage-API verwendet wird.                    |
| v             | Die Version der Vantage-API.                                                                                                        |
| md            | Die Anzahl der Dokumente, die in einem Vorgang erfasst werden.                                                                      |
| redirect\_uri | Der Weiterleitungslink, der geöffnet wird, wenn Vantage Mobile Upload abgeschlossen ist.                                            |
| dt            | Der Dokumenttyp.                                                                                                                    |
| ma            | Die Adresse der ABBYY Vantage-Cloud-Umgebung, die zum Starten von Micro Applications für On-Premises-Installationen verwendet wird. |

Anfrage:

```
curl -X POST "https://mobilesessionmanager-eu.abbyy.com/api/v1/mobilesessions"
-H "accept: text/plain" \
-H "Content-Type: application/json" \
-F "Body=
    {
      "sessionAuxiliaryKey": "string",
      "sessionData": "string"
    }
```

Antwort:

```
Statuscode der Anfrage
```

<div id="getting-input-session-parameters-from-vantage-mobile-upload-backend">
  ## Eingabesitzungsparameter aus dem Vantage Mobile Upload Backend abrufen
</div>

Zum Abrufen der Eingabesitzungsparameter sendet Vantage Mobile Upload Anfragen an das Vantage Mobile Upload Backend.

<div id="input-session-parameters">
  ### Eingabesitzungsparameter
</div>

| Schlüssel     | Beschreibung                                                                                                                        |
| :------------ | :---------------------------------------------------------------------------------------------------------------------------------- |
| BaseURL       | Die Hauptdomäne des Vantage-Servers.                                                                                                |
| TransactionID | Der Bezeichner des Vorgangs.                                                                                                        |
| Token         | Das codierte Zugriffstoken für den autorisierten Zugriff auf die Vantage-API.                                                       |
| v             | Die Version der Vantage-API.                                                                                                        |
| md            | Die Anzahl der Dokumente, die in einem Vorgang erfasst werden.                                                                      |
| redirect\_uri | Der Weiterleitungslink, der geöffnet wird, sobald Vantage Mobile Upload abgeschlossen ist.                                          |
| dt            | Der Dokumenttyp.                                                                                                                    |
| ma            | Die Adresse der ABBYY Vantage-Cloud-Umgebung, die zum Starten von Micro Applications für On-Premises-Installationen verwendet wird. |

Anfrage:

```
curl -X POST "https://mobilesessionmanager-eu.abbyy.com/api/v1/mobilesessions/retrive"
-H "accept: text/plain" \
-H "Content-Type: application/json" \
-F "Body=
    {
      "userCode": "String"
    }
```

Antwort:

```
{
   "sessionData": "<Input Session Parameters>"
}
```

Beispiel für Eingabesitzungsparameter:

```
{
\"sessionData\": \"https://mobilesessionmanager-eu.abbyy.com/mobile?baseUrl=<https://vantage-us.abbyy.com>&transactionId=<transaction-id>&token=<token>&v=<release_version>\"
}
```

<div id="getting-the-status-of-the-transaction">
  ## Abrufen des Status des Vorgangs
</div>

Vantage Mobile Upload sendet eine Anfrage, um die Vorgangs-ID und den Status abzurufen. Nur Vorgänge mit dem Status **New** eignen sich zum Hochladen von Dokumenten.

**Wichtige Parameter**

| Schlüssel     | Beschreibung                                                                 |
| :------------ | :--------------------------------------------------------------------------- |
| TransactionID | Die ID des Vorgangs.                                                         |
| Status        | Der Status des Vorgangs. Mögliche Werte: New, Started, Processing, Processed |

Anfrage:

<VantageRegion>
  ```
  GET https://vantage-us.abbyy.com/api/publicapi/v1/transactions/transaction-id
  ```
</VantageRegion>

Antwort:

```
{
   "id": "<TransactionID>",
   "status": "<Status>"
}
```

<div id="downloading-the-models-for-analyzing-images-of-the-documents">
  ## Herunterladen der Modelle zur Analyse von Dokumentbildern
</div>

Vantage Mobile Upload sendet Anfragen zum Herunterladen von Modellen zur Erkennung von Seitenkanten in Dokumentbildern für die iOS-Micro-App.

**Wichtige Parameter**

| Schlüssel           | Beschreibung                                                                                                                                                                                                                                                                                                                      |
| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AbbyyRtrSDK-version | Die Version des AbbyyRtrSDK-Frameworks, die verwendet wird, um die entsprechenden Pattern-Dateien anzufordern. Der Wert kann sich je nach Version von Vantage ändern.                                                                                                                                                             |
| PatternFileName     | Der Name des AbbyyRtrSDK-Dateimusters, das zur Erkennung von Seitenkanten in Dokumentbildern verwendet wird. Es gibt sechs Typen von Dateimustern: `FactCrop.imodel`, `CnnCrop.Classifier.cnnmodel`, `DIQClassifier.imodel`, `CnnCrop.Detector.GenericWithID.cnnmodel`, `DIQBlockClassifier.imodel`, `CropClassifierPhoto.imodel` |

Anfrage:

<VantageRegion>
  ```
  GET https://vantage-us.abbyy.com/app_clip/mobile_sdk_assets/AbbyyRtrSDK-version/patterns/PatternFileName
  ```
</VantageRegion>

Antwort:

```
File pattern
```

<div id="getting-a-list-of-the-documents-in-the-transaction">
  ## Abrufen einer Liste der Dokumente im Vorgang
</div>

Bevor Dokumente in den Vorgang hochgeladen werden, sendet Vantage Mobile Upload eine Anfrage, um zu prüfen, ob der Vorgang bereits erstellte Dokumente enthält. Wenn der Vorgang nicht leer ist, sendet Vantage Mobile Upload vor einer neuen Upload-Sitzung eine Anfrage **Dokument löschen**, um alle vorhandenen Dokumente zu entfernen.

**Wichtige Parameter**

| Parameter      | Beschreibung                                                                                                                                                                                     |
| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| TransactionID  | Der Bezeichner des Vorgangs.                                                                                                                                                                     |
| DocumentID     | Der Bezeichner des Dokuments, das von der Anfrage **Dokument erstellen** zurückgegeben wurde.                                                                                                    |
| SourceFileID   | Der Bezeichner des Dokumentbilds.                                                                                                                                                                |
| SourceFileName | Der Name des Dokumentbilds. Vantage Mobile Upload generiert automatisch Dateinamen für jedes Bild und lädt die Bilder mit der Anfrage **Bilder in das Dokument hochladen** in das Dokument hoch. |

Anfrage:

<VantageRegion>
  ```
  GET https://vantage-us.abbyy.com/api/publicapi/v1/transactions/transaction-id/documents
  ```
</VantageRegion>

Antwort:

```
[
   {
      "documentId": "<DocumentID>",
      "sourceFiles": 
      [
         {
           "id": "<SourceFileID>",
           "name": "<SourceFileName>.JPG"
         }
      ]
   }, 
   {
      "documentId": "<DocumentID>",
      "sourceFiles": 
      [
         {
           "id": "<SourceFileID>",
           "name": "<SourceFileName>.JPG"
         }
      ]
   }
]
```

<div id="deleting-existing-documents-in-the-transaction">
  ## Löschen vorhandener Dokumente im Vorgang
</div>

Um ein Dokument aus dem Vorgang zu entfernen, bevor die Verarbeitung beginnt, verwenden Sie `DELETE /api/publicapi/v1/transactions/{transactionId}/documents/{documentId}`.

Dies ermöglicht Benutzerinnen und Benutzern:

* Falsch erfasste Dokumente zu entfernen
* Dokumente vor dem erneuten Erfassen zu löschen
* Dokumentensätze im Vorgang zu verwalten

<Info>
  Dokumente können nur gelöscht werden, bevor der Vorgang verarbeitet wird.
</Info>

<div id="creating-a-document-in-the-transaction">
  ## Erstellen eines Dokuments im Vorgang
</div>

Zum Hochladen von Bildern sendet Vantage Mobile Upload eine Anfrage, um für jedes Dokument im Vorgang eine Dokumentinstanz zu erstellen.

**Wichtige Parameter**

| Schlüssel     | Beschreibung                                                                  |
| :------------ | :---------------------------------------------------------------------------- |
| Token         | Das codierte Zugriffstoken für den autorisierten Zugriff auf die Vantage-API. |
| TransactionID | Der Bezeichner des Vorgangs.                                                  |
| DocumentID    | Der Bezeichner des Dokuments.                                                 |

Anfrage:

<VantageRegion>
  ```
  curl -X POST "https://vantage-us.abbyy.com/api/publicapi/v1/transactions/transaction-id/documents"
  -H "accept: */*" \
  -H "Authorization: Bearer token" \
  -H "Content-Type: application/json; charset=utf-8" \
  -F "Model=
      {
        "index": <Unsigned Integer Value: document index in UI>,
        "imageProcessingOptions": 
          {
             "autoOrientationCorrection": "<Yes/No/Default>",
             "autoCrop": "<Yes/No/Default>"
          }
      }
  ```
</VantageRegion>

Antwort:

```
{
   "documentId": "<DocumentID>"
}
```

<div id="uploading-captured-images-to-the-document">
  ## Hochladen erfasster Bilder in das Dokument
</div>

Sobald die Dokumentinstanz erstellt wurde, sendet Vantage Mobile Upload eine Anfrage, um alle Bilder in das Dokument hochzuladen. Alle Bilder eines Dokuments werden in einer einzigen Anfrage hochgeladen.

**Wichtige Parameter**

| Key            | Description                                                                                                                                 |
| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |
| Token          | Das codierte Zugriffstoken für die Autorisierung des Zugriffs auf die Vantage-API.                                                          |
| TransactionID  | Der Bezeichner des Vorgangs.                                                                                                                |
| DocumentID     | Der Bezeichner des Dokuments, der aus der Anfrage **Erstellen eines Dokuments** erhalten wurde.                                             |
| SourceFileID   | Der Bezeichner des Dokumentbilds.                                                                                                           |
| SourceFileName | Der Name des Dokumentbilds. Vantage Mobile Upload generiert automatisch Dateinamen für jedes Bild und lädt die Bilder in das Dokument hoch. |
| ImageData      | Die codierten Informationen aus den Bilddateien. Sie werden verwendet, um Bilder in Dokumente hochzuladen.                                  |

Anfrage:

<VantageRegion>
  ```
  curl -X POST "https://vantage-us.abbyy.com/api/publicapi/v1/transactions/transaction-id/documents/document-id/sourceFiles"
  -H "accept: */*" \
  -H "Authorization: Bearer token" \
  -H "Content-Type: multipart/form-data; boundary=<Boundary>" \
  -F "Body=
      {
        "files": [
         {
           "index": 0,
           "registrationParameters": [
             {
              "key": "SourceType",
              "value": "Vantage Mobile Capture"
             }
           ]
          }
         ]
      },
      {
        "index": 1,
        ...
      },
        ...
     ]
   }

  <Boundary>
  Content-Disposition: form-data; name="Files"; filename="<SourceFileName>.JPG"
  Content-Type: image/jpeg
  <ImageData>

  ...
  <Boundary>
  Content-Disposition: form-data; name="Files"; filename="<SourceFileName>.JPG"
  Content-Type: image/jpeg
  <ImageData>
  ...
  <Boundary>
  ```
</VantageRegion>

Antwort:

```
Statuscode der Anfrage
```

<div id="starting-the-transaction">
  ## Starten des Vorgangs
</div>

Sobald alle Dokumente erstellt und alle Bilder in die Dokumente hochgeladen wurden, sendet Vantage Mobile Upload eine Anfrage, um den Vorgang zu starten.

**Wichtige Parameter**

| Name          | Beschreibung                                                                                      |
| :------------ | :------------------------------------------------------------------------------------------------ |
| Token         | Das codierte Zugriffstoken, das für den autorisierten Zugriff auf die Vantage-API verwendet wird. |
| TransactionID | Der Bezeichner des Vorgangs.                                                                      |

Anfrage:

<VantageRegion>
  ```
  curl -X POST "https://vantage-us.abbyy.com/api/publicapi/v1/transactions/transaction-id/start"
  -H "accept: */*" \
  -H "Authorization: Bearer token" \
  -H "Content-Type: application/json; charset=utf-8" \
  ```
</VantageRegion>

Antwort:

```
Statuscode der Anfrage
```
