Importe el SDK en la clase
import ReconoSerSDK
el servicio recibe un objeto de tipo SaveDocumentBothSidesRequest y estas son sus propiedades:
public struct SaveDocumentBothSidesRequest {
public let agreementGuid: String
public let processGuid: String
public let citizenGuid: String
public let additionalData: String
public let front: DocumentMode
public let back: DocumentMode
public let user: String
public let traceability: Traceability?
public let logsOcrBarcode: LogsOcrBarcode?
public let specialConfiguration: [String]
}
y su respuesta es un objeto tipo SaveDocumentBothSidesResponse y estas son sus propiedades:
public struct SaveDocumentBothSidesResponse {
public let biometricFrontGuid: String?
public let biometricBackGuid: String?
public let frontSuccess: Bool?
public let backSuccess: Bool?
public let frontMessage: String?
public let backMessage: String?
public let transactionResponse: TransactionResponse?
}
para tener acceso al llamado del servicio tiene que utilizar la intancia del SDK de esta forma:
ServiciosOlimpia.sharedInstance.documentService.saveDocumentBothSides(request: request)
este es un ejemplo de su implementacion:
func saveDocument() async {
let request = SaveDocumentBothSidesRequest(agreementGuid: "agreementGuid",
processGuid: "processGuid",
citizenGuid: "citizenGuid",
additionalData: "CC",
front: DocumentMode(value: "documentFrontImage", format: "JPG_BASE64"),
back: DocumentMode(value: "documentBackImage", format: "JPG_BASE64"),
user: "user",
traceability: traceability,
logsOcrBarcode: nil,
specialConfiguration: [])
do {
let response = try await ServiciosOlimpia.sharedInstance.documentService.saveDocumentBothSides(request: request)
if let error = response.error {
//SU IMPLEMENTACION
return
}
guard let response = response.data else {
//SU IMPLEMENTACION
return
}
} catch {
//SU IMPLEMENTACION
}
}
este es un ejemplo del request:
{
"guidCiu": "GUI-123",
"usuario": "USUARIO-123",
"reverso": {
"valor": "FOTO",
"formato": "JPG_BASE64"
},
"guidProcesoConvenio": "CONVENIO-123",
"datosAdi": "CC",
"convenioGuid": "GUI-123",
"configuracionEspecial": [],
"anverso": {
"valor": "FOTO",
"formato": "JPG_BASE64"
}
}
este es un ejemplo del response:
{
"datos": {
"data": {
"documentTypeDesc": "Identity Card",
"documentType": "CC",
"class": null,
"subTipo": null,
"numeroDocumento": "",
"primerNombre": "",
"segundoNombre": "",
"primerApellido": "",
"segundoApellido": "",
"nombreCompleto": "",
"sexo": "M",
"rh": "O+",
"lugarNacimiento": "BOGOTA D.C. (CUNDINAMARCA)",
"lugarExpedicion": "BOGOTA D C",
"nacionalidad": "COL",
"isoCode": null,
"mrzCode": null,
"pais": "COL",
"edad": 0,
"numeroPersonal": null,
"claveElector": null,
"ocrNumber": null,
"codigoCic": null,
"numeroEmision": null,
"fechaDeRegistro": null,
"fechaNacimiento": "1989-09-01T00:00:00",
"fechaNacimientoMRZ": null,
"fechaNacimientoBarcode": null,
"fechaExpedicionDoc": "2000-00-00T00:00:00",
"fechaExpedicionDocMRZ": null,
"fechaExpedicionDocBarcode": null,
"fechaExpiracionDoc": null
},
"ocrList": [
{
"idType": "DocumentNumber",
"descripcion": "Número de documento",
"valor": ""
}
],
"barcodeList": [
{
"idType": "DocumentNumber",
"descripcion": "Numero de documento",
"valor": ""
},
],
"mrzList": []
},
"guidBioAnv": "6e77b366-25d8-4a3d-a356-8ea1f3130f10",
"guidBioRev": "29e01a9f-5ccc-46dc-942c-fcb485f85030",
"anvExitoso": true,
"revExitoso": true,
"anvMensaje": "Se validó Anverso CC correctamente",
"revMensaje": "Se validó Reverso CC correctamente",
"respuestaTransaccion": {
"isHomologacion": false,
"esExitosa": true,
"errorEntransaccion": []
}
}