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

# JSON 入力

> md パラメーターを介して直接リンクまたはエンコードされた JSON として渡される JSON ファイルを使用して、Vantage Mobile Input の文書タイプ、ページ数、および名前を定義します。

JSON ファイルには、documents の数、種類、名前、および各 documents のページ数とページ名を指定するデータ構造が含まれます。特定ユーザー向けのモバイルアップロードシナリオを構成するには、モバイルアップロードリンクでこの JSON ファイルを使用します。

`md` パラメーターには、JSON ファイルを「リンクをエンコードした形式」または「JSON 本体をエンコードした形式」の 2 通りで指定できます。

エンコードされたリンクを使用するには:

1. JSON ファイルへの直接アクセスリンクを生成します。

<Info>
  リンクは "http\://" または "https\://" で始まる必要があります。
</Info>

2. 取得したリンクを URL エンコード形式に変換します。
3. モバイルアップロードリンクの `md` パラメーターの値として、エンコード済み URL を指定します。

エンコードされた JSON を使用するには:

1. JSON ファイルを URL エンコード形式に変換します。
2. モバイルアップロードリンクの `md` パラメーターの値として、エンコード済み JSON ファイルを指定します。

<div id="json-structure">
  ## JSON 構造
</div>

**TransactionStructure** は、モバイルのアップロードセッション中にユーザーが取り込むことを想定した文書セットを定義し、トランザクションでの後続処理に使用されます。すべての文書が取り込まれるまでトランザクションは開始されません。

| プロパティ      | 値                | 説明                                                                        |
| :--------- | :--------------- | :------------------------------------------------------------------------ |
| `version`  | `2.4`            | 現在の ABBYY Vantage のバージョン。注意: 値はモバイルアップロードリンクの `v` パラメーターの値と一致している必要があります。 |
| `elements` | ElementStructure | 要素コレクションの構造。                                                              |

**ElementStructure** は、トランザクションでの後続処理のためにユーザーが取り込むことを想定した、1 つまたは複数の文書セットのコレクションを定義します。

| プロパティ       | 値                 | 説明                                                                                   |
| :---------- | :---------------- | :----------------------------------------------------------------------------------- |
| `type`      | `standalone`      | 1 つの文書セットからなるコレクションを定義します。                                                           |
| `type`      | `single_choice`   | 複数の文書セットからなるコレクションを定義します。注意: 文書セットを少なくとも 2 つ以上指定する必要があります。                           |
| `name`      |                   | マイクロアプリケーションの **Capture Documents** 画面に表示される文書セット名。注意: `single_choice` タイプでのみ利用可能です。 |
| `document`  | DocumentStructure | セット内の 1 件の文書の構造。注意: `standalone` タイプでのみ利用可能です。                                       |
| `documents` | DocumentStructure | セット内のすべての文書の構造。注意: `single_choice` タイプでのみ利用可能です。                                     |

**DocumentStructure** は、セット内の各文書に対するプロパティのコレクションを定義します。

| プロパティ            | 値              | 説明                                                                     |
| :--------------- | :------------- | :--------------------------------------------------------------------- |
| `type`           | `idcard`       | ID カードの両面 (表・裏) の取り込みを定義します。                                           |
| `type`           | `passport`     | パスポートの最初のページの取り込みを定義します。                                               |
| `type`           | `document`     | 任意の文書の取り込みを定義します。                                                      |
| `name`           |                | マイクロアプリケーションの **Capture Documents** 画面に表示される文書名。                       |
| `count`          | `1,2,3...`     | 1 回のトランザクションで取り込む必要がある文書数。既定値は「1」です。注意: すべての文書が取り込まれるまでアップロードは開始されません。 |
| `count`          | `any`          | 1 回のトランザクションで取り込む文書数。注意: 取り込まれた文書数がいくつであってもアップロードが開始されます。              |
| `galleryEnabled` | `false/true`   | この文書について、デバイスのギャラリーから文書ページの画像をアップロードできるかどうかを定義します。                     |
| `pages`          | PagesStructure | 文書ページの構造。                                                              |

**PagesStructure** は、ユーザーが取り込むことを想定した文書ページに関するプロパティのコレクションを定義します。

| プロパティ   | 値                       | 説明                                                                                                     |
| :------ | :---------------------- | :----------------------------------------------------------------------------------------------------- |
| `name`  | `Front side/Back side`  | ID カードのページ名。                                                                                           |
| `name`  | `First page with photo` | パスポートの最初のページ名。                                                                                         |
| `name`  | `Document page name`    | 任意の文書のページ名。                                                                                            |
| `count` | `1,2,3...`              | 文書で取り込む必要があるページ数。既定値は「1」です。文書のすべてのページが取り込まれるまでアップロードは開始されません。注意: ID カードの表面および裏面に必要な値は「1」です。            |
| `count` | `any`                   | 任意の文書で取り込むページ数。取り込まれたページ数がいくつであってもアップロードが開始されます。注意: パスポートの最初のページに必要な値は「1」です。その他のパスポートページに必要な値は「any」です。 |

<div id="json-sample">
  ## JSON サンプル
</div>

この JSON サンプルは、銀行申込に必要な文書構造を定義しています。トランザクションで後続の処理を行うため、モバイルアップロードセッション中にユーザーが次の文書ページを取り込むことが想定されています。

1. パスポートの最初のページ。
2. 申込書のすべてのページ。
3. 居住証明書 (賃貸契約書のページ、または公共料金請求書のページを含む) 。

<Accordion title="JSON サンプルを表示">
  ```json theme={null}
  {
    "version": "2.4",
    "elements": [
      {
        "type": "standalone",
        "document": {
          "name": "Passport",
          "type": "passport",
          "count": "1",
          "galleryEnabled": false,
          "pages": [
            {
              "name": "First page with photo",
              "count": "1"
            }
          ]
        }
      },
      {
        "type": "standalone",
        "document": {
          "name": "Application",
          "type": "document",
          "count": "1",
          "galleryEnabled": true,
          "pages": [
            {
              "name": "Page",
              "count": "any"
            }
          ]
        }
      },
      {
        "type": "single_choice",
        "name": "Proof of residence",
        "documents": [
          {
            "name": "Rental agreement",
            "type": "document",
            "count": "1",
            "galleryEnabled": true,
            "pages": [
              {
                "name": "Page",
                "count": "any"
              }
            ]
          },
          {
            "name": "Utility bill",
            "type": "document",
            "count": "2",
            "galleryEnabled": true,
            "pages": [
              {
                "name": "Page",
                "count": "any"
              }
            ]
          }
        ]
      }
    ]
  }
  ```
</Accordion>
