Pular para o conteúdo principal

Captura de documentos

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.

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
FrameDescrição
DocumentCameraTypes.CPFCaptura o CPF
DocumentCameraTypes.CNHCaptura a CNH aberta
DocumentCameraTypes.CNH_FRENTECaptura a frente da CNH
DocumentCameraTypes.CNH_VERSOCaptura o verso da CNH
DocumentCameraTypes.RG_FRENTECaptura a frente do RG
DocumentCameraTypes.RG_VERSOCaptura o verso do RG
DocumentCameraTypes.OUTROS("descrição")Frame genérico para qualquer outro documento
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.

Iniciando uma captura de documento
Passo 1 — Implementar UnicoListener

UnicoListener trata os callbacks do ciclo de vida do SDK. Implemente os quatro métodos obrigatórios:

MétodoQuando é chamado
onErrorUnico(error)Ocorreu um erro durante a operação do SDK
onUserClosedCameraManually()O usuário fechou a câmera manualmente
onSystemClosedCameraTimeoutSession()O limite de 40 segundos da sessão foi atingido
onSystemChangedTypeCameraTimeoutFaceInference()Nenhum rosto detectado por 13 segundos — muda para 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 obrigatórios

Todos os quatro métodos de listener acima devem ser criados no seu projeto (mesmo sem nenhuma lógica). Caso contrário, o projeto não compilará com sucesso.

Passo 2 — Implementar os listeners de documento

Adicione os callbacks de documento à sua classe de estado:

MétodoDescriçã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
@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:

Exemplo usando a CNH aberta:

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

Para o tratamento completo do resultado, consulte Recebendo o resultado.