Captura de documentos
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.
El SDK no realiza ningún tipo de validación sobre lo que se está capturando.
| 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 |
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.
Paso 1 — Implementar UnicoListener
UnicoListener gestiona los callbacks del ciclo de vida del SDK. Implemente los cuatro métodos obligatorios:
| Método | Cuándo se llama |
|---|---|
onErrorUnico(error) | Ocurrió un error durante la operación del SDK |
onUserClosedCameraManually() | El usuario cerró la cámara manualmente |
onSystemClosedCameraTimeoutSession() | Se alcanzó el límite de sesión de 40 segundos |
onSystemChangedTypeCameraTimeoutFaceInference() | No se detectó ningún rostro durante 13 segundos — cambia a captura manual |
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {
late UnicoCheckBuilder _unicoCheck;
@override
void onErrorUnico(UnicoError error) {}
@override
void onUserClosedCameraManually() {}
@override
void onSystemClosedCameraTimeoutSession() {}
@override
void onSystemChangedTypeCameraTimeoutFaceInference() {}
}
Los cuatro métodos de listener anteriores deben crearse en su proyecto (incluso sin ninguna lógica). De lo contrario, el proyecto no compilará correctamente.
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 |
@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;
- El tipo de documento a capturar (enumeración
DocumentType); - El listener configurado en el Paso 2.
Ejemplo usando la CNH abierta:
_unicoCheck.build().openCameraDocument(
jsonFileName: androidJsonFileName,
documentType: DocumentType.CNH,
listener: this,
);
Para el manejo completo del resultado, consulte Recibir el resultado.