/ocr/idcard
1.API Specification
2.Request Params
3.Response Params
4.Error Codes
5.Sample
1.API Specification
This API is used to recognize ID card of Pakistan, and extract the key information.
Image spec
1. Format: JPG(JPEG), PNG, e-aadhaar(PDF)
2. Between 128*128 and 6000*6000 (pixels), Recommended resolution: 1280*1280
3. File size: no larger than 5 MB
Request Method
POST
Request URL
- Master Node: https://cloudapi.pakistan-1.accuauth.com/ocr/idcard
- Backup Node: https://cloudapi.pakistan.accuauth.com/ocr/idcard
Debugging Tool
2.Request Params
2.1 Request Header
Parameter | Type | Required | Description |
---|---|---|---|
X-DF-API-ID | string | Yes | For API credentials,Please visit API Request |
X-DF-API-SECRET | string | Yes | For API credentials,Please visit API Request |
2.2 Request Body
Fields | Type | Description | |
---|---|---|---|
optional | file | file | Binary data of the image |
optional | image_base64 | string | Base64 encoded data of image |
Either parameter
file
orimage_base64
must be provided as a request parameter.You MUST add image stream to multipart/form-data section of POST message when using
file
parameter.
3.Response Params
Fields | Type | Description |
---|---|---|
request_id | string | Unique id of each request |
status | string | Response status, OK if request success, other if failed; See Error Codes for details |
results | array | The array of card ocr results,See results belowed for details |
Elements in results
:
Fields | Type | Description |
---|---|---|
card_type | string | The type of card: SNIC (Smart National Identity Card, equivalent to CNIC ) or NIC (National Identity Card); SNIC mainly in English and NIC mainly in Urdu |
card_side | string | The side of card: front or back |
card_info | object | The key infomation of card |
Elements in the card_info
- Front side of ID card info:
Fields | Type | Description | SNIC OR NIC |
---|---|---|---|
id_number | string | ID card number | SNIC NIC |
expiry_date | string | Expiry date of the card | SNIC |
issue_date | string | Issue date of the card | SNIC |
name | string | Name | SNIC |
name_urdu | string | Name in Urdu | SNIC NIC |
birthday | string | Date of birth | SNIC NIC |
gender | string | Gender | SNIC NIC |
father_name | string | Father's name | SNIC NIC |
father_name_urdu | string | Father's name in Urdu | SNIC NIC |
identifier | string | Personal identifier | NIC |
country_of_stay | string | Country of stay | SNIC |
- Back side of ID card info:
Fields | Type | Description | SNIC OR NIC |
---|---|---|---|
id_number | string | ID card number | SNIC NIC |
current_address | string | Current address | SNIC NIC |
expiry_date | string | Expiry date of the card | NIC |
family_number | string | Family number | NIC |
permanent_address | string | Permanent address | SNIC NIC |
issue_date | string | Issue date of the card | NIC |
Response Syntax
- Front side of ID card
{
"request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e",
"status": "OK",
"results": [{
"card_type": "SNIC",
"card_side": "front",
"card_info":{
"id_number":"******",
"name":"MUMAD XXXX",
"name_urdu":"**** ****",
"birthday":"08/17/1999",
"gender":"M",
"father_name":"****** ******",
"father_name_urdu": "**** ***"
"identifier":"",
"country_of_stay": "Pakistan"
}
}]
}
- Back side of ID card
{
"request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e",
"status": "OK",
"results": [{
"card_type": "SNIC",
"card_side": "back",
"card_info":{
"id_number":"******",
"expiry_date":"04/05/2030",
"issue_date":"04/05/2010",
"family_number":"xxxxxxx",
"permanent_address":"xxxxx xxxxxxx",
"current_address":"xxxxx xxxxx"
}
}]
}
4.Error Codes
Common error codes of this API:
Http Status Code | Status field |
Description |
---|---|---|
400 |
INVALID_ARGUMENT | Request parameter is invalid |
400 |
DETECTION_FAILED | Detect image failed |
401 |
UNAUTHORIZED | Unauthorized or access is denied |
401 |
KEY_EXPIRED | Your API ID has expired |
403 |
NO_PERMISSION | You are not authorized to use this API |
403 |
OUT_OF_QUOTA | API calls quota exceeded |
403 |
RATE_LIMIT_EXCEEDED | API request frequency exceeds the limit |
404 |
NOT_FOUND | Requested API cannot be found |
500 |
INTERNAL_ERROR | Internal server error |
Comment: Please see the reason
field for details when the above 40X error occurred
Response Syntax
{
"status": "INVALID_ARGUMENT",
"reason": "must specify 'file' or 'image_base64' argument",
"request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e"
}