Validar_Biometría - ReconoSERID/SDK-ReconoSERID-Android GitHub Wiki

+ Nuevo Validar Biometria - SDK 3.1.0

Método

fun validarBiometria(
    validarBiometriaIn: ValidarBiometriaIn,
    listener: CallbackValidateBiometry
)

Estructura de Entrada (ValidarBiometriaIn)

Parámetro JSON Nombre Kotlin Tipo Requerido Descripción Valor por Defecto
GuidCiudadano/guidCiudadano guidCiudadano String? ID único del ciudadano ""
GuidProcesoConvenio/guidProcesoConvenio guidProcesoConvenio String? No ID del proceso de convenio ""
IdServicio/idServicio idServicio Int? ID del servicio 0
subTipo subTipo String? Tipo de validación (ej: "FACE") ""
Biometria/biometria biometria String? Imagen biométrica a validar (Base64) ""
Formato/formato formato String? No Formato de la imagen ""
codeParameter codeParameter String? No Parámetro adicional ""
BiometriaGesto/biometriaGesto gestureBiometric String? No Imagen de gesto (Base64) ""
FormatoGesto/formatoGesto gestureFormat String? No Formato del gesto ""
BiometriaOriginal originalBiometric String? No Biometría original ""
FormatoOriginal originalFormat String? No Formato original ""
Trazabilidad trazabilidad Trazabilidad? No Datos de trazabilidad Trazabilidad()

Constructores Alternativos

// Constructor simplificado
ValidarBiometriaIn(
    guidCiudadano: String?,
    idServicio: Int,
    subTipo: String?,
    codeParameter: String?,
    trazabilidad: Trazabilidad?
)

Callback (CallbackValidateBiometry)


interface CallbackValidateBiometry {
    fun onSuccess(resultado: ValidarBiometriaOut)
    fun onError(error: RespuestaTransaccion)
}

Respuesta Exitosa (ValidarBiometriaOut) (Asumiendo estructura similar a otros endpoints)

  • score: Float - Puntaje de coincidencia
  • respuestaTransaccion: RespuestaTransaccion - Estado de la operación

Respuesta de Error (RespuestaTransaccion)

  • esExitosa: Boolean - false en caso de error
  • errorEntransaccion: List - Detalles del error

Ejemplo de Uso


val datosValidacion = ValidarBiometriaIn(
    guidCiudadano = "ciudadano-123",
    idServicio = 1,
    subTipo = "IRIS",
    biometria = "base64...",
    codeParameter = "param-001",
    trazabilidad = Trazabilidad(dispositivo = "Xiaomi Redmi Note 9")
)

ServicesOlimpia.getInstance().validarBiometria(datosValidacion, object : CallbackValidateBiometry {
    override fun onSuccess(respuesta: ValidarBiometriaOut) {
        // Procesar resultado: respuesta.score
    }
    
    override fun onError(error: RespuestaTransaccion) {
        error.errorEntransaccion.firstOrNull()?.let { 
            // Manejar error específico
        } ?: run {
            // Manejar error genérico
        }
    }
})


Notas Técnicas

  1. Campos Obligatorios:
  • Requiere mínimo: guidCiudadano, idServicio, subTipo y biometria 2 Formatos de Imagen:
  • Campos formato aceptan valores como "JPG_B64" o "WSQ"
- Anterior - Validar Biometria - SDK <3.0.3

Validar Biometria

Método que valida la autenticidad de una biometría vs la que esta guardada en la base de datos.

#!java
 
public void validarBiometria(@NotNull ValidarBiometriaIn validarBiometriaIn, @NotNull CallbackValidateBiometry listener)
#!Kotlin
 
fun validarBiometria(validarBiometriaIn : ValidarBiometriaIn, listener: CallbackValidateBiometry)                        
- Próximamente new Validar Biometria

Se recibe como parametros

Parámetros

Parámetro Tipo Requerido Descripción
ValidarBiometriaIn Object SI Datos a enviar
CallbackValidateBiometry Callback SI Retorna un ValidarBiometria y RespuestaTransaccion

Parámetros ValidarBiometriaIn

Parámetro | Tipo | Requerido | Descripción

------------------- | ------------- | ------------- | -------------
guidCiudadano          | String            | SI                | Identificador único del ciudadano
guidProcesoConvenio | String           | SI                | Identificador único del proceso de convenio
idServicio.        | Integer           | SI                | Id asociado al tipo de biometria a validar
subTipo                | String            | SI                | Subtipo asociado al tipo de biometria a validar
biometria              | String            | SI                | String en BASE64 que contiene la imagen a enviar Datos biométricos Base64 (Puede apoyarse en la clase  ImageUtils.getEncodedBase64FromFilePath(pathFace) para pasar la imagen a B64 )
formato                | String            | SI                | Tipo de formato de la imagen a enviar (JPG_B64 ó PNG_B64)
- gestureBiometric         | String            | SI                | String en BASE64 que contiene la imagen a enviar Datos biométricos Base64 (Puede apoyarse en la clase  ImageUtils.getEncodedBase64FromFilePath(pathFaceTwo) para pasar la imagen a B64 ), pathFaceTwo es la segunda imagen que se captura
- gestureFormat         | String            | SI                | Tipo de formato de la imagen a enviar (JPG_B64 ó PNG_B64)
#!java
 
