> For the complete documentation index, see [llms.txt](https://docs.caf.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caf.io/caf-api/caf-api-pt-br/connect/transactions/services/global-doc-reader.md).

# Leitor global de documentos

O serviço Global Document Reader processa documentos de identidade, identificando o país e o tipo de documento, bem como extraindo as informações contidas neles.

**Seção**: `globalDocReader`

**Parâmetro obrigatório:** `documentCountry` e `arquivos (quaisquer imagens de documentos)`

## Campos e regras

Confira os exemplos, regras e atributos para o serviço funcionar.

{% tabs %}
{% tab title="Esquema" %}

| Atributo                                                  | Tipo                  | Descrição                                                                                                                                               |
| --------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| código de status                                          | string                | Refere-se ao status desta consulta específica, não à transação inteira. [Consulte nosso guia de status](/caf-api/caf-api-pt-br/connect/transactions.md) |
| dados                                                     | objeto                | Objeto contendo os dados principais.                                                                                                                    |
| data.files                                                | array                 | Arquivos resultantes do processamento.                                                                                                                  |
| data.files\[x].name                                       | [FileName](#filename) | Nome do arquivo.                                                                                                                                        |
| data.files\[x].url                                        | string                | URL do arquivo.                                                                                                                                         |
| data.documentType                                         | objeto                | Informações sobre o documento.                                                                                                                          |
| data.documentType.isoAlpha2CountryCode                    | string                | País emissor do documento (ISO 3166-1 alfa 2).                                                                                                          |
| data.documentType.isoAlpha3CountryCode                    | string                | País emissor do documento (ISO 3166-1 alfa 3).                                                                                                          |
| data.documentType.type                                    | [DocType](#doctype)   | Tipo de documento.                                                                                                                                      |
| data.textFields                                           | objeto                | Informações extraídas do documento.                                                                                                                     |
| data.textFields.fields                                    | objeto                | Campos do documento. A lista de campos pode ser visualizada [aqui](#fields).                                                                            |
| data.textFields.fields.{fieldName}                        | objeto                | Campo do documento.                                                                                                                                     |
| data.textFields.fields.{fieldName}.value                  | string                | Valor do campo.                                                                                                                                         |
| data.textFields.fields.{fieldName}.originalLanguage       | objeto                | (*Opcional*) Informações do campo no idioma original do documento.                                                                                      |
| data.textFields.fields.{fieldName}.originalLanguage.lang  | string                | Idioma do documento.                                                                                                                                    |
| data.textFields.fields.{fieldName}.originalLanguage.value | string                | Valor do campo no idioma original do documento.                                                                                                         |
| {% endtab %}                                              |                       |                                                                                                                                                         |

{% tab title="Exemplo" %}

```json
{
    "statusCode": "01",
    "data": {
        "files": [
            {
                "name": "CROPPED_DOC_FRONT",
                "url": "https://..."
            },
            {
                "name": "CROPPED_DOC_BACK",
                "url": "https://..."
            }
        ],
        "documentType": {
            "isoAlpha2CountryCode": "AR",
            "isoAlpha3CountryCode": "ARG",
            "type": "IDENTITY_CARD"
        },
        "textFields": {
            "fields": {
                "personalNumber": {
                    "value": "00000000000"
                },
                "givenNames": {
                    "value": "JANE DOE",
                    "originalLanguage": {
                        "lang": "Espanhol (Argentina)",
                        "value": "JANE DOE"
                    }
                },
                "surname": {
                    "value": "SILVA",
                    "originalLanguage": {
                        "lang": "Espanhol (Argentina)",
                        "value": "SILVA"
                    }
                },
                "name": {
                    "value": "SILVA JANE DOE",
                    "originalLanguage": {
                        "lang": "Espanhol (Argentina)",
                        "value": "SILVA JANE DOE"
                    }
                },
                "finalCheckDigit": {
                    "value": "0"
                },
                "expirationDateCheckDigit": {
                    "value": "4"
                },
                "expirationDate": {
                    "value": "2035-06-14"
                },
                "mrz": {
                    "value": "IDARG99999999<4<<<<<<<<<<<<<<<^8508085F3506144ARG<<<<<<<<<<<0^SILVA<<JANE<DOE<<"
                },
                "sex": {
                    "value": "F"
                },
                "birthDateCheckDigit": {
                    "value": "5"
                },
                "birthDate": {
                    "value": "1985-08-08"
                },
                "documentNumber": {
                    "value": "99999999"
                },
                "nationalityCode": {
                    "value": "ARG"
                },
                "documentNumberCheckDigit": {
                    "value": "4"
                },
                "controlNumber": {
                    "value": "00000000000"
                },
                "birthPlace": {
                    "value": "CIUDAD DE BUENOS AIRES",
                    "originalLanguage": {
                        "lang": "Espanhol (Argentina)",
                        "value": "CIUDAD DE BUENOS AIRES"
                    }
                },
                "identityCardNumber": {
                    "value": "000000000000000"
                },
                "address": {
                    "originalLanguage": {
                        "lang": "Espanhol (Argentina)",
                        "value": "ENDEREÇO DE EXEMPLO"
                    }
                },
                "issueDate": {
                    "value": "2020-02-20"
                }
            }
        }
    }
}
```

{% endtab %}

{% tab title="Regras de validação" %}

| Regra                                                                | Descrição                                                                        |
| -------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| O país no documento é o mesmo que o país especificado nos parâmetros | Verifica se o país no documento corresponde ao país especificado nos parâmetros. |
| Documento não expirado                                               | Verifica se o documento não está expirado ou não possui data de expiração.       |
| Faixas etárias não aceitas                                           | Verifica se a pessoa está dentro da faixa etária configurada.                    |
| {% endtab %}                                                         |                                                                                  |
| {% endtabs %}                                                        |                                                                                  |

{% hint style="info" %}
O formato de data retornado é `yyyy-mm-dd`.

* yyyy = ano com quatro dígitos
* mm = mês com dois dígitos
* dd = dia com dois dígitos
  {% endhint %}

## Tipos de dados

### FileName

| Valor               | Descrição                             |
| ------------------- | ------------------------------------- |
| `CROPPED_DOC_FRONT` | Área frontal do documento recortada.  |
| `CROPPED_DOC_BACK`  | Área traseira do documento recortada. |

### DocType

| Valor              | Descrição                                              |
| ------------------ | ------------------------------------------------------ |
| `IDENTITY_CARD`    | Documento de identidade.                               |
| `DRIVER_LICENSE`   | Carteira de motorista ou permissão.                    |
| `PASSPORT`         | Passaporte.                                            |
| `RESIDENCE_PERMIT` | Carteira de identidade ou permissão para estrangeiros. |
| `VISA`             | Visto.                                                 |
| `VOTER_CARD`       | Título de eleitor ou documento de votação.             |
| `UNKNOWN`          | Documento desconhecido.                                |

### Campos

| Valor                          | Descrição                                                    |
| ------------------------------ | ------------------------------------------------------------ |
| `name`                         | Nome completo da pessoa.                                     |
| `givenNames`                   | Nomes próprios da pessoa.                                    |
| `surname`                      | Sobrenome da pessoa.                                         |
| `socialName`                   | Nome social da pessoa.                                       |
| `sex`                          | Sexo ou gênero da pessoa.                                    |
| `personalNumber`               | Número de identificação pessoal.                             |
| `birthDate`                    | Data de nascimento da pessoa.                                |
| `birthPlace`                   | Local de nascimento.                                         |
| `nationalityCode`              | Código de nacionalidade.                                     |
| `nationality`                  | Nacionalidade da pessoa.                                     |
| `address`                      | Endereço da pessoa.                                          |
| `uniqueNumber`                 | Número de identificação único.                               |
| `voterKey`                     | Chave de registro eleitoral.                                 |
| `fatherName`                   | Nome do pai.                                                 |
| `motherName`                   | Nome da mãe.                                                 |
| `documentNumber`               | Número de identificação do documento.                        |
| `documentClass`                | Classe ou categoria do documento.                            |
| `expirationDate`               | Data de expiração do documento.                              |
| `issueDate`                    | Data de emissão do documento.                                |
| `issuingAuthority`             | Autoridade que emitiu o documento.                           |
| `issuePlace`                   | Local onde o documento foi emitido.                          |
| `issuingCountryCode`           | Código do país emissor.                                      |
| `issuingStateCode`             | Código do estado emissor (unidade federativa).               |
| `mrz`                          | Dados da Zona Legível por Máquina (MRZ).                     |
| `controlNumber`                | Número de controle do documento.                             |
| `optionalData`                 | Campo de dados opcionais.                                    |
| `identityCardNumber`           | Número da carteira de identidade.                            |
| `identityCardIssuingAuthority` | Autoridade que emitiu a carteira de identidade.              |
| `identityCardIssuingStateCode` | Código do estado emissor da carteira de identidade.          |
| `dlCategory`                   | Categoria da carteira de motorista.                          |
| `firstIssueDate`               | Data da primeira emissão do documento.                       |
| `bookletNumber`                | Número da cartilha.                                          |
| `securityNumber`               | Número de segurança ou verificação.                          |
| `renachNumber`                 | Número do RENACH (carteira de motorista brasileira).         |
| `notes`                        | Notas ou observações adicionais.                             |
| `entryDate`                    | Data de entrada ou data de registro.                         |
| `dlCategoryAccExpirationDate`  | Data de expiração da categoria ACC da carteira de motorista. |
| `dlCategoryAExpirationDate`    | Data de expiração da categoria A da carteira de motorista.   |
| `dlCategoryA1ExpirationDate`   | Data de expiração da categoria A1 da carteira de motorista.  |
| `dlCategoryBExpirationDate`    | Data de expiração da categoria B da carteira de motorista.   |
| `dlCategoryB1ExpirationDate`   | Data de expiração da categoria B1 da carteira de motorista.  |
| `dlCategoryCExpirationDate`    | Data de expiração da categoria C da carteira de motorista.   |
| `dlCategoryC1ExpirationDate`   | Data de expiração da categoria C1 da carteira de motorista.  |
| `dlCategoryDExpirationDate`    | Data de expiração da categoria D da carteira de motorista.   |
| `dlCategoryD1ExpirationDate`   | Data de expiração da categoria D1 da carteira de motorista.  |
| `dlCategoryBeExpirationDate`   | Data de expiração da categoria BE da carteira de motorista.  |
| `dlCategoryCeExpirationDate`   | Data de expiração da categoria CE da carteira de motorista.  |
| `dlCategoryC1eExpirationDate`  | Data de expiração da categoria C1E da carteira de motorista. |
| `dlCategoryDeExpirationDate`   | Data de expiração da categoria DE da carteira de motorista.  |
| `dlCategoryD1eExpirationDate`  | Data de expiração da categoria D1E da carteira de motorista. |
| `optionalDataCheckDigit`       | Dígito verificador do campo de dados opcionais.              |
| `finalCheckDigit`              | Dígito verificador final para validação do documento.        |
| `expirationDateCheckDigit`     | Dígito verificador da data de expiração.                     |
| `documentNumberCheckDigit`     | Dígito verificador do número do documento.                   |
| `birthDateCheckDigit`          | Dígito verificador da data de nascimento.                    |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.caf.io/caf-api/caf-api-pt-br/connect/transactions/services/global-doc-reader.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
