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

# Données traitées par Vantage Mobile Input

> Flux de données et appels à l’API utilisés par Vantage Mobile Input sur iOS et Android pour créer des documents, téléverser des images et lancer le traitement de transactions dans Vantage.

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 communique avec le serveur Vantage par le biais d’appels à l’API. Ces appels sont utilisés pour créer des documents, téléverser des images et lancer le traitement de transactions avec certains paramètres.

<div id="api-calls-by-platform">
  ## Appels d’API par plateforme
</div>

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

La micro‑application iOS de Vantage Mobile Input utilise les appels d’API suivants :

1. Envoi des paramètres de la session de saisie au Vantage Mobile Upload Backend
2. Récupération des paramètres de la session de saisie depuis le Vantage Mobile Upload Backend
3. Récupération de l’état de la transaction
4. Téléchargement de modèles pour analyser les images des documents
5. Récupération de la liste des documents de la transaction
6. Suppression des documents existants dans la transaction
7. Création d’un document dans la transaction
8. Téléversement des images capturées dans le document
9. Démarrage de la transaction

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

La micro-application Android de Vantage Mobile Input utilise les appels d’API suivants :

1. Récupération de l’état de la transaction
2. Téléchargement de modèles pour l’analyse des images des documents
3. Récupération de la liste des documents de la transaction
4. Suppression des documents existants dans la transaction
5. Création d’un document dans la transaction
6. Téléchargement des images capturées dans le document
7. Démarrage de la transaction

<div id="sending-input-session-parameters-to-the-vantage-mobile-upload-backend">
  ## Envoi des paramètres de session d’entrée au Vantage Mobile Upload Backend
</div>

Vantage Mobile Input envoie les paramètres de session d’entrée au Vantage Mobile Upload Backend. Ces paramètres sont utilisés pour la session de téléversement dans la micro-application Android ou le navigateur web.

<div id="input-session-parameters">
  ### Paramètres de la session d’entrée
</div>

| Clé           | Description                                                                                                                      |
| :------------ | :------------------------------------------------------------------------------------------------------------------------------- |
| BaseURL       | Le domaine principal du serveur Vantage.                                                                                         |
| TransactionID | L’identifiant de la transaction.                                                                                                 |
| Token         | Le jeton d’accès d’autorisation encodé utilisé pour accéder à l’API Vantage.                                                     |
| v             | La version de l’API Vantage.                                                                                                     |
| md            | Le nombre de documents à capturer dans une même transaction.                                                                     |
| redirect\_uri | Le lien de redirection qui s’ouvre une fois Vantage Mobile Upload terminé.                                                       |
| dt            | Le type de document.                                                                                                             |
| ma            | L’adresse de l’environnement cloud ABBYY Vantage utilisée pour lancer les micro-applications pour les installations on-premises. |

Requête :

```
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"
    }
```

Réponse :

```
Code de statut de la requête
```

<div id="getting-input-session-parameters-from-vantage-mobile-upload-backend">
  ## Récupérer les paramètres de la session d’entrée depuis Vantage Mobile Upload Backend
</div>

Pour obtenir les paramètres de la session d’entrée, Vantage Mobile Upload envoie des requêtes à Vantage Mobile Upload Backend.

<div id="input-session-parameters">
  ### Paramètres de la session d’entrée
</div>

| Clé           | Description                                                                                                                        |
| :------------ | :--------------------------------------------------------------------------------------------------------------------------------- |
| BaseURL       | Le domaine principal du serveur Vantage.                                                                                           |
| TransactionID | L’identifiant de la transaction.                                                                                                   |
| Token         | Le jeton d’accès d’autorisation encodé utilisé pour accéder à l’API Vantage.                                                       |
| v             | La version de l’API Vantage.                                                                                                       |
| md            | Le nombre de documents à capturer dans une seule transaction.                                                                      |
| redirect\_uri | Le lien de redirection qui s’ouvre une fois Vantage Mobile Upload terminé.                                                         |
| dt            | Le type de document.                                                                                                               |
| ma            | L’adresse de l’environnement cloud ABBYY Vantage utilisée pour démarrer les micro-applications dans les installations on-premises. |

Requête :

```
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"
    }
```

Réponse :

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

Exemple de paramètres d’une session d’entrée :