public ValidarBiometriaIn(String guiCiudadano, //Es el identificador único del ciudadano
                              String guidProcesoConvenio, //Identificador único del proceso de convenio
                              int idServicio,  //Identificador del servicio para la biometría requerida
                              String subTipo,  //Subtipo asociado al tipo de biometria a validar
                              String biometria,  //Es la biometría en base_64, para la primer imagen 
                              String formato)  //Es el formato en el cual está la biometría 
                            String gestureBiometric,  //Es la biometría en base_64, para la segunda imagen
                              String gestureFormat)  //Es el formato en el cual está la biometría 
#!Kotlin
 
fun ValidarBiometriaIn(guiCiudadano : String, //Es el identificador único del ciudadano
                          guidProcesoConvenio: String, //Identificador único del proceso de convenio
                          idServicio: int,  //Identificador del servicio para la biometría requerida
                          subTipo: String,  //Subtipo asociado al tipo de biometria a validar
                          biometria: String,  //Es la biometría en base_64, para la primer imagen 
                          formato: String)  //Es el formato en el cual está la biometría
                        gestureBiometric: String,  //Es la biometría en base_64, para la segunda imagen
                          gestureFormat: String)  //Es el formato en el cual está la biometría                           

Y devuelve un ValidarBiometria

Parámetros ValidarBiometria

Parámetro Tipo Descripción
esValido boolean Es la aceptación o no de la validación
score String Es el puntaje máximo según la validación
intentos Integer Cantidad de intentos realizados por el usuario
RespuestaTransaccion Object Objeto que describe si el servicio fue o no consultado
#!java
 
public ValidarBiometria(boolean esValido, //Es la aceptación o no de la validación
                           String score,  //Es el puntaje máximo según la validación
                           intentos int,  //Es el puntaje máximo según la validación
                           RespuestaTransaccion respuestaTransaccion)  //Respuesta de la transacción
#!Kotlin
 
fun ValidarBiometria(esValido: boolean, //Es la aceptación o no de la validación
                        score : String,  //Es el puntaje máximo según la validación
                        Integer: intentos,  //Es el puntaje máximo según la validación
                        respuestaTransaccion : RespuestaTransaccion)  //Respuesta de la transacción                        

ej:

#!java
 
ValidarBiometriaIn data = new ValidarBiometriaIn();
           data.setGuiCiudadano(GuiCiudadano);
           data.setGuidProcesoConvenio(GuidProcesoConvenio);
           data.setFormato("JPG_B64");
        data.setgestureFormat("JPG_B64");
           data.setIdServicio(5);
           data.setSubTipo("Frontal");
           data.setBiometria(ImageUtils.getEncodedBase64FromFilePath(pathFace));// Es la biometría para la primer imagen
        data.setGestureBiometric(ImageUtils.getEncodedBase64FromFilePath(pathFaceTwo));//Es la biometría para la segunda imagen
 
            ServicesOlimpia.getInstance().validarBiometria(data, new OlimpiaInterface.CallbackValidateBiometry() {
               @Override
               public void onSuccess(ValidarBiometria validarBiometria) {
                   // Implementación 
               }
 
                @Override
               public void onError(RespuestaTransaccion respuestaTransaccion) {
                   // Implementación 
               }
           });
#!Kotlin
 
            val validarBiometriaIn = ValidarBiometriaIn()
           validarBiometriaIn.guidCiudadano = guidCiudadanoBlackBox
           validarBiometriaIn.guidProcesoConvenio = procesoConvenioGuidBlacBox
           validarBiometriaIn.subTipo = "Frontal"
           validarBiometriaIn.formato = "JPG_B64"
        validarBiometriaIn.gestureFormat = "JPG_B64"
           validarBiometriaIn.idServicio = 5
           validarBiometriaIn.biometria =  ImageUtils.getEncodedBase64FromFilePath(pathFace)// Es la biometría para la primer imagen
        validarBiometriaIn.gestureBiometric = ImageUtils.getEncodedBase64FromFilePath(pathFaceTwo)//Es la biometría para la segunda imagen
               ServicesOlimpia.getInstance()
                   .validarBiometria(validarBiometriaIn, object : CallbackValidateBiometry {
                       override fun onSuccess(validarBiometria: ValidarBiometria) {
                           // Implementación 
                       }
 
                        override fun onError(respuestaTransaccion: RespuestaTransaccion) {
                           // Implementación 
                       }
                   })

volver a servicios