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

Captura de documentos de identidad. El SDK presenta un marco para ayudar al usuario a posicionar el documento; una vez posicionado, el usuario hace clic en el botón para capturar la foto.

:::warning[Sin validación de contenido]
El SDK no realiza ningún tipo de validación sobre lo que se está capturando.
:::

## Marcos de documento disponibles

| Marco | Descripción |
|---|---|
| `DocumentCameraTypes.CPF` | Captura el CPF |
| `DocumentCameraTypes.CNH` | Captura la CNH abierta |
| `DocumentCameraTypes.CNH_FRENTE` | Captura el frente de la CNH |
| `DocumentCameraTypes.CNH_VERSO` | Captura el dorso de la CNH |
| `DocumentCameraTypes.RG_FRENTE` | Captura el frente del RG |
| `DocumentCameraTypes.RG_VERSO` | Captura el dorso del RG |
| `DocumentCameraTypes.OUTROS("descrição")` | Marco genérico para cualquier otro documento |

:::tip[Marco genérico]
Si necesita capturar un documento para el que no existe un marco específico (por ejemplo, RNE), use `DocumentCameraTypes.OUTROS("description")` — un marco genérico y rectangular que puede utilizarse para guiar cualquier captura.
:::

Para la lista completa de tipos de documentos soportados, consulte [Referencia de API > Enumeraciones](/developers/sdks-and-tools/flutter/api-reference/enums).

## Iniciar una captura de documento

****Paso 2** — Implementar los listeners de documento**

Agregue los callbacks de documento a su clase de estado:

  | Método | Descripción |
  |---|---|
  | `onSuccessDocument(ResultCamera resultCamera)` | Captura exitosa — devuelve `ResultCamera` con `base64` (vista previa) y `encrypted` (JWT para la API) |
  | `onErrorDocument(UnicoError error)` | Captura fallida — devuelve un `UnicoError` con código y descripción |

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

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

****Paso 3** — Llamar a `openCameraDocument`**

El método `openCameraDocument()` se proporciona a través del objeto generado con una instancia de la clase `UnicoCheck`. Recibe:

  - Un archivo JSON con las credenciales, generado en el [paso de configuración de credenciales](/developers/sdks-and-tools/flutter/installation/specific-setup);
  - El tipo de documento a capturar (enumeración `DocumentType`);
  - El listener configurado en el Paso 2.

  Ejemplo usando la CNH abierta:

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

Para el manejo completo del resultado, consulte [Recibir el resultado](/developers/sdks-and-tools/flutter/capture-flow/receiving-the-result).