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

# Validação BIC

> O endpoint `bic` valida Business Identifier Codes e fornece detalhes de códigos bancários, informações de país e tipos de instituição para operações bancárias internacionais.

## Primeiros passos

### URL base

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

### Endpoint de validação

O endpoint `bic` requer a sua chave API e um parâmetro BIC para realizar uma validação abrangente de Business Identifier Codes.

```
https://bankvalidation.cleariflow.com/v1/bic/
? api_key = YOUR_UNIQUE_API_KEY
& bic = DEUTDEFF500
```

Este pedido bem-sucedido valida um BIC alemão e devolve informação detalhada:

<ResponseExample>
  ```json theme={"system"}
  {
    "bic": "DEUTDEFF500",
    "is_valid": true,
    "country_code": "DE",
    "country_name": "Germany",
    "bank_code": "DEUT",
    "bank_name": "Bank information not available",
    "location_code": "F",
    "branch_code": "500",
    "details": {
      "type": "BIC",
      "active": true,
      "institution_type": "Bank"
    }
  }
  ```
</ResponseExample>

### Parâmetros de pedido

<ParamField query="api_key" type="String" required>
  A sua chave API única. Tenha em conta que cada utilizador tem chaves API únicas *para cada uma das APIs Cleariflow*, por isso a sua chave da API de validação bancária não funcionará para a sua API de taxas de câmbio, por exemplo.
</ParamField>

<ParamField query="bic" type="String" required>
  O Business Identifier Code a validar. São permitidos espaços e serão removidos automaticamente durante o processamento. O BIC deve seguir o formato padrão ISO 9362.
</ParamField>

### Parâmetros de resposta

