---
title: Захват документов
canonical: https://developer.unico.io/ru/dual-api/developer/sdks-and-tools/flutter-sdk/document-capture/
locale: ru
generated_by: markdown-export
---

Захват документов, удостоверяющих личность. SDK отображает рамку, помогающую пользователю расположить документ; после позиционирования пользователь нажимает кнопку для съёмки фото.

:::warning[Без проверки содержимого]
SDK не выполняет никакой проверки того, что захватывается.
:::

## Доступные рамки для документов

| Рамка | Описание |
|---|---|
| `DocumentCameraTypes.CPF` | Захват CPF |
| `DocumentCameraTypes.CNH` | Захват открытого CNH |
| `DocumentCameraTypes.CNH_FRENTE` | Захват лицевой стороны CNH |
| `DocumentCameraTypes.CNH_VERSO` | Захват обратной стороны CNH |
| `DocumentCameraTypes.RG_FRENTE` | Захват лицевой стороны RG |
| `DocumentCameraTypes.RG_VERSO` | Захват обратной стороны RG |
| `DocumentCameraTypes.OUTROS("descrição")` | Универсальная рамка для любого другого документа |

:::tip[Универсальная рамка]
Если вам нужно захватить документ, для которого нет специальной рамки (например, RNE), используйте `DocumentCameraTypes.OUTROS("description")` — универсальная прямоугольная рамка, подходящая для любого захвата.
:::

Полный список поддерживаемых типов документов см. в разделе [Справочник API > Перечисления](/developers/sdks-and-tools/flutter/api-reference/enums).

## Начало захвата документа

****Шаг 2** — Реализуйте обработчики документа**

Добавьте обратные вызовы документа в класс состояния:

  | Метод | Описание |
  |---|---|
  | `onSuccessDocument(ResultCamera resultCamera)` | Захват выполнен успешно — возвращает `ResultCamera` с `base64` (предпросмотр) и `encrypted` (JWT для API) |
  | `onErrorDocument(UnicoError error)` | Захват не выполнен — возвращает `UnicoError` с кодом и описанием |

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

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

****Шаг 3** — Вызовите `openCameraDocument`**

Метод `openCameraDocument()` предоставляется через объект, созданный на основе экземпляра класса `UnicoCheck`. Он принимает:

  - JSON-файл с учётными данными, созданный в [шаге настройки учётных данных](/developers/sdks-and-tools/flutter/installation/specific-setup);
  - тип захватываемого документа (перечисление `DocumentType`);
  - обработчик, настроенный на шаге 2.

  Пример с открытым CNH:

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

Полную информацию об обработке результата см. в разделе [Получение результата](/developers/sdks-and-tools/flutter/capture-flow/receiving-the-result).