---
title: Captura de documentos
canonical: https://developer.unico.io/pt-BR/dual-api/developer/sdks-and-tools/flutter-sdk/document-capture/
locale: pt-BR
generated_by: markdown-export
---

Captura de documentos de identidade. O SDK apresenta um frame para auxiliar o usuário no posicionamento do documento; após o posicionamento, o usuário clica no botão para capturar a foto.

:::warning[Sem validação de conteúdo]
O SDK não realiza nenhum tipo de validação sobre o que está sendo capturado.
:::

## Frames de documentos disponíveis

| Frame | Descrição |
|---|---|
| `DocumentCameraTypes.CPF` | Captura o CPF |
| `DocumentCameraTypes.CNH` | Captura a CNH aberta |
| `DocumentCameraTypes.CNH_FRENTE` | Captura a frente da CNH |
| `DocumentCameraTypes.CNH_VERSO` | Captura o verso da CNH |
| `DocumentCameraTypes.RG_FRENTE` | Captura a frente do RG |
| `DocumentCameraTypes.RG_VERSO` | Captura o verso do RG |
| `DocumentCameraTypes.OUTROS("descrição")` | Frame genérico para qualquer outro documento |

:::tip[Frame genérico]
Se você precisar capturar um documento para o qual não há um frame específico (por exemplo, RNE), use `DocumentCameraTypes.OUTROS("description")` — um frame genérico e retangular que pode ser utilizado para guiar qualquer captura.
:::

Para a lista completa de tipos de documentos suportados, consulte [Referência de API > Enums](/developers/sdks-and-tools/flutter/api-reference/enums).

## Iniciando uma captura de documento

****Passo 2** — Implementar os listeners de documento**

Adicione os callbacks de documento à sua classe de estado:

  | Método | Descrição |
  |---|---|
  | `onSuccessDocument(ResultCamera resultCamera)` | Captura bem-sucedida — retorna `ResultCamera` com `base64` (prévia) e `encrypted` (JWT para a API) |
  | `onErrorDocument(UnicoError error)` | Captura falhou — retorna um `UnicoError` com código e descrição |

  ```dart
  @override
  void onSuccessDocument(ResultCamera resultCamera) { }

  @override
  void onErrorDocument(UnicoError error) { }
  ```

****Passo 3** — Chamar `openCameraDocument`**

O método `openCameraDocument()` é fornecido através do objeto gerado com uma instância da classe `UnicoCheck`. Ele recebe:

  - Um arquivo JSON com as credenciais, gerado na [etapa de configuração de credenciais](/developers/sdks-and-tools/flutter/installation/specific-setup);
  - O tipo de documento a ser capturado (enum `DocumentType`);
  - O listener configurado no Passo 2.

  Exemplo usando a CNH aberta:

  ```dart
  _unicoCheck.build().openCameraDocument(
    jsonFileName: androidJsonFileName,
    documentType: DocumentType.CNH,
    listener: this,
  );
  ```

Para o tratamento completo do resultado, consulte [Recebendo o resultado](/developers/sdks-and-tools/flutter/capture-flow/receiving-the-result).