> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cleariflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IBAN検証

> `iban`エンドポイントは、国別の包括的な検証、フォーマットチェック、詳細な構造情報を備えた国際銀行口座番号（IBAN）の検証を行います。

## はじめに

### ベースURL

```
https://bankvalidation.cleariflow.com/v1/iban/
```

### 検証エンドポイント

`iban`エンドポイントには、APIキーとIBANパラメータが必要です。国際銀行口座番号（IBAN）の包括的な検証を行います。

```
https://bankvalidation.cleariflow.com/v1/iban/
? api_key = YOUR_UNIQUE_API_KEY
& iban = DE89370400440532013000
```

この成功したリクエストは、ドイツのIBANを検証し、詳細情報を返します。

<ResponseExample>
  ```json theme={"system"}
  {
    "iban": "DE89370400440532013000",
    "is_valid": true,
    "country_code": "DE",
    "country_name": "Germany",
    "bank_code": "37040044",
    "account_number": "0532013000",
    "length": 22,
    "expected_length": 22,
    "checksum_valid": true,
    "format_valid": true,
    "details": {
      "structure": "BBBB BBBB BBBB BBBB BB",
      "example": "DE89 3704 0044 0532 0130 00",
      "bank_name": "Bank information not available",
      "bank_bic": "BIC not available",
      "account_type": "Bank Account",
      "currency": "EUR"
    }
  }
  ```
</ResponseExample>

### リクエストパラメータ

<ParamField query="api_key" type="String" required>
  固有のAPIキーです。各ユーザーはCleariflowの各APIごとに固有のAPIキーを持っているため、銀行検証APIのキーは為替レートAPIなどでは動作しません。
</ParamField>

<ParamField query="iban" type="String" required>
  検証する国際銀行口座番号（IBAN）です。スペースは許可され、処理中に自動的に削除されます。IBANはISO 13616標準フォーマットに従う必要があります。
</ParamField>

### レスポンスパラメータ

