API
FPT.AI Reader - Nhận diện bằng lái xe
Quy định
• Ảnh đầu vào phải đủ 4 góc rõ ràng hoặc đủ các bộ phận chính của một GPLX như ảnh, tiêu đề. • Các trường thông tin phải rõ ràng, so sánh khi mắt người có thể đọc được dễ dàng, không tẩy xoá, hay bị nhoè nước • Ảnh đầu vào không vượt quá 5 MB và độ phân giải tối thiểu khoảng 800x600 để đảm bảo tỉ lệ đọc chính xác • Tỉ lệ diện tích Chứng minh thư hoặc Căn cước công dân phải chiếm tối thiểu ¼ tổng diện tích ảnh trở lên
Ảnh tiêu chuẩn
Ảnh kém chất lượng
- Ảnh chất lượng thấp và thiếu góc
- Ảnh chất lượng thấp và thiếu thông tin
Request
Request Url
POST https://api.fpt.ai/vision/dlr/vnm
Request Headers
Tham số | Yêu cầu | Mặc định | Mô tả |
---|---|---|---|
api_key | Có | api_key của bạn ( lấy từ console.fpt.ai ) |
Request Body
FormData chứa ảnh cần nhận dạng
Tham số | Yêu cầu | Mô tả |
---|---|---|
image | Có |
Sample Request
curl -X POST https://api.fpt.ai/vision/dlr/vnm -H "api-key: xxxxxx" -F "image=@path/to/image"
Response
JSON
{
"errorCode": x,
"errorMessage": "xxxx",
"data": [xxxx]
}
Hệ thống có khả năng trích xuất tất cả các loại thông tin có trên các loại GPLX của Việt Nam. Hệ thống phân chia kết quả trả về thành 3 loại: GPLX cũ mặt trước/sau và GPLX mới mặt trước. Sau khi gửi request thành công, hệ thống sẽ trả về một file json bao gồm thông tin dạng text trên GPLX sử dụng format như ở bên.
- errorCode: giá trị bằng 0 nếu request thành công không có lỗi xảy ra
- errorMessage: giá trị bằng string rỗng nếu request thành công không có lỗi xảy ra
- data: bao gồm các trường thông tin có trên ảnh GPLX nếu request thành công không có lỗi xảy ra hoặc trả về list rỗng [] nếu xảy ra lỗi (những trường thông tin không có sẽ có giá trị "N/A"). Ngoài ra, đi kèm với các trường thông tin là chỉ số probability cho biết mức độ đáng tin cậy của kết quả trả về. (Chi tiết các lỗi có thể xảy ra bao gồm cả errorCode và errorMessage xem ở phần Errors))
Loại cũ - mặt trước
{
"errorCode": 0,
"errorMessage": "",
"data": [{
"id": "xxxx",
"id_prob": "xxxx",
"name": "xxxx",
"name_prob": "xxxx",
"dob": "xxxx",
"dob_prob": "xxxx",
"nation": "xxxx",
"nation_prob": "xxxx",
"address": "xxxx",
"address_prob": "xxxx",
"place_issue": "xxxx",
"place_issue_prob": "xxxx",
"date": "xxxx",
"date_prob": "xxxx",
"doe": "xxxx",
"doe_prob": "xxxx",
"code": "xxxx",
"code_prob": "xxxx"
"type": "xxxx"
}]
}
Mặt trước GPLX loại cũ bao gồm các trường thông tin:
Trường | Mô tả |
---|---|
id | Số GPLX |
name | Tên |
dob | Ngày sinh |
nation | Quốc tịch |
address | Nơi cư trú |
place_issue | Nơi cấp |
date | Ngày cấp |
doe | Ngày hết hạn |
code | Mã số |
trường có "_prob" là trường xác suất chính xác
Loại cũ - mặt sau
{
"errorCode": 0,
"errorMessage": "",
"data": [{
"class": [
"xxxx"
],
"class_prob": [
"xxxx"
],
"date": [
"xxxx"
],
"date_prob": [
"xxxx"
]
"type": "xxxx"
}]
}
Mặt sau GPLX loại cũ bao gồm các trường thông tin:
Trường | Mô tả |
---|---|
class | Hạng |
date | Ngày cấp |
Loại mới - mặt trước
{
"errorCode": 0,
"errorMessage": "",
"data": [{
"id": "xxxx",
"id_prob": "xxxx",
"name": "xxxx",
"name_prob": "xxxx",
"dob": "xxxx",
"dob_prob": "xxxx",
"nation": "xxxx",
"nation_prob": "xxxx",
"address": "xxxx",
"address_prob": "xxxx",
"place_issue": "xxxx",
"place_issue_prob": "xxxx",
"date": "xxxx",
"date_prob": "xxxx",
"class": "xxxx",
"class_prob": "xxxx",
"doe": "xxxx",
"doe_prob": "xxxx"
"type": "xxxx"
}]
}
Mặt trước GPLX loại mới bao gồm 9 trường
Trường | Mô tả |
---|---|
id | Số bằng lái |
name | Tên |
dob | Ngày sinh |
nation | Quốc gia |
address | Địa chỉ |
place_issue | Nơi cấp |
date | Ngày cấp |
doe | Ngày hết hạn |
class | Hạng |
Loại mới mặt sau
{
"errorCode": 0,
"errorMessage": "",
"data": [{
"type": "xxxx"
}]
}
Mặt sau GPLX loại mới bao gồm 1 trường
Trường | Mô tả |
---|---|
type | Loại |
Errors
Phần này bao gồm các lỗi thường gặp và có thể xử lý bởi hệ thống, messages được trả về rõ ràng và cụ thể mục đích nhằm chỉ thị cho users sử dụng API một cách chính xác nhất.
Hệ thống sử dụng các error code như sau:
Error Code | Meaning |
---|---|
0 | No error -- Không có lỗi |
1 | Invalid Parameters or Values! -- Sai thông số trong request (ví dụ không có key hoặc ảnh trong request body). |
2 | Failed in cropping -- CMT trong ảnh bị thiếu góc nên không thể crop về dạng chuẩn. |
3 | Unable to find Driving Licence in the image -- Hệ thống không tìm thấy GPLX trong ảnh hoặc ảnh có chất lượng kém (quá mờ, quá tối/sáng). |
5 | No URL in the request -- Request sử dụng key image_url nhưng giá trị bỏ trống. |
6 | Failed to open the URL! -- Request sử dụng key image_url nhưng hệ thống không thể mở được URL này. |
7 | Invalid image file -- File gửi lên không phải là file ảnh. |
8 | Bad data -- File ảnh gửi lên bị hỏng hoặc format không được hỗ trợ. |