ID Recognition API
Overview
API Name: ZOLOZ SaaS ID Recognition API
API URL: /api/v1/zoloz/idrecognition/recognize
API Description: Providing the Optical Character Recognition (OCR) functionality for most of documents like passport, ID card and driving license, etc., along with the anti-spoofing results for the documents.
Version
Date | Version | Release Notes |
25 November, 2019 | 1.0.0 | The first published version. |
28 November, 2019 | 1.0.1 | update api content |
29 November, 2019 | 1.0.2 | update ocr info |
Request
Fields Specification
Name | Type | Max Length | Mandatory | Default Value | Value Range | Description | Sample Value |
bizId | string | 32B | true | not null not empty string | business unique ID for tracing purpose. | "trans-abc-1234" | |
docType | string | 32B | true | not null not empty string | document type, see definitions below. | "00000001003" | |
frontPageImage | string | 1MB | true | not null not empty string | base64 string of front side of doc image. | "/9j/4AA..[omitted]..PxA=" | |
backPageImage | string | 1MB | false | base64 string of back side of doc image. | "/9j/4AA..[omitted]..PxA=" |
Request Sample
POST /api/v1/zoloz/idrecognition/recognize HTTP/1.1
Content-Type: application/json; charset=UTF-8
Client-Id: 5X67656YXXXXXX
Request-Time: 2019-04-04T12:08:56+05:30
Signature: algorithm=RSA256, signature=xxxxxxxxxxxx
{
"bizId": "trans-test-1234",
"docType": "00000001003",
"frontPageImage": "/9j/4AA..[omitted]..PxA=",
"backPageImage": "/9j/4AA..[omitted]..PxA="
}
Response
Fields Specification
Name | Type | Mandatory | Value Range | Description | Sample Value |
transactionId | string | false | transaction id | copy
| |
recognitionResult | string | false | "Y" "N" | recognition result | "Y" |
recognitionErrorCode | string | false | NO_REQUIRED_ID BLUR NO_FACE_DETECTED NOT_REAL_DOC UNKNOWN | recognition error code | "BLUR" |
ocrResult | Map | false | ocr result map,please refer to appendix. | ||
spoofResult | Map | false | anti-spoofing result map,please refer to appendix. | ||
result | true | common result, please refer to appendix. |
Response Sample
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Response-Time: 2019-11-19T21:56:15-0800
Signature: algorithm=RSA256, signature=xxxxxxxxxxxxxxxxxx
{
"transactionId": "G000000005FID20200304000000000001570702",
"recognitionResult": "Y",
"ocrResult": {
"ID_NUMBER": "xxxx",
"COUNTRY": "xxxxx",
"SEX": "M",
"LAST_NAME": "xxxxx",
"DATE_OF_BIRTH": "xxxxx",
"FIRST_NAME": "xxxxx"
},
"spoofResult": {
"TAMPER_CHECK": "Y",
"MATERIAL_CHECK": "Y",
"SCREEN_RECAPTURE_CHECK": "Y"
}
"result": {
"resultCode":"SUCCESS",
"resultStatus":"S",
"resultMessage":"success"
}
}
Appendix
CommonResult Model
Description: A unified data structure that indicates the status of API invocation.
Fields Specification:
Name | Type | Mandatory | Value Range | Description | Sample Value |
resultCode | string | true | result code | "SUCCESS" | |
resultStatus | string | true | "S": successful "F": failed | result status | "S" |
resultMessage | string | true | result description | "success" |
The value range of "resultCode" at business level:
resultCode | Description |
SUCCESS | success |
SYSTEM_ERROR | other internal errors; |
INVALID_ARGUMENT | input parameters are illegal; |
Support DocType and Return OCR Result Key
Country/Region | Name | docType | pages | ocr result key |
All countries | Passport | 00000001003 | 1 | LAST_NAME FIRST_NAME ID_NUMBER COUNTRY SEX DATE_OF_BIRTH |
Philippines | UMID | 00630000001 | 1 | ID_NUMBER LAST_NAME FIRST_NAME MIDDLE_NAME SEX DATE_OF_BIRTH |
Philippines | TIN | 00630000002 | 1 | ID_NUMBER LAST_NAME FIRST_NAME DATE_OF_BIRTH |
Philippines | Driver’s License | 00630000004 | 1 | ID_NUMBER LAST_NAME FIRST_NAME MIDDLE_NAME SEX DATE_OF_BIRTH |
Philippines | PHILHEALTH | 00630000024 | 1 | ID_NUMBER LAST_NAME FIRST_NAME MIDDLE_NAME DATE_OF_BIRTH |
Philippines | SSS | 00630000020 | 1 | ID_NUMBER LAST_NAME FIRST_NAME MIDDLE_NAME DATE_OF_BIRTH |
Malaysia | MyKad | 00600000001 | 1 | ID_NUMBER NAME DATE_OF_BIRTH |
Indonesia | eKTP | 00620000001 | 1 | ID_NUMBER NAME DATE_OF_BIRTH |
HK | Current HKID | 08520000001 | 1 | NAME NAME_CN SEX DATE_OF_BIRTH ID_NUMBER |
HK | New HKID | 08520000002 | 1 | NAME NAME_CN SEX DATE_OF_BIRTH ID_NUMBER |
Macao | Identity Card | 08530000001 | 1 | ID_NUMBER PLACE_OF_BIRTH SEX CNAME1 CNAME2 PNAME1 PNAME2 DATE_OF_EXPIRE DATE_OF_BIRTH |
Bengal | NID/SmartCard | 08800000001 | 2 | ID_NUMBER BNAME_M BNAME_F BNAME BNAME_H DATE_OF_BIRTH NAME |
Spoof Result
Spoof result values further explanation
Name | Type | Mandatory | Value Range | Description | Sample Value |
TAMPER_CHECK | string | true | "Y": ok "N": not ok | Check whether an ID is modified or not | "Y" |
MATERIAL_CHECK | string | true | "Y": ok "N": not ok | Check an ID's material is correct or not, will return false once ID is black and white | "Y" |
SCREEN_RECAPTURE_CHECK | string | true | "Y": ok "N": not ok | Check if it is an ID recaptured from the screen | "Y" |
ZOLOZ Team