APIレスポンスは、汎用的で軽量な [JSON形式](https://www.json.org/json-en.html) で返されます。

<ResponseField name="iban" type="String">
  スペースを除いた正規化されたIBANで、大文字形式で返されます。
</ResponseField>

<ResponseField name="is_valid" type="Boolean">
  すべての検証ルールに従ってIBANが有効かどうかを示す総合的な検証結果です。
</ResponseField>

<ResponseField name="country_code" type="String">
  2文字のISO国コードです（例：ドイツはDE、フランスはFR）。
</ResponseField>

<ResponseField name="country_name" type="String">
  IBANに関連する国の正式名称です。
</ResponseField>

<ResponseField name="bank_code" type="String">
  国の固有フォーマットに従ってIBANから抽出された銀行識別コードです。
</ResponseField>

<ResponseField name="account_number" type="String">
  国コード、チェックサム、銀行コードを除いたIBANの口座番号部分です。
</ResponseField>

<ResponseField name="length" type="Integer">
  提供されたIBANの実際の長さです。
</ResponseField>

<ResponseField name="expected_length" type="Integer">
  ISO 13616標準に従った特定の国のIBANの期待される長さです。
</ResponseField>

<ResponseField name="checksum_valid" type="Boolean">
  MOD-97アルゴリズムを使用したIBANチェックサム検証が合格したかどうかです。
</ResponseField>

<ResponseField name="format_valid" type="Boolean">
  IBANフォーマットが国の期待される構造と一致するかどうかです。
</ResponseField>

<ResponseField name="details" type="Object">
  IBANの構造とフォーマットに関する追加の詳細情報です。
</ResponseField>

<ResponseField name="details.structure" type="String">
  B（銀行）、S（ソート）、C（顧客）、K（キー）のプレースホルダーを使用したIBAN構造の視覚的表現です。
</ResponseField>

<ResponseField name="details.example" type="String">
  読みやすさのためにスペースを入れたIBANの適切にフォーマットされた例です。
</ResponseField>

<ResponseField name="details.bank_name" type="String">
  銀行名です（現在は「Bank information not available」と表示されます）。
</ResponseField>

<ResponseField name="details.bank_bic" type="String">
  銀行のBICコードです（現在は「BIC not available」と表示されます）。
</ResponseField>

<ResponseField name="details.account_type" type="String">
  口座のタイプです（通常は「Bank Account」）。
</ResponseField>

<ResponseField name="details.currency" type="String">
  国の通貨コードです（例：ユーロ圏はEUR、英国はGBP）。
</ResponseField>

## 例

### 有効なドイツのIBAN

**リクエスト：**

```
GET https://bankvalidation.cleariflow.com/v1/iban/?api_key=YOUR_API_KEY&iban=DE89370400440532013000
```

**レスポンス：**

```json theme={"system"}
{
  "iban": "DE89370400440532013000",
  "is_valid": true,
  "country_code": "DE",
  "country_name": "Germany",
  "bank_code": "37040044",
  "account_number": "0532013000",
  "length": 22,
  "expected_length": 22,
  "checksum_valid": true,
  "format_valid": true,
  "details": {
    "structure": "BBBB BBBB BBBB BBBB BB",
    "example": "DE89 3704 0044 0532 0130 00",
    "bank_name": "Bank information not available",
    "bank_bic": "BIC not available",
    "account_type": "Bank Account",
    "currency": "EUR"
  }
}
```

### 有効なフランスのIBAN

**リクエスト：**

```
GET https://bankvalidation.cleariflow.com/v1/iban/?api_key=YOUR_API_KEY&iban=FR1420041010050500013M02606
```

**レスポンス：**

```json theme={"system"}
{
  "iban": "FR1420041010050500013M02606",
  "is_valid": true,
  "country_code": "FR",
  "country_name": "France",
  "bank_code": "2004101005",
  "account_number": "0500013M02606",
  "length": 27,
  "expected_length": 27,
  "checksum_valid": true,
  "format_valid": true,
  "details": {
    "structure": "BBBB BSSS SSCC CCCC CCCC CCC KK",
    "example": "FR14 2004 1010 0505 0001 3M02 606",
    "bank_name": "Bank information not available",
    "bank_bic": "BIC not available",
    "account_type": "Bank Account",
    "currency": "EUR"
  }
}
```

### 無効なIBAN

**リクエスト：**

```
GET https://bankvalidation.cleariflow.com/v1/iban/?api_key=YOUR_API_KEY&iban=INVALID
```

**レスポンス：**

```json theme={"system"}
{
  "iban": "",
  "is_valid": false,
  "country_code": "",
  "country_name": "",
  "bank_code": "",
  "account_number": "",
  "length": 7,
  "expected_length": 0,
  "checksum_valid": false,
  "format_valid": false,
  "details": {
    "structure": "",
    "example": ""
  }
}
```

## エラーハンドリング

### IBANパラメータの欠落

**リクエスト：**

```
GET https://bankvalidation.cleariflow.com/v1/iban/?api_key=YOUR_API_KEY
```

**レスポンス：**

```json theme={"system"}
{
  "error": {
    "message": "Missing iban",
    "code": "missing_iban"
  }
}
```

### APIキーの欠落

**リクエスト：**

```
GET https://bankvalidation.cleariflow.com/v1/iban/?iban=DE89370400440532013000
```

**レスポンス：**

```json theme={"system"}
{
  "error": {
    "message": "API key is required",
    "code": "missing_api_key"
  }
}
```

## IBANの構造

IBANはいくつかのコンポーネントで構成されます：

1. **国コード（2文字）**：ISO 3166-1 alpha-2国コード
2. **チェックディジット（2文字）**：MOD-97アルゴリズムによる検証
3. **銀行識別子**：国別の銀行コード
4. **口座番号**：顧客口座識別子

### 国別フォーマット

国によってIBANの構造は異なります：

* **ドイツ（DE）**：22文字 - `BBBB BBBB BBBB BBBB BB`
* **フランス（FR）**：27文字 - `BBBB BSSS SSCC CCCC CCCC CCC KK`
* **イタリア（IT）**：27文字 - `CAAA AABB BBSS CCCC CCCC CCX`
* **イギリス（GB）**：22文字 - `BBBB SSSS SSCC CCCC CC`
* **スペイン（ES）**：24文字 - `BBBB SSSS DDCC CCCC CCCC CC`

記号の意味：

* **B** = 銀行コード
* **S** = ソートコード
* **C** = 顧客口座番号
* **K** = キー/チェックディジット
* **A** = 口座タイプ
* **D** = コントロールディジット

## 検証ルール

APIは次を含む包括的な検証を実行します：

1. **フォーマット検証**：IBANが国の期待される構造に従っているか確認
2. **長さの検証**：IBANの長さが国の標準と一致するか確認
3. **チェックサム検証**：MOD-97アルゴリズムによる検証を実行
4. **国コード検証**：国コードがサポートされていることを確認
5. **文字検証**：有効な英数字文字を確認

## サポート対象国

APIは50か国以上のIBAN検証をサポートしており、以下を含みます：

* **ヨーロッパ**：ドイツ、フランス、イタリア、スペイン、オランダ、ベルギー、オーストリア、スイス、英国、ポーランド
* **アジア**：UAE、バーレーン、イスラエル、ヨルダン、カザフスタン、クウェート
* **アメリカ大陸**：ブラジル、コスタリカ、ドミニカ共和国、グアテマラ
* **アフリカ**：モーリタニア、モーリシャス、チュニジア

サポート対象国の完全なリストは [サポート対象国](/bank-validation/countries) ページを参照してください。
