Validar Documento Móvil - ReconoSERID/SDK-ReconoSERID-Android GitHub Wiki
Validar Documento Móvil
Método para validar la información del documento escaneado por la cámara del teléfono.
La validación del documento se realiza por medio de Intents de la siguiente forma:
#!java
public void validarDocumento() {
Intent intent = new Intent(this, GeneralDocumentActivity.class);
intent.putExtra(IntentExtras.TEXT_SCAN, "Documento");
intent.putExtra(IntentExtras.TYPE_DOCUMENT, "Tipo de documento"); //Depende del tipo de documento del pais
intent.putExtra(IntentExtras.GUID_PROCESS_AGREEMENT, "guidProcesoConvenio"); //Identificación único del proceso del convenio
startActivityForResult(intent, GENERAL_DOCUMENT); //Importante saber que GENERAL_DOCUMENT = 5
}
#!Kotlin
fun validarDocumento() {
val intent = Intent(this, GeneralDocumentActivity::class.java)
intent.putExtra(IntentExtras.TEXT_SCAN, "Documento")
intent.putExtra( IntentExtras.TYPE_DOCUMENT, "Tipo de documento") //Depende del tipo de documento del pais
intent.putExtra(IntentExtras.GUID_PROCESS_AGREEMENT, "guidProcesoConvenio"); //Identificación único del proceso del convenio
startActivityForResult(
intent,
GENERAL_DOCUMENT
) //Importante saber que GENERAL_DOCUMENT = 5
}
Internamente el parametro de entrada es:
Parámetros
Parámetro
Tipo
Requerido
Descripción
ValidarDocumentoGenericoIn
Object
SI
Object con parámetros requeridos
Parámetros ValidarDocumentoGenericoIn
Parámetro
Tipo
Requerido
Descripción
convenioGuid
String
SI
Identificación único del convenio
datosAdi
String
SI
Indica el tipo de documento (el que va en el Intent anteriormente descrito)
Anverso
Object
SI
Anverso del documento
Reverso
Object
SI
Reverso del documento
usuario
String
SI
Usuario asociado al documento escaneado
guidProcesoConvenio
String
SI
Identificación único del proceso del convenio
guidCiu
String
SI
Identificación único del proceso del ciudadano
Parámetros Anverso
Parámetro
Tipo
Descripción
valor
String
Valor de la imagen en Base64
formato
String
Formato JPG_B64 o PNG_B64
Parámetros Reverso
Parámetro
Tipo
Descripción
valor
String
Valor de la imagen en Base64
formato
String
Formato JPG_B64 o PNG_B64
#!java
public ValidarDocumentoGenericoIn (String convenioGuid, //Identificación único del convenio
String datosAdi, //Indica el tipo de documento (el que va en el Intent anteriormente descrito)
Anverso anverso, //Anverso del documento
Reverso reverso, //Reverso del documento
String usuario, //Usuario asociado al documento escaneado
String guidProcesoConvenio, //Identificación único del proceso del convenio
String guidCiu) // Identificación único del proceso del ciudadano
#!Kotlin
fun LogSaveOCR(convenioGuid : String, //Identificación único del convenio
datosAdi : String, //Indica el tipo de documento (el que va en el Intent anteriormente descrito)
anverso : Anverso, //Anverso del documento
reverso : Reverso, //Reverso del documento
usuario : String, //Usuario asociado al documento escaneado
guidProcesoConvenio : String, //Identificación único del proceso del convenio
guidCiu : String) // Identificación único del proceso del ciudadano
y devuelve la clase ValidarDocumentoGenericoOut
Parámetros ValidarDocumentoGenericoOut
Parámetro
Tipo
Descripción
anvExitoso
Boolean
Validación exitosa del anverso
anvMensaje
String
Mensaje asociado a la validación del anverso
barcodeList
List
Objeto en forma de lista que contiene la información del los Barcodes encontrados en el documento
data
Data
Información del ciudadano
mrzList
List
Objeto en forma de lista que contiene la información del los Mrz encontrados en el documento
ocrList
List
Objeto en forma de lista que contiene la información del los Ocr encontrados en el documento
procesoConvenioGuid
String
Identificación único del proceso del convenio
RespuestaTransaccion
List
Respuesta de la transacción
revExitoso
Boolean
Validación exitosa del reverso
revMensaje
String
Mensaje asociado a la validación del reverso
Parámetros RespuestaTransaccion
Parámetro
Tipo
Descripción
codigo
String
Código asociado al error en el guardado
descripcion
String
Mensaje asociado al error en el guardado
#!java
public ValidarDocumentoGenericoOut( Boolean anvExitoso, //Validación exitosa del anverso
String anvMensaje, //Mensaje asociado a la validación del anverso
List<Barcode> barcodeList, // Lista que contiene la información del los Barcodes encontrados en el documento
Data data, //Información del ciudadano
List<Mrz> mrzList, //Lista que contiene la información del los Mrz encontrados en el documento
List<Ocr> ocrList, //Lista que contiene la información del los Ocr encontrados en el documento
String procesoConvenioGuid, //Identificación único del proceso del convenio
RespuestaTransaccion respuestaTransaccion, // Respuesta de la transacción
Boolean revExitoso, // Validación exitosa del reverso
String revMensaje) // Mensaje asociado a la validación del reverso
#!Kotlin
fun ValidarDocumentoGenericoOut( anvExitoso: Boolean , //Validación exitosa del anverso
anvMensaje :, //Mensaje asociado a la validación del anverso
barcodeList : List<Barcode> , // Lista que contiene la información del los Barcodes encontrados en el documento
data : Data , //Información del ciudadano
mrzList : List<Mrz> , //Lista que contiene la información del los Mrz encontrados en el documento
ocrList : List<Ocr> , //Lista que contiene la información del los Ocr encontrados en el documento
procesoConvenioGuid : String , //Identificación único del proceso del convenio
respuestaTransaccion : RespuestaTransaccion , // Respuesta de la transacción
revExitoso : Boolean , // Validación exitosa del reverso
revMensaje : String) // Mensaje asociado a la validación del reverso
ej:
#!java
//Para la validación de la información del documento, se deber realizar primero un Intent, esperar la respuesta y obtener los resultados
//Realizar el intent Primero
public void validarDocumento() {
Intent intent = new Intent(this, GeneralDocumentActivity.class);
intent.putExtra(IntentExtras.TEXT_SCAN, "Documento");
intent.putExtra(IntentExtras.TYPE_DOCUMENT, "Tipo de documento"); //Depende del tipo de documento del pais
intent.putExtra(IntentExtras.GUID_PROCESS_AGREEMENT, "guidProcesoConvenio"); //Identificación único del proceso del convenio
startActivityForResult(intent, GENERAL_DOCUMENT); //Importante saber que GENERAL_DOCUMENT = 5
}
//Obtener la respuesta
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_CANCELED || data == null) {
//Algo ha salido mal
data = new Intent();
data.putExtra(IntentExtras.ERROR_MSG, Constants.ERROR_IMAGE_PROCESS);
data.putExtra(IntentExtras.ERROR_SDK, Constants.ERROR_R106);
onErrorIntent(data); //O muestre el mensaje de error respectivo
} else if (requestCode == GENERAL_DOCUMENT) {
if (resultCode == RESULT_OK) {
onRespondGeneralDocument(data); //Valores obtenidos correctamente
} else if (resultCode == IntentExtras.ERROR_INTENT) {
onErrorIntent(data);
}
}
}
private void onRespondGeneralDocument(Intent data) {
if (data == null) {
data = new Intent();
data.putExtra(IntentExtras.ERROR_MSG, Constants.ERROR_IMAGE_PROCESS);
data.putExtra(IntentExtras.ERROR_SDK, Constants.ERROR_R106);
onErrorIntent(data);
} else {
String path = data.getStringExtra(IntentExtras.PATH_FILE_ANVERSO); //Imagen en base 64 del anverso
ValidarDocumentoGenericoOut document = data.getParcelableExtra(IntentExtras.DATA_DOCUMENT); //Información completa del documento
}
}
#!Kotlin
//Para la validación de la información del documento, se deber realizar primero un Intent, esperar la respuesta y obtener los resultados
//Realizar el intent Primero
fun validarDocumento() {
val intent = Intent(this, GeneralDocumentActivity::class.java)
intent.putExtra(IntentExtras.TEXT_SCAN, "Documento")
intent.putExtra(IntentExtras.TYPE_DOCUMENT, "Tipo de documento") //Depende del tipo de documento del pais
intent.putExtra(IntentExtras.GUID_PROCESS_AGREEMENT, "guidProcesoConvenio"); //Identificación único del proceso del convenio
startActivityForResult(intent, GENERAL_DOCUMENT) //Importante saber que GENERAL_DOCUMENT = 5
}
//Obtener la respuesta
override fun onActivityResult(requestCode: Int, resultCode: Int, @Nullable data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode != RESULT_CANCELED || data == null) {
//Algo ha salido mal
data = Intent()
data.putExtra(IntentExtras.ERROR_MSG, Constants.ERROR_IMAGE_PROCESS)
data.putExtra(IntentExtras.ERROR_SDK, Constants.ERROR_R106)
onErrorIntent(data) //Muestre el mensaje de error respectivo
} else if (requestCode == GENERAL_DOCUMENT) {
if (resultCode == RESULT_OK) {
onRespondGeneralDocument(data) //Valores obtenidos correctamente
} else if (resultCode == IntentExtras.ERROR_INTENT) {
onErrorIntent(data)
}
}
}
private fun onRespondGeneralDocument(data: Intent) {
if (data == null) {
data = Intent()
data.putExtra(IntentExtras.ERROR_MSG, Constants.ERROR_IMAGE_PROCESS)
data.putExtra(IntentExtras.ERROR_SDK, Constants.ERROR_R106)
onErrorIntent(data) //Muestre el mensaje de error respectivo
} else {
val path =
data.getStringExtra(IntentExtras.PATH_FILE_ANVERSO) //Imagen en base 64 del anverso
ValidarDocumentoGenericoOut document = data.getParcelableExtra( IntentExtras.DATA_DOCUMENT ) //Información completa del documento
}
}