A resposta da API é devolvida num [formato JSON](https://www.json.org/json-en.html) universal e leve.

<ResponseField name="bic" type="String">
  O BIC normalizado sem espaços, devolvido em maiúsculas.
</ResponseField>

<ResponseField name="is_valid" type="Boolean">
  Resultado geral da validação que indica se o BIC é válido de acordo com todas as regras de validação.
</ResponseField>

<ResponseField name="country_code" type="String">
  El código de país ISO de dos letras (p. ej., DE para Alemania, US para Estados Unidos).
</ResponseField>

<ResponseField name="country_name" type="String">
  O nome completo do país associado ao BIC.
</ResponseField>

<ResponseField name="bank_code" type="String">
  O código identificador bancário de 4 caracteres (p. ex., DEUT para Deutsche Bank).
</ResponseField>

<ResponseField name="bank_name" type="String">
  O nome do banco (atualmente mostra "Bank information not available").
</ResponseField>

<ResponseField name="location_code" type="String">
  O código de localização de 2 caracteres que indica a cidade ou região (p. ex., FF para Frankfurt).
</ResponseField>

<ResponseField name="branch_code" type="String">
  O código de sucursal de 3 caracteres (opcional, pode estar vazio para BIC de 8 caracteres).
</ResponseField>

<ResponseField name="details" type="Object">
  Informação detalhada adicional sobre o tipo e o estado do BIC.
</ResponseField>

<ResponseField name="details.type" type="String">
  O tipo de identificador (normalmente "BIC").
</ResponseField>

<ResponseField name="details.active" type="Boolean">
  Se o BIC está atualmente ativo e em uso.
</ResponseField>

<ResponseField name="details.institution_type" type="String">
  O tipo de instituição financeira (p. ex., "Bank", "Credit Union").
</ResponseField>

## Exemplos

### BIC alemão válido (8 caracteres)

**Pedido:**

```
GET https://bankvalidation.cleariflow.com/v1/bic/?api_key=YOUR_API_KEY&bic=DEUTDEFF
```

**Resposta:**

```json theme={"system"}
{
  "bic": "DEUTDEFF",
  "is_valid": true,
  "country_code": "DE",
  "country_name": "Germany",
  "bank_code": "DEUT",
  "bank_name": "Bank information not available",
  "location_code": "FF",
  "branch_code": "",
  "details": {
    "type": "BIC",
    "active": true,
    "institution_type": "Bank"
  }
}
```

### BIC alemão válido (11 caracteres com sucursal)

**Pedido:**

```
GET https://bankvalidation.cleariflow.com/v1/bic/?api_key=YOUR_API_KEY&bic=DEUTDEFF500
```

**Resposta:**

```json theme={"system"}
{
  "bic": "DEUTDEFF500",
  "is_valid": true,
  "country_code": "DE",
  "country_name": "Germany",
  "bank_code": "DEUT",
  "bank_name": "Bank information not available",
  "location_code": "FF",
  "branch_code": "500",
  "details": {
    "type": "BIC",
    "active": true,
    "institution_type": "Bank"
  }
}
```

### BIC dos EUA válido

**Pedido:**

```
GET https://bankvalidation.cleariflow.com/v1/bic/?api_key=YOUR_API_KEY&bic=CHASUS33
```

**Resposta:**

```json theme={"system"}
{
  "bic": "CHASUS33",
  "is_valid": true,
  "country_code": "US",
  "country_name": "United States",
  "bank_code": "CHAS",
  "bank_name": "Bank information not available",
  "location_code": "33",
  "branch_code": "",
  "details": {
    "type": "BIC",
    "active": true,
    "institution_type": "Bank"
  }
}
```

### BIC do Reino Unido válido

**Pedido:**

```
GET https://bankvalidation.cleariflow.com/v1/bic/?api_key=YOUR_API_KEY&bic=NWBKGB2L
```

**Resposta:**

```json theme={"system"}
{
  "bic": "NWBKGB2L",
  "is_valid": true,
  "country_code": "GB",
  "country_name": "United Kingdom",
  "bank_code": "NWBK",
  "bank_name": "Bank information not available",
  "location_code": "2L",
  "branch_code": "",
  "details": {
    "type": "BIC",
    "active": true,
    "institution_type": "Bank"
  }
}
```

### BIC inválido

**Pedido:**

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

**Resposta:**

```json theme={"system"}
{
  "bic": "INVALID",
  "is_valid": false,
  "country_code": "",
  "country_name": "",
  "bank_code": "",
  "bank_name": "Bank information not available",
  "location_code": "",
  "branch_code": "",
  "details": {
    "type": "BIC",
    "active": true
  }
}
```

## Tratamento de erros

### Parâmetro BIC em falta

**Pedido:**

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

**Resposta:**

```json theme={"system"}
{
  "error": {
    "message": "Missing bic",
    "code": "missing_bic"
  }
}
```

### Chave API em falta

**Pedido:**

```
GET https://bankvalidation.cleariflow.com/v1/bic/?bic=DEUTDEFF500
```

**Resposta:**

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

## Estrutura do BIC

O BIC consiste em vários componentes:

1. **Código bancário (4 caracteres)**: identificador único da instituição financeira
2. **Código de país (2 caracteres)**: código de país ISO 3166-1 alpha-2
3. **Código de localização (2 caracteres)**: identificador de cidade ou região
4. **Código de sucursal (3 caracteres)**: identificador de sucursal opcional (XXX para escritório principal)

### Exemplos de formato

* **BIC de 8 caracteres**: `DEUTDEFF` (Deutsche Bank, Alemanha, Frankfurt)
* **BIC de 11 caracteres**: `DEUTDEFF500` (Deutsche Bank, Alemania, Fráncfort, sucursal 500)

### Códigos de localização comuns

* **FF**: Frankfurt, Alemanha
* **33**: Nova Iorque, Estados Unidos
* **2L**: Londres, Reino Unido
* **PP**: Paris, França
* **MM**: Milão, Itália

## Regras de validação

A API realiza uma validação abrangente que inclui:

1. **Validación de longitud**: comprueba si el BIC tiene 8 u 11 caracteres
2. **Validação de formato**: verifica se o BIC segue o padrão ISO 9362
3. **Validación de caracteres**: garantiza que solo se utilicen caracteres alfanuméricos
4. **Validação do código de país**: valida o formato do código de país
5. **Validação do código bancário**: verifica o formato do identificador bancário

### Requisitos de formato do BIC

* **Código bancário**: 4 caracteres alfanuméricos
* **Código de país**: 2 caracteres alfabéticos (ISO 3166-1)
* **Código de localização**: 2 caracteres alfanuméricos
* **Código de sucursal**: 3 caracteres alfanuméricos (opcional)

## BIC vs SWIFT

BIC (Business Identifier Code) y SWIFT se utilizan a menudo de forma intercambiable:

* **BIC**: o nome oficial do padrão ISO 9362
* **SWIFT**: a rede de mensagens que popularizou o código
* **Código SWIFT**: nome alternativo para BIC

Todos os BIC podem ser usados para mensagens SWIFT, mas nem todos os códigos SWIFT são BIC válidos.

## Países suportados

A API suporta validação de BIC para mais de 50 países, incluindo:

* **Europa**: Alemanha, França, Itália, Espanha, Países Baixos, Bélgica, Áustria, Suíça, Reino Unido, Polónia
* **América**: Estados Unidos, Canadá, Brasil, México
* **Ásia**: Japão, Singapura, Hong Kong, Austrália
* **África**: África do Sul, Egito, Nigéria

Para uma lista completa de países suportados, consulte a página [Países suportados](/bank-validation/countries).

## Casos de utilização

A validação de BIC é essencial para:

1. **Transferências internacionais**: garantir informação de encaminhamento precisa
2. **Pagamentos SEPA**: requisitos do sistema de pagamentos europeu
3. **Aplicações bancárias**: validação de contas de clientes
4. **Conformidade financeira**: requisitos de relatórios regulatórios
5. **Processamento de pagamentos**: aplicações de comércio eletrónico e fintech
