Saltar al contenido principal

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.

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
MarcoDescripción
DocumentCameraTypes.CPFCaptura el CPF
DocumentCameraTypes.CNHCaptura la CNH abierta
DocumentCameraTypes.CNH_FRENTECaptura el frente de la CNH
DocumentCameraTypes.CNH_VERSOCaptura el dorso de la CNH
DocumentCameraTypes.RG_FRENTECaptura el frente del RG
DocumentCameraTypes.RG_VERSOCaptura el dorso del RG
DocumentCameraTypes.OUTROS("descrição")Marco genérico para cualquier otro documento
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.

Iniciar una captura de documento
Paso 1 — Implementar UnicoListener

UnicoListener gestiona los callbacks del ciclo de vida del SDK. Implemente los cuatro métodos obligatorios:

MétodoCuá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() {}
}
Métodos de listener obligatorios

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étodoDescripció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.