```
{
\"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">
  ## Récupération du statut de la transaction
</div>

Vantage Mobile Upload envoie une requête pour obtenir l’identifiant et le statut de la transaction. Seules les transactions ayant le statut **New** peuvent être utilisées pour téléverser des documents.

**Paramètres clés**

| Clé           | Description                                                                          |
| :------------ | :----------------------------------------------------------------------------------- |
| TransactionID | L’identifiant de la transaction.                                                     |
| Status        | Le statut de la transaction. Valeurs possibles : New, Started, Processing, Processed |

Requête :

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

Réponse :

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

<div id="downloading-the-models-for-analyzing-images-of-the-documents">
  ## Téléchargement des modèles pour analyser les images des documents
</div>

Vantage Mobile Upload envoie des requêtes pour télécharger les modèles utilisés pour détecter les bords de page dans les images des documents pour la micro-application iOS.

**Paramètres clés**

| Key                 | Description                                                                                                                                                                                                                                                                                                                            |
| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AbbyyRtrSDK-version | Version du framework AbbyyRtrSDK utilisée pour demander les fichiers de modèle appropriés. La valeur peut varier selon la version de Vantage.                                                                                                                                                                                          |
| PatternFileName     | Nom du fichier de modèle AbbyyRtrSDK utilisé pour détecter les bords de page dans les images des documents. Il existe six types de fichiers de modèle : `FactCrop.imodel`, `CnnCrop.Classifier.cnnmodel`, `DIQClassifier.imodel`, `CnnCrop.Detector.GenericWithID.cnnmodel`, `DIQBlockClassifier.imodel`, `CropClassifierPhoto.imodel` |

Requête :

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

Réponse :

```
File pattern
```

<div id="getting-a-list-of-the-documents-in-the-transaction">
  ## Obtenir la liste des documents de la transaction
</div>

Avant de téléverser des documents dans la transaction, Vantage Mobile Upload envoie une requête pour vérifier si la transaction contient des documents déjà créés. Si la transaction n’est pas vide, Vantage Mobile Upload envoie une requête **Suppression d’un document** pour supprimer tous les documents existants avant une nouvelle session de téléversement.

**Paramètres clés**

| Clé            | Description                                                                                                                                                                                                                    |
| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| TransactionID  | L’identifiant de la transaction.                                                                                                                                                                                               |
| DocumentID     | L’identifiant du document reçu à partir de la requête **Création d’un document**.                                                                                                                                              |
| SourceFileID   | L’identifiant de l’image du document.                                                                                                                                                                                          |
| SourceFileName | Le nom de l’image du document. Vantage Mobile Upload génère automatiquement des noms de fichier pour chaque image et téléverse les images dans le document à l’aide de la requête **Téléversement d’images dans le document**. |

Requête :

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

Réponse :

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

<div id="deleting-existing-documents-in-the-transaction">
  ## Suppression des documents existants dans la transaction
</div>

Pour supprimer un document de la transaction avant de lancer le traitement, utilisez `DELETE /api/publicapi/v1/transactions/{transactionId}/documents/{documentId}`.

Cela permet aux utilisateurs de :

* Supprimer des documents mal capturés
* Vider les documents avant une nouvelle capture
* Gérer les ensembles de documents de la transaction

<Info>
  Les documents ne peuvent être supprimés qu’avant le début du traitement de la transaction.
</Info>

<div id="creating-a-document-in-the-transaction">
  ## Création d’un document au sein de la transaction
</div>

Pour téléverser des images, Vantage Mobile Upload envoie une requête afin de créer des instances de document pour chaque document de la transaction.

**Paramètres clés**

| Clé           | Description                                                                  |
| :------------ | :--------------------------------------------------------------------------- |
| Token         | Le jeton d’accès d’autorisation encodé utilisé pour accéder à l’API Vantage. |
| TransactionID | L’identifiant de la transaction.                                             |
| DocumentID    | L’identifiant du document.                                                   |

Requête :

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

Réponse :

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

<div id="uploading-captured-images-to-the-document">
  ## Téléversement des images capturées dans le document
</div>

Une fois l’instance de document créée, Vantage Mobile Upload envoie une requête pour téléverser toutes les images dans le document. Toutes les images d’un même document sont téléversées en une seule requête.

**Paramètres clés**

| Key            | Description                                                                                                                                               |
| :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Token          | Le jeton d’accès d’autorisation encodé utilisé pour accéder à l’API Vantage.                                                                              |
| TransactionID  | L’identifiant de la transaction.                                                                                                                          |
| DocumentID     | L’identifiant du document reçu dans la requête **Création d’un document**.                                                                                |
| SourceFileID   | L’identifiant de l’image du document.                                                                                                                     |
| SourceFileName | Le nom de l’image du document. Vantage Mobile Upload génère automatiquement un nom de fichier pour chaque image et téléverse les images dans le document. |
| ImageData      | Les données encodées des fichiers image. Utilisées pour téléverser des images dans des documents.                                                         |

Requête :

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

Réponse :

```
Code de statut de la requête
```

<div id="starting-the-transaction">
  ## Démarrage de la transaction
</div>

Une fois que tous les documents ont été créés et que toutes les images ont été téléversées dans les documents, Vantage Mobile Upload envoie une requête pour démarrer la transaction.

**Paramètres clés**

| Clé           | Description                                                            |
| :------------ | :--------------------------------------------------------------------- |
| Token         | Le jeton d’accès encodé utilisé pour l’accès autorisé à l’API Vantage. |
| TransactionID | L’identifiant de la transaction.                                       |

Requête :

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

Réponse :

```
Code de statut de la requête
```
