OCR Verification

Sequence to call API for OCR Verification

Source Code Sample

byte[] fImg = Utils.readBytesFromFile(icfront);
icfrontBs64 = Base64.getEncoder.encodeToString(fImg);
byte[] ffImg = Utils.readBytesFromFile(icfrontflash);
icfrontflashBs64 = Base64.getEncoder.encodeToString(ffImg);
byte[] bImg = Utils.readBytesFromFile(icback);
icbackBs64 = Base64.getEncoder.encodeToString(bImg);

signinfo1.put("name",name); 
signinfo1.put("email", email);
jsonData.put("docType", doctype);
jsonData.put("idFront", icfrontBs64);
jsonData.put("idFrontFlash", icfrontflashBs64);
jsonData.put("idBack", icbackBs64);
jsonData.put("signerInfo", signinfo1);

data = Hex.encodeHexString(Utils.aesEcbPkcs5PaddingEncrypt(jsonData.toString(),apiSecret));
mac = Utils.calculateMac(data,apiSecret);
Sample code to prepare raw data object for OCR verification

Request Body Creation

{
   "signerInfo": {
      "name": "Lee Kim",
      "email": "leekim@gmail.com"
   },
   "docType": "mykad",
   "idFrontFlash": "89504e470d0a1a0a0000000d494844520000012c0000012c0806000000797",
   "idFront": "89504e470d0a1a0a0000000d494844520000012c0000012c0806000000797d",
   "idBack": "89504e470d0a1a0a0000000d494844520000012c0000012c0806000000797d"
}

Example of Request

https://<domain>/signserver/v1/user/ekycimages/ocr?accesstoken=d7a3ad1586084a58&data=5a899f31ce22453fadc37c1a&mac=75706f345fc7129c6eb5cb

Expected Response

{ 
     "result": 0,
     "message": "Success",
     "documentid": "830921107832",
     "fullName": "Lee Kim",
     "address": "19,JALAN LET 1/10",
     "gender": "F",
     "nationality": "WARGANEGARA",
     "state_code": "MYS",
     "state_name": "Malaysia"
}

API reference OCR Verification


How can we help?