Pular para o conteúdo principal

Coletando os Retornos

O método startFaceRecon retorna um Future<FaceReconReturnValues>. Não é necessário realizar nenhuma decodificação manual de JSON — o plugin já entrega objetos Dart tipados.

FaceReconReturnValues

class FaceReconReturnValues {
final String imageKey;
final String deviceScanSessionId;
}
AtributoTipoDescrição
imageKeyStringChave de identificação da imagem fornecida, que pode ser utilizada em qualquer outro serviço do sistema QI Tech. Importante: armazene este valor para enviar nas APIs de validação (ex.: API de Onboarding).
deviceScanSessionIdStringChave de identificação da sessão de scan de dispositivo realizada internamente pelo SDK de Reconhecimento facial, que pode ser utilizada em qualquer outro serviço do sistema QI Tech.

FaceReconException

Em caso de falha, o método lança uma FaceReconException tipada:

class FaceReconException implements Exception {
final int? statusCode;
final String reason;
final String description;
}
AtributoTipoDescrição
statusCodeint?Código HTTP do erro.
reasonStringIdentificador do motivo do erro.
descriptionStringDescrição detalhada do erro.

Erros mais comuns

reasonstatusCodedescription
INVALID_TOKEN401Authentication token expired or invalid — o clientSessionKey é inválido ou expirou.
USER_CANCELED0User canceled FaceRecon. — o usuário interrompeu o fluxo antes de concluí-lo.

Exemplo de tratamento

try {
final result = await plugin.startFaceRecon(
CaaSEnvironment.sandbox,
clientSessionKey,
);

print('Image key: ${result.imageKey}');
print('Device Scan Session Id: ${result.deviceScanSessionId}');
} on FaceReconException catch (e) {
print('Error executing FaceRecon:');
print('Status: ${e.statusCode}');
print('Reason: ${e.reason}');
print('Description: ${e.description}');
} catch (e) {
print('An unknown error occurred: $e');
}