logo

API v2

Cơ Chế Xác Thực

Chúng tôi sử dụng Basic Authentication để cấp quyền truy cập vào API.

Cách hoạt động:

  1. API access key là một cặp:
  • username (api_key): một mã định danh duy nhất của API access key.

  • password (api_secret): một mã bí mật của API access key.

    Đội ngũ Computer Vision Việt Nam sẽ tạo username và password cho từng khách hàng trước khi tích hợp.

  1. Client gửi một request:

    Client gửi HTTP requests cùng với Authorization header chứa Basic theo sau là một khoảng trắng và một mã hoá Base64 username:password. Ví dụ, demo:p@55w0rd client sẽ gửi

    Authorization: Basic ZGVtbzpwQDU1dzByZA==

Dòng Tương Tác

Flow 1: OCR

ocr

Flow 2: Face Matching

face matching

Flow 3: Liveness Verify

liveness

Flow 4: Full eKYC

ekyc

face search

Danh sách APIs

OCR

OCR service là hệ thống AI cho phép trích xuất thông tin từ ảnh chứng minh nhân dân, thẻ căn cước của công dân Việt Nam, bằng lái xe, Passport, đăng ký xe. Hệ thống hỗ trợ nhận diện cả mặt trước và cả mặt sau của chứng minh nhân dân và thẻ căn cước công dân, đăng ký xe, hỗ trợ bằng lái xe, Passport, hỗ trợ cả chứng minh nhân dân cũ.

1. Trích xuất thông tin hai mặt chứng minh thư thẻ căn cước với đầu vào url ảnh

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/ekyc/cards

Params:

KeyValueMô tả
img1https://example.com/front.pngurl ảnh mặt trước cần trích xuất thông tin
img2https://example.com/back.pngurl ảnh mặt sau cần trích xuất thông tin
format_typeurlloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh giấy tờ tùy thân đã được cắt và căn chỉnh

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
front_url = 'sample front url'
back_url = 'sample back url'
response = requests.get(
"https://cloud.computervision.com.vn/api/v2/ekyc/cards?img1=%s&img2=%s&format_type=%s&get_thumb=%s"
% (front_url, back_url, 'url', 'false'),
auth=(api_key, api_secret))
print(response.json())

2. Trích xuất thông tin hai mặt chứng minh thư thẻ căn cước với đầu vào file ảnh

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/cardsmultipart/form-data

Params:

KeyValueMô tả
format_typefileloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh giấy tờ tùy thân đã được cắt và căn chỉnh

Body:

KeyTypeValueMô tả
img1fileexample_front.jpgfile ảnh mặt trước cần trích xuất thông tin
img2fileexample_back.jpgfile ảnh mặt sau cần trích xuất thông tin

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
front_path = '/path/to/your/example_front.jpg'
back_path = '/path/to/your/example_back.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/cards?format_type=file&get_thumb=false",
auth=(api_key, api_secret),
files={'img1': open(front_path, 'rb'), 'img2' : open(back_path, 'rb')})
print(response.json())

3. Trích xuất thông tin hai mặt chứng minh thư thẻ căn cước với đầu vào json

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/cardsapplication/json

Params:

KeyValueMô tả
format_typebase64loại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh giấy tờ tùy thân đã được cắt và căn chỉnh

Body:

{
"img1": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh mặt trước
"img2": "iVBORw0KGgoAAAANSU..." // string base64 của ảnh mặt sau
}

Demo Python:

import base64
import io
import requests
from PIL import Image
def get_byte_img(img):
img_byte_arr = io.BytesIO()
img.save(img_byte_arr, format='PNG')
encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')
return encoded_img
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_front_path = "/path/to/your/img_front.jpg"
img_back_path = "/path/to/your/img_back.jpg"
encode_front = get_byte_img(Image.open(img_front_path))
encode_back = get_byte_img(Image.open(img_back_path))
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/cards?format_type=base64&get_thumb=false",
auth=(api_key, api_secret),
json={'img1' : encode_front, "img2" : encode_back})
print(response.json())

4. Trích xuất thông tin ảnh có chứa 1 hoặc nhiều mặt của CMT, CCCD, Passport, đầu vào url ảnh

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/ocr/card

Params:

KeyValueMô tả
imghttps://example.com/image.pngurl ảnh bất kỳ CMT mặt trước/mặt sau, CCCD mặt trước/mặt sau, Passport
format_typeurlloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh giấy tờ tùy thân đã được cắt và căn chỉnh

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_url = 'https://example.com/image.png'
response = requests.get(
"https://cloud.computervision.com.vn/api/v2/ocr/card?img=%s&format_type=%s&get_thumb=%s"
% (image_url, 'url', 'false'),
auth=(api_key, api_secret))
print(response.json())

5. Trích xuất thông tin từ ảnh có chứa 1 hoặc nhiều mặt của CMT, CCCD, Passport, đầu vào file ảnh hoặc file PDF

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ocr/cardmultipart/form-data

Params:

KeyValueMô tả
format_typefileloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh giấy tờ tùy thân đã được cắt và căn chỉnh

Body:

KeyTypeValueMô tả
imgfileexample.jpgfile ảnh bất kỳ CMT mặt trước/mặt sau, CCCD mặt trước/mặt sau, Passport

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_path = '/path/to/your/example.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ocr/card?format_type=file&get_thumb=false",
auth=(api_key, api_secret),
files={'img': open(image_path, 'rb')})
print(response.json())

6. Trích xuất thông tin từ ảnh có chứa 1 hoặc nhiều mặt của CMT, CCCD, Passport, đầu vào json

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ocr/cardapplication/json

Params:

KeyValueMô tả
format_typebase64loại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh giấy tờ tùy thân đã được cắt và căn chỉnh

Body:

{
"img": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh cần trích xuất
}

Demo Python:

import base64
import io
import requests
from PIL import Image
def get_byte_img(img):
img_byte_arr = io.BytesIO()
img.save(img_byte_arr, format='PNG')
encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')
return encoded_img
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_path = "/path/to/your/image.jpg"
encode_img = get_byte_img(Image.open(img_path))
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ocr/card?format_type=base64&get_thumb=false",
auth=(api_key, api_secret),
json={'img' : encode_img})
print(response.json())

7. Trích xuất thông tin từ 1 loại bất kỳ CMT mặt trước/mặt sau, CCCD mặt trước/mặt sau, Passport, đầu vào url ảnh.

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/ekyc/card

Params:

KeyValueMô tả
imghttps://example.com/image.pngurl ảnh bất kỳ CMT mặt trước/mặt sau, CCCD mặt trước/mặt sau, Passport
format_typeurlloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh giấy tờ tùy thân đã được cắt và căn chỉnh

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_url = 'https://example.com/image.png'
response = requests.get(
"https://cloud.computervision.com.vn/api/v2/ekyc/card?img=%s&format_type=%s&get_thumb=%s"
% (image_url, 'url', 'false'),
auth=(api_key, api_secret))
print(response.json())

8. Trích xuất thông tin từ 1 loại bất kỳ CMT mặt trước/mặt sau, CCCD mặt trước/mặt sau, Passport, đầu vào file ảnh hoặc file PDF

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/cardmultipart/form-data

Params:

KeyValueMô tả
format_typefileloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh giấy tờ tùy thân đã được cắt và căn chỉnh

Body:

KeyTypeValueMô tả
imgfileexample.jpgfile ảnh bất kỳ CMT mặt trước/mặt sau, CCCD mặt trước/mặt sau, Passport

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_path = '/path/to/your/example.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/card?format_type=file&get_thumb=false",
auth=(api_key, api_secret),
files={'img': open(image_path, 'rb')})
print(response.json())

9. Trích xuất thông tin từ 1 loại bất kỳ CMT mặt trước/mặt sau, CCCD mặt trước/mặt sau, Passport, đầu vào file json

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/cardapplication/json

Params:

KeyValueMô tả
format_typebase64loại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh giấy tờ tùy thân đã được cắt và căn chỉnh

Body:

{
"img": "iVBORw0KGgoAAAANSU..." // string base64 của ảnh cần trích xuất
}

Demo Python:

import base64
import io
import requests
from PIL import Image
def get_byte_img(img):
img_byte_arr = io.BytesIO()
img.save(img_byte_arr, format='PNG')
encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')
return encoded_img
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_name = "path_img"
encode_cmt = get_byte_img(Image.open(img_name))
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/card?format_type=base64&get_thumb=false",
auth=(api_key, api_secret),
json={'img' : encode_cmt})
print(response.json())

10. Trích xuất thông tin bằng lái xe với đầu vào url ảnh

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/ocr/driving_license

Params:

KeyValueMô tả
imghttps://example.com/blx.pngurl ảnh bằng lái xe cần trích xuất thông tin
format_typeurlloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh bằng lái xe đã được cắt và căn chỉnh

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_url = 'https://daotaothanhcong.com/wp-content/uploads/2019/10/bang-lai-xe-b1-co-thoi-han-bao-lau.jpg'
response = requests.get(
"https://cloud.computervision.com.vn/api/v2/ocr/driving_license?img=%s&format_type=url&get_thumb=false"
% image_url,
auth=(api_key, api_secret))
print(response.json())

11. Trích xuất thông tin bằng lái xe với đầu vào file ảnh

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ocr/driving_licensemultipart/form-data

Params:

KeyValueMô tả
format_typefileloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh bằng lái xe đã được cắt và căn chỉnh

Body:

KeyTypeValueMô tả
imgfileexample_blx.jpgfile ảnh bằng lái xe cần trích xuất thông tin

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_path = '/path/to/your/image.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ocr/driving_license?format_type=file&get_thumb=false",
auth=(api_key, api_secret),
files={'img': open(image_path, 'rb')})
print(response.json())

12. Trích xuất thông tin bằng lái xe với đầu vào json

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ocr/driving_licenseapplication/json

Params:

KeyValueMô tả
format_typebase64loại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh bằng lái xe đã được cắt và căn chỉnh

Body:

{
"img": "iVBORw0KGgoAAAANSU..." // string base64 của ảnh cần trích xuất
}

Demo Python:

import base64
import io
import requests
from PIL import Image
def get_byte_img(img):
img_byte_arr = io.BytesIO()
img.save(img_byte_arr, format='PNG')
encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')
return encoded_img
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_name = "path_img"
encode_cmt = get_byte_img(Image.open(img_name))
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ocr/driving_license?format_type=base64&get_thumb=false",
auth=(api_key, api_secret),
json={'img' : encode_cmt})
print(response.json())

13. Trích xuất thông tin hai mặt đăng ký xe với đầu vào url ảnh

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/ocr/vehicle_registrations

Params:

KeyValueMô tả
img1https://example.com/front.pngurl ảnh mặt trước cần trích xuất thông tin
img2https://example.com/back.pngurl ảnh mặt sau cần trích xuất thông tin
format_typeurlloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh đăng ký xe đã được cắt và căn chỉnh

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
front_url = 'sample front url'
back_url = 'sample back url'
response = requests.get(
"https://cloud.computervision.com.vn/api/v2/ocr/vehicle_registrations?img1=%s&img2=%s&format_type=%s&get_thumb=%s"
% (front_url, back_url, 'url', 'false'),
auth=(api_key, api_secret))
print(response.json())

14. Trích xuất thông tin hai mặt đăng ký xe với đầu vào file ảnh

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ocr/vehicle_registrationsmultipart/form-data

Params:

KeyValueMô tả
format_typefileloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh đăng ký xe đã được cắt và căn chỉnh

Body:

KeyTypeValueMô tả
img1fileexample_front.jpgfile ảnh mặt trước cần trích xuất thông tin
img2fileexample_back.jpgfile ảnh mặt sau cần trích xuất thông tin

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
front_path = '/path/to/your/example_front.jpg'
back_path = '/path/to/your/example_back.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ocr/vehicle_registrations?format_type=file&get_thumb=false",
auth=(api_key, api_secret),
files={'img1': open(front_path, 'rb'), 'img2' : open(back_path, 'rb')})
print(response.json())

15. Trích xuất thông tin hai mặt đăng ký xe với đầu json

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ocr/vehicle_registrationsapplication/json

Params:

KeyValueMô tả
format_typebase64loại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh đăng ký xe đã được cắt và căn chỉnh

Body:

{
"img1": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh mặt trước
"img2": "iVBORw0KGgoAAAANSU..." // string base64 của ảnh mặt sau
}

Demo Python:

import base64
import io
import requests
from PIL import Image
def get_byte_img(img):
img_byte_arr = io.BytesIO()
img.save(img_byte_arr, format='PNG')
encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')
return encoded_img
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_front_path = "/path/to/your/img_front.jpg"
img_back_path = "/path/to/your/img_back.jpg"
encode_front = get_byte_img(Image.open(img_front_path))
encode_back = get_byte_img(Image.open(img_back_path))
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ocr/vehicle_registrations?format_type=base64&get_thumb=false",
auth=(api_key, api_secret),
json={'img1' : encode_front, "img2" : encode_back})
print(response.json())

16. Trích xuất thông tin một mặt bất kì của đăng ký xe với đầu vào url ảnh

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/ocr/vehicle_registration

Params:

KeyValueMô tả
imghttps://example.com/image.pngurl ảnh mặt trước hoặc mặt sau của đăng ký xe
format_typeurlloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh đăng ký xe đã được cắt và căn chỉnh

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_url = 'https://example.com/image.png'
response = requests.get(
"https://cloud.computervision.com.vn/api/v2/ocr/vehicle_registration?img=%s&format_type=%s&get_thumb=%s"
% (image_url, 'url', 'false'),
auth=(api_key, api_secret))
print(response.json())

17. Trích xuất thông tin một mặt bất kì của đăng ký xe với đầu vào file ảnh

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ocr/vehicle_registrationmultipart/form-data

Params:

KeyValueMô tả
format_typefileloại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh đăng ký xe đã được cắt và căn chỉnh

Body:

KeyTypeValueMô tả
imgfileexample.jpgfile ảnh của mặt trước hoặc mặt sau của đăng ký xe

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_path = '/path/to/your/example.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ocr/vehicle_registration?format_type=file&get_thumb=false",
auth=(api_key, api_secret),
files={'img': open(image_path, 'rb')})
print(response.json())

18. Trích xuất thông tin một mặt bất kì của đăng ký xe với đầu vào json

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ocr/vehicle_registrationapplication/json

Params:

KeyValueMô tả
format_typebase64loại data truyền vào, nhận giá trị: url, file, base64
get_thumbtrue/falsetrả về ảnh đăng ký xe đã được cắt và căn chỉnh

Body:

{
"img": "iVBORw0KGgoAAAANSU..." // string base64 của ảnh cần trích xuất
}

Demo Python:

import base64
import io
import requests
from PIL import Image
def get_byte_img(img):
img_byte_arr = io.BytesIO()
img.save(img_byte_arr, format='PNG')
encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')
return encoded_img
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_name = "path_img"
encode_cmt = get_byte_img(Image.open(img_name))
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ocr/vehicle_registration?format_type=base64&get_thumb=false",
auth=(api_key, api_secret),
json={'img' : encode_cmt})
print(response.json())

19. Trích xuất line text trong văn bản scan với đầu vào url ảnh.

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/ocr/scan

Params:

KeyValueMô tả
imghttps://example.com/image.pngurl ảnh văn bản scan
format_typeurlloại data truyền vào, nhận giá trị: url, file, base64

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_url = 'https://example.com/image.png'
response = requests.get(
"https://cloud.computervision.com.vn/api/v2/ocr/scan?img=%s&format_type=url" % image_url,
auth=(api_key, api_secret))
print(response.json())

20. Trích xuất line text trong văn bản scan với đầu vào file ảnh

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ocr/scanmultipart/form-data

Params:

KeyValueMô tả
format_typefileloại data truyền vào, nhận giá trị: url, file, base64

Body:

KeyTypeValueMô tả
imgfileexample.jpgfile ảnh văn bản scan cần trích xuất

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
image_path = '/path/to/your/example.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ocr/scan?format_type=file",
auth=(api_key, api_secret),
files={'img': open(image_path, 'rb')})
print(response.json())

21. Thông tin trả về

Phản hồi sẽ là một JSON với định dạng sau:

{
"data": [xxxx],
"errorCode": string, // mã lỗi
"errorMessage": string // thông báo lỗi
}

Trong trường hợp nhận dạng 1 giấy tờ tùy thân bất kì, trường data sẽ có gồm các thông tin sau:

{
"info": [xxxx],
"valid": [xxxx],
"invalidMessage": [xxxx],
"type": [xxxx]
}

Chú ý: Trường hợp trích xuất thông tin từ file PDF, nhiều loại giấy tờ trong một ảnh, bằng lái xe, đăng ký xe không có trường valid và trường invalidMessage.

Trong trường hợp trích xuất thông tin từ file PDF hoặc nhiều loại giấy tờ trong một ảnh, trường data sẽ là 1 list các phần tử có các trường ở trên.

Trong trường hợp trích xuất thông tin từ văn bản scan, phản hồi gồm các thông tin sau:

{
"result": [xxxx], // mảng các line text trong văn bản, nếu không có trả về null
"time": [xxxx], // thời gian xử lý
}

type: Loại giấy tờ tùy thân được trích xuất thông tin.

  • 9_id_card_front: ứng với mặt trước của chứng minh nhân dân.
  • 12_id_card_front: ứng với mặt trước thẻ căn cước công dân.
  • 9_id_card_back: ứng với mặt sau của chứng minh nhân dân.
  • 12_id_card_back: ứng với mặt sau của thẻ căn cước.
  • driving_license: ứng với bằng lái xe.
  • passport: ứng với loại giấy tờ là hộ chiếu.
  • vehicle_registration_front: ứng với mặt trước của giấy đăng ký xe.
  • vehicle_registration_back: ứng với mặt sau của giấy đăng ký xe.

info: Bao gồm các thông tin được trích xuất từ ảnh đầu vào có giấy tờ tùy thân, với mỗi loại giấy tờ tùy thân thì sẽ có những thông tin trả về khác nhau.

Mặt trước chứng minh nhân dân:

  • id: số chứng minh thư.
  • name: họ và tên.
  • dob: ngày sinh.
  • hometown: quê quán.
  • address: thường trú.
  • address_town_code: mã tỉnh/thành phố trong địa chỉ thường trú.
  • address_district_code: mã quận/huyện trong địa chỉ thường trú.
  • address_ward_code: mã phường/xã trong địa chỉ thường trú.
  • hometown_town_code: mã tỉnh/thành phố trong quê quán.
  • hometown_district_code: mã quận/huyện trong quê quán.
  • hometown_ward_code: mã phường/xã trong quê quán.
  • address_town: tỉnh/thành phố trong địa chỉ thường trú.
  • address_district: quận/huyện trong địa chỉ thường trú.
  • address_ward: phường/xã trong địa chỉ thường trú.
  • hometown_town: tỉnh/thành phố trong quê quán.
  • hometown_district: quận/huyện trong quê quán.
  • hometown_ward: phường/xã trong quê quán.
  • id_confidence: độ tin cậy của thông tin trích xuất số thẻ.
  • name_confidence: độ tin cậy của thông tin trích xuất họ và tên.
  • dob_confidence: độ tin cậy của thông tin trích xuất ngày sinh.
  • hometown_confidence: độ tin cậy của thông tin trích xuất quê quán.
  • address_confidence: độ tin cậy của thông tin trích xuất thường trú.

Mặt trước thẻ căn cước công dân:

  • id: số thẻ.
  • name: họ và tên.
  • dob: ngày sinh.
  • hometown: quê quán
  • gender: giới tính.
  • due_date: ngày hết hạn.
  • nationality: quốc tịch.
  • ethnicity: dân tộc.
  • address: thường trú.
  • address_town_code: mã tỉnh/thành phố trong địa chỉ thường trú.
  • address_district_code: mã quận/huyện trong địa chỉ thường trú.
  • address_ward_code: mã phường/xã trong địa chỉ thường trú.
  • hometown_town_code: mã tỉnh/thành phố trong quê quán.
  • hometown_district_code: mã quận/huyện trong quê quán.
  • hometown_ward_code: mã phường/xã trong quê quán.
  • address_town: tỉnh/thành phố trong địa chỉ thường trú.
  • address_district: quận/huyện trong địa chỉ thường trú.
  • address_ward: phường/xã trong địa chỉ thường trú.
  • hometown_town: tỉnh/thành phố trong quê quán.
  • hometown_district: quận/huyện trong quê quán.
  • hometown_ward: phường/xã trong quê quán.
  • image: ảnh đã cắt ra và căn chỉnh của giấy tờ.
  • id_confidence: độ tin cậy của thông tin trích xuất số thẻ.
  • name_confidence: độ tin cậy của thông tin trích xuất họ và tên.
  • dob_confidence: độ tin cậy của thông tin trích xuất ngày sinh.
  • hometown_confidence: độ tin cậy của thông tin trích xuất quê quán.
  • gender_confidence: độ tin cậy của thông tin trích xuất giới tính.
  • due_date_confidence: độ tin cậy của thông tin trích xuất ngày hết hạn.
  • nationality_confidence: độ tin cậy của thông tin trích xuất quốc tịch.
  • ethnicity_confidence: độ tin cậy của thông tin trích xuất dân tộc.
  • address_confidence: độ tin cậy của thông tin trích xuất thường trú.

Mặt sau chứng minh nhân dân:

  • ethnicity: dân tộc.
  • issue_date: ngày cấp.
  • religious: tôn giáo.
  • issued_at: nơi cấp
  • image: ảnh đã cắt ra và căn chỉnh của giấy tờ.
  • issue_date_confidence: độ tin cậy của thông tin trích xuất ngày cấp.
  • issued_at_confidence: độ tin cậy của thông tin trích xuất nơi cấp.
  • religious_confidence: độ tin cậy của thông tin trích xuất tôn giáo.
  • ethnicity_confidence: độ tin cậy của thông tin trích xuất dân tộc.

Mặt sau thẻ căn cước công dân:

  • issue_date: ngày cấp.
  • issued_at: nơi cấp
  • image: ảnh đã cắt ra và căn chỉnh của giấy tờ.
  • issue_date_confidence: độ tin cậy của thông tin trích xuất ngày cấp.
  • issued_at_confidence: độ tin cậy của thông tin trích xuất nơi cấp.

Bằng lái xe:

  • id: số thẻ.
  • name: họ và tên.
  • dob: ngày sinh.
  • class: hạng.
  • nationality: quốc tịch.
  • issue_date: ngày phát hành.
  • due_date: ngày hết hạn.
  • address: nơi cư trú.
  • image: ảnh đã cắt ra và căn chỉnh của giấy tờ.

Passport:

  • id: passport id.
  • sur_name: họ.
  • given_name: tên.
  • dob: ngày sinh.
  • gender: giới tính.
  • country: quốc gia.
  • nationality : quốc tịch.
  • due_date: ngày hết hạn.
  • person_number: mã số công dân.
  • image: ảnh passport.
  • confidence: độ tin cậy của thông tin phát hiện được trong passport.

Mặt trước đăng ký xe:

  • name: tên chủ sở hữu xe.
  • address: nơi cư trú.
  • id: id đăng ký xe.
  • plate: biển số xe.
  • issued_at: nơi cấp.
  • image: ảnh mặt trước đăng ký xe.

Mặt sau đăng ký xe:

  • name: tên chủ sở hữu xe.
  • address: nơi cư trú.
  • engine: số máy.
  • chassis: số khung.
  • brand: nhãn hiệu.
  • model: số loại.
  • color: màu sơn.
  • capacity: dung tích.
  • issued_at: nơi đăng ký.
  • last_issue_date: ngày đăng ký cuối cùng.
  • first_issue_date: ngày đăng ký đầu tiên.
  • plate: biển số xe.
  • image: ảnh mặt sau đăng ký xe.

Bảng mã lỗi:

Mã lỗiMessageMô tả
0SuccessTrích xuất thông tin thành công
1The photo does not contain contentẢnh đầu vào không có giấy tờ tùy thân cần trích xuất
2Url is unavailableDownload ảnh bị lỗi khi dùng GET
3Incorrect image formatUpload ảnh bị lỗi khi dùng POST
4Out of requestsHết số lượng request
5Incorrect Api_key or api_secretKhi api_key hoặc api_sceret sai
6Incorrect format typeLoại format khai báo trong format_type không đúng với ảnh truyền vào

Face Matching

Matching service là hệ thống AI cho phép so sánh độ tương đồng giữa khuôn mặt có trong chứng minh nhân dân, thẻ căn cước của người chủ sở hữu với khuôn mặt được chụp trực tiếp của cùng một người đó.

1. So khớp khuôn mặt ảnh trên CMND, CCCD và ảnh chân dung với đầu vào url ảnh

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/ekyc/face_matching

Params:

KeyValueMô tả
img1https://example.com/card.pngurl ảnh chứng minh thư hoặc thẻ căn cước
img2https://example.com/portrait.pngurl ảnh khuôn mặt cần so khớp
type1portrait/cardloại data của ảnh 1, nhận các giá trị: portrait, card
format_typeurlloại data truyền vào, nhận các giá trị: url, file, base64

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_card = 'link_url_img_card'
img_portrait = 'link_url_portrait'
response = requests.get("https://cloud.computervision.com.vn/api/v2/ekyc/face_matching?img1=%s&img2=%s&type1=%s&format_type=%s"
% (img_card, img_portrait, 'card', 'url'),
auth=(api_key, api_secret))
print(response.json())

2. So khớp khuôn mặt ảnh trên CMND, CCCD và ảnh chân dung với đầu vào file ảnh

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/face_matchingmultipart/form-data

Params:

KeyValueMô tả
type1portrait/cardloại data của ảnh 1, nhận các giá trị: portrait, card
format_typefileloại data truyền vào, nhận các giá trị: url, file, base64

Body:

KeyTypeValueMô tả
img1fileexample_card.jpgfile ảnh chứng minh thư hoặc thẻ căn cước
img2fileexample_portrait.jpgfile ảnh khuôn mặt cần so khớp

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_card_path = '/path/to/your/img_card.jpg'
img_portrait_path = '/path/to/your/img_portrait.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/face_matching?type1=%s&format_type=%s"
% ('card', 'file'),
auth=(api_key, api_secret),
files={'img1': open(img_card_path, 'rb'), 'img2': open(img_portrait_path, 'rb')})
print(response.json())

3. So khớp khuôn mặt ảnh trên CMND, CCCD và ảnh chân dung với đầu vào JSON

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/face_matchingapplication/json

Params:

KeyValueMô tả
type1portrait/cardloại data của ảnh 1, nhận các giá trị: portrait, card
format_typebase64loại data truyền vào, nhận các giá trị: url, file, base64

Body:

{
"img1": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh chứng minh thư/thẻ căn cước
"img2": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh khuôn mặt cần so khớp
}

Demo Python:

import base64
import io
import requests
from PIL import Image
def get_byte_img(img):
img_byte_arr = io.BytesIO()
img.save(img_byte_arr, format='PNG')
encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')
return encoded_img
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_card_path = '/path/to/your/img_card.jpg'
img_portrait_path = '/path/to/your/img_portrait.jpg'
encode_card = get_byte_img(Image.open(img_card_path))
encode_portrait = get_byte_img(Image.open(img_portrait_path))
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/face_matching?type1=%s&format_type=%s"
% ('card', 'base64'),
auth=(api_key, api_secret),
json={'img1' : encode_card, "img2" : encode_portrait})
print(response.json())

4. Xác thực khuôn mặt dùng ảnh người dùng cầm CMND/CCCD, đầu vào url ảnh

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/ekyc/person_with_card

Params:

KeyValueMô tả
imghttps://example.com/person_with_card.pngurl ảnh người dùng cầm CMND/CCCD
format_typeurlloại data truyền vào, nhận các giá trị: url, file, base64

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_card = 'link_url_img_person_with_card'
response = requests.get("https://cloud.computervision.com.vn/api/v2/ekyc/person_with_card?img=%s&format_type=%s"
% (img_card, 'url'),
auth=(api_key, api_secret))
print(response.json())

5. Xác thực khuôn mặt dùng ảnh người dùng cầm CMND/CCCD, đầu vào file ảnh

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/person_with_cardmultipart/form-data

Params:

KeyValueMô tả
format_typefileloại data truyền vào, nhận các giá trị: url, file, base64

Body:

KeyTypeValueMô tả
imgfileexample_img.jpgfile ảnh người dùng cầm giấy tờ tùy thân

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_path = '/path/to/your/example_img.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/person_with_card?format_type=%s"
% ('file'),
auth=(api_key, api_secret),
files={'img': open(img_path, 'rb')})
print(response.json())

6. Xác thực khuôn mặt dùng ảnh người dùng cầm CMT/CMND, đầu vào JSON

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/person_with_cardapplication/json

Params:

KeyValueMô tả
format_typebase64loại data truyền vào, nhận các giá trị: url, file, base64

Body:

{
"img": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh người dùng cầm giấy tờ tùy thân
}

Demo Python:

import base64
import io
import requests
from PIL import Image
def get_byte_img(img):
img_byte_arr = io.BytesIO()
img.save(img_byte_arr, format='PNG')
encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')
return encoded_img
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img_card_path = '/path/to/your/example_img.jpg'
encode_card = get_byte_img(Image.open(img_card_path))
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/person_with_card?format_type=%s"
% ('base64'),
auth=(api_key, api_secret),
json={'img' : encode_card})
print(response.json())

7. Thông tin trả về

Đối với dịch vụ so khớp khuôn mặt trong chứng minh thư, thẻ căn cước, phản hồi sẽ là một JSON với định dạng sau:

{
"data": {
"matching": string, // phần trăm giống nhau giữa hai ảnh đầu vào
"face1": string, // ảnh khuôn mặt chứng minh thư
"face2": string, // ảnh khuôn mặt chân dung
"valid": string, // False nếu ảnh chân dung mờ, che hoặc có dấu hiệu giả mạo, ngược lại True
"invalidMessage": string, // Thông báo nếu ảnh chân dung hoặc ảnh giấy tờ có dấu hiệu giả mạo
"match": string, // 1 nếu phần trăm matching > 75%, 0 nếu phần trăm matching trong khoảng [65%, 75%], ngược lại -1
},
"errorCode": string, // mã lỗi
"errorMessage": string // thông báo lỗi
}

Đối với dịch vụ so khớp khuôn mặt dùng ảnh người dùng cầm giấy tờ tùy thân thông tin trả về sẽ là một JSON với định dạng sau:

{
"matching": {
"matching": string, // phần trăm giống nhau giữa ảnh trong CMND/CCCD và các ảnh chân dung
"valid": string, // False nếu ảnh chân dung mờ, che hoặc có dấu hiệu giả mạo, ngược lại True
"invalidMessage": string, // Thông báo nếu ảnh chân dung hoặc ảnh giấy tờ có dấu hiệu giả mạo
"match": string, // 1 nếu phần trăm matching > 75%, 0 nếu phần trăm matching trong khoảng [65%, 75%], ngược lại -1
},
"ocr": [xxxx], // thông tin đọc được từ ảnh mặt trước/mặt sau CMND/CCCD
"errorCode": string, // mã lỗi
"errorMessage": string // thông báo lỗi
}

Trường ocr gồm các thông tin sau:

{
"infor": [xxxx],
"valid": [xxxx],
"invalidMessage": [xxxx],
"type": [xxxx]
}

type: Loại giấy tờ tùy thân được trích xuất thông tin.

  • 9_id_card_front: ứng với mặt trước của chứng minh nhân dân.
  • 12_id_card_front: ứng với mặt trước thẻ căn cước công dân.
  • 9_id_card_back: ứng với mặt sau của chứng minh nhân dân.
  • 12_id_card_back: ứng với mặt sau của thẻ căn cước.
  • driving_license: ứng với bằng lái xe.
  • passport: ứng với loại giấy tờ là hộ chiếu.
  • vehicle_registration_front: ứng với mặt trước của giấy đăng ký xe.
  • vehicle_registration_back: ứng với mặt sau của giấy đăng ký xe.

info: Bao gồm các thông tin được trích xuất từ ảnh đầu vào có giấy tờ tùy thân, với mỗi loại giấy tờ tùy thân thì sẽ có những thông tin trả về khác nhau.

Mặt trước chứng minh nhân dân:

  • id: số chứng minh thư.
  • name: họ và tên.
  • dob: ngày sinh.
  • hometown: quê quán.
  • address: thường trú.
  • address_town_code: mã tỉnh/thành phố trong địa chỉ thường trú.
  • address_district_code: mã quận/huyện trong địa chỉ thường trú.
  • address_ward_code: mã phường/xã trong địa chỉ thường trú.
  • hometown_town_code: mã tỉnh/thành phố trong quê quán.
  • hometown_district_code: mã quận/huyện trong quê quán.
  • hometown_ward_code: mã phường/xã trong quê quán.
  • address_town: tỉnh/thành phố trong địa chỉ thường trú.
  • address_district: quận/huyện trong địa chỉ thường trú.
  • address_ward: phường/xã trong địa chỉ thường trú.
  • hometown_town: tỉnh/thành phố trong quê quán.
  • hometown_district: quận/huyện trong quê quán.
  • hometown_ward: phường/xã trong quê quán.
  • image: ảnh đã cắt ra và căn chỉnh của giấy tờ.

Mặt trước thẻ căn cước công dân:

  • id: số thẻ.
  • name: họ và tên.
  • dob: ngày sinh.
  • hometown: quê quán
  • gender: giới tính.
  • due_date: ngày hết hạn.
  • nationality: quốc tịch.
  • ethnicity: dân tộc.
  • address: thường trú.
  • address_town_code: mã tỉnh/thành phố trong địa chỉ thường trú.
  • address_district_code: mã quận/huyện trong địa chỉ thường trú.
  • address_ward_code: mã phường/xã trong địa chỉ thường trú.
  • hometown_town_code: mã tỉnh/thành phố trong quê quán.
  • hometown_district_code: mã quận/huyện trong quê quán.
  • hometown_ward_code: mã phường/xã trong quê quán.
  • address_town: tỉnh/thành phố trong địa chỉ thường trú.
  • address_district: quận/huyện trong địa chỉ thường trú.
  • address_ward: phường/xã trong địa chỉ thường trú.
  • hometown_town: tỉnh/thành phố trong quê quán.
  • hometown_district: quận/huyện trong quê quán.
  • hometown_ward: phường/xã trong quê quán.
  • image: ảnh đã cắt ra và căn chỉnh của giấy tờ.

Mặt sau chứng minh nhân dân:

  • ethnicity: dân tộc.
  • issue_date: ngày cấp.
  • religious: tôn giáo.
  • issued_at: nơi cấp
  • image: ảnh đã cắt ra và căn chỉnh của giấy tờ.

Mặt sau thẻ căn cước công dân:

  • issue_date: ngày cấp.
  • issued_at: nơi cấp
  • image: ảnh đã cắt ra và căn chỉnh của giấy tờ.

Passport:

  • id: passport id.
  • sur_name: họ.
  • given_name: tên.
  • dob: ngày sinh.
  • gender: giới tính.
  • country: quốc gia.
  • nationality : quốc tịch.
  • due_date: ngày hết hạn.
  • person_number: mã số công dân.
  • image: ảnh passport.

Bảng mã lỗi:

Mã lỗiMessageMô tả
0SuccessSo khớp thành công
1The photo does not contain contentUpload ảnh bị lỗi khi dùng POST
2Url is unavailableDownload ảnh bị lỗi khi dùng GET
3Incorrect image formatTồn tại ảnh không có mặt người
4Out of requestsHết số lượng request
5Incorrect Api_key or api_secretKhi api_key hoặc api_sceret sai
6Incorrect format typeLoại format khai báo trong format_type không đúng với ảnh truyền vào

Liveness Verify

1. Kiểm tra độ tin cậy của video dùng cho eKYC có liveness

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/verify_videomultipart/form-data

Body:

KeyTypeValueMô tả
videofileexample_video.mp4File video người dùng thực hiện quay sang trái quay sang phải. Thời lượng từ 5-7s, độ phân giải 480p

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
video_path = 'video.mp4'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/verify_video",
auth=(api_key, api_secret),
files={'video': open(video_path, 'rb')})
print(response.json())

2. Kiểm tra độ tin cậy của các ảnh chân dung dùng cho eKYC có liveness

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/verify_imagesmultipart/form-data

Body:

KeyTypeValueMô tả
portrait_leftfileportrait1.jpgFile ảnh chân dung người dùng quay sang trái. Lưu ý đảm bảo đủ mắt, mũi, miệng.
portrait_midfileportrait2.jpgFile ảnh chân dung người dùng chụp trực diện khuôn mặt.
portrait_rightfileportrait3.jpgFile ảnh chân dung người dùng quay sang phải. Lưu ý đảm bảo đủ mắt, mũi, miệng.

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
left_path = 'left.jpg'
mid_path = 'mid.jpg'
right_path = 'right.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/verify_images",
auth=(api_key, api_secret),
files={'portrait_left': open(left_path, 'rb'),
'portrait_mid': open(mid_path, 'rb'),
'portrait_right': open(right_path, 'rb')
})
print(response.json())

3. Thông tin trả về

Đối với dịch vụ kiểm tra độ tin cậy của ảnh và video dùng cho liveness, phản hồi sẽ là một JSON với định dạng sau:

{
"valid": string, // alse nếu một trong các ảnh chân dung/video có dấu hiệu giả mạo hoặc các ảnh chân dung/video không chụp đủ 3 góc độ khuôn mặt, ngược lại True
"invalidMessage": string, // Thông báo nếu một trong các ảnh chân dung/video có dấu hiệu giả mạo hoặc các ảnh chân dung/video không chụp đủ 3 góc độ khuôn mặt
"errorCode": string, // mã lỗi
"errorMessage": string // thông báo lỗi
}

Full eKYC

1. Thực hiện eKYC sử dụng hai mặt của CMND, CCCD và video chân dung người dùng

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/livenessbyvideomultipart/form-data

Body:

KeyTypeValueMô tả
img1fileexample_card1.jpgfile ảnh mặt trước giấy tờ tùy thân
img2fileexample_card2.jpgfile ảnh mặt sau giấy tờ tùy thân
videofileexample_video.mp4File video người dùng thực hiện quay sang trái quay sang phải. Thời lượng từ 5-7s, độ phân giải 480p

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img1_path = 'card_front.jpg'
img2_path = 'card_back.jpg'
video_path = 'video.mp4'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/livenessbyvideo",
auth=(api_key, api_secret),
files={'img1': open(img1_path, 'rb'),
'img2': open(img2_path, 'rb'),
'video': open(video_path, 'rb')
})
print(response.json())

2. Thực hiện eKYC sử dụng hai mặt của CMND, CCCD và ảnh chân dung người dùng chụp từ 3 góc độ khác nhau

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/ekyc/livenessbyimagemultipart/form-data

Body:

KeyTypeValueMô tả
img1fileexample_front.jpgFile ảnh mặt trước giấy tờ tùy thân
img2fileexample_back.jpgFile ảnh mặt sau giấy tờ tùy thân
portrait_leftfileportrait1.jpgFile ảnh chân dung người dùng quay sang trái. Lưu ý đảm bảo đủ mắt, mũi, miệng.
portrait_midfileportrait2.jpgFile ảnh chân dung người dùng chụp trực diện khuôn mặt.
portrait_rightfileportrait3.jpgFile ảnh chân dung người dùng quay sang phải. Lưu ý đảm bảo đủ mắt, mũi, miệng.

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
img1_path = 'card_front.jpg'
img2_path = 'card_back.jpg'
left_path = 'left.jpg'
mid_path = 'mid.jpg'
right_path = 'right.jpg'
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/ekyc/livenessbyimage",
auth=(api_key, api_secret),
files={'img1': open(img1_path, 'rb'),
'img2': open(img2_path, 'rb'),
'portrait_left': open(left_path, 'rb'),
'portrait_mid': open(mid_path, 'rb'),
'portrait_right': open(right_path, 'rb')
})
print(response.json())

3. Thông tin trả về

Đối với dịch vụ OCR kết hợp với so khớp khuôn mặt dùng cho ekyc thông tin trả về sẽ là một JSON với định dạng sau:

{
"matching": {
"matching": string, // phần trăm giống nhau giữa ảnh trong CMND/CCCD và các ảnh chân dung
"valid": string, // False nếu ảnh chân dung mờ, che hoặc có dấu hiệu giả mạo, ngược lại True
"invalidMessage": string, // Thông báo nếu ảnh chân dung hoặc ảnh giấy tờ có dấu hiệu giả mạo
"match": string, // 1 nếu phần trăm matching > 75%, 0 nếu phần trăm matching trong khoảng [65%, 75%], ngược lại -1
},
"front_side": [xxxx], // thông tin đọc được từ ảnh mặt trước CMND/CCCD
"back_side": [xxxx], // thông tin đọc được từ ảnh mặt sau CMND/CCCD
"errorCode": string, // mã lỗi
"errorMessage": string // thông báo lỗi
}

1. Xem toàn bộ ảnh

API:

MethodURL
GEThttps://cloud.computervision.com.vn/api/v2/face_search/images

Params:

KeyValueMô tả
offset100số bản ghi sẽ bỏ qua
limit50số bản ghi tối đa sẽ trả về

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
offset = 100
limit = 50
response = requests.get(
"https://cloud.computervision.com.vn/api/v2/face_search/images?offset=%s&limit=%s"
% (offset, limit),
auth = (api_key, api_secret)
)
print(response.json())

2. Tìm kiếm khuôn mặt

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/face_search/searchapplication/json

Body:

{
"image": {
"base64": string
}
}

Trong đó:

KeyTypeBắt buộcMô tả
imageImageDataảnh dùng để tìm kiếm
base64stringmã hoá base64 của hình ảnh

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
payload = "{\"image\":{\"base64\":\"iVBORw0KGgoAAAANSU...\"}}"
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/face_search/search",
auth=(api_key, api_secret),
data = payload
print(response.json())

3. Thêm ảnh

API:

MethodURLcontent-type
POSThttps://cloud.computervision.com.vn/api/v2/face_search/imagesapplication/json

Body:

{
"image": {
"base64": string,
"metadata": json
}
}

Trong đó:

KeyTypeBắt buộcMô tả
imageImageDataảnh muốn thêm
base64stringmã hoá base64 của hình ảnh
metadatadictionarykhôngbất kỳ metadata key-value nào để lưu cùng với ảnh, trừ những key "user", "encoding", "_id" đã được hệ thống sử dụng

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
payload = "{\"image\":{\"base64\":\"iVBORw0KGgoAAAANSU...\"}}"
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/face_search/images",
auth=(api_key, api_secret),
data = payload
print(response.json())

4. Cập nhật metadata

API:

MethodURLcontent-type
PUThttps://cloud.computervision.com.vn/api/v2/face_search/images/<image_id>application/json

Body:

{
"image_id": 123456,
"metadata": {
"name": "example",
"label": "for bar"
...
}
}
KeyBắt buộcMô tả
metadatakhôngbất kỳ metadata key-value nào để lưu cùng với ảnh, trừ những key "user", "encoding", "_id" đã được hệ thống sử dụng

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
payload = "{\"image_id\":123456,\"metadata\":{\"name\":\"example\",\"label\":\"for bar\"}}"
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/face_search/images/<image_id>",
data = payload,
auth = (api_key, api_secret)
)
print(response.json())

5. Xoá nhiều ảnh

API:

MethodURLcontent-type
DELETEhttps://cloud.computervision.com.vn/api/v2/face_search/imagesapplication/json

Body:

{
"ids": [
123456, // id ảnh cần xoá
987654, // id ảnh cần xoá
...
]
}

Demo Python:

import requests
api_key = '<replace-with-your-api-key>'
api_secret = '<replace-with-your-api-secret>'
payload = "{\"ids\":[<image-id-you-want-to-delete>,<image-id-you-want-to-delete>,...]}"
response = requests.post(
"https://cloud.computervision.com.vn/api/v2/face_search/images",
data = payload,
auth = (api_key, api_secret)
)
print(response.json())

6. Thông tin trả về

Phản hồi sẽ là một JSON với định dạng sau:

{
"result": [xxxx],
"status_code": int, // mã lỗi
"message": string, // thông báo lỗi
}

Mỗi api khác nhau sẽ trả về kết quả khác nhau.

Xem toàn bộ ảnh:

  • result: mảng chứa các phần tử ảnh, mỗi phần tử gồm id của ảnh và url ảnh tương ứng

Tìm kiếm khuôn mặt:

  • result: mảng chứa các phần tử ảnh phù hợp, mỗi phần tử gồm id của ảnh và url ảnh tương ứng

Thêm ảnh:

  • result: json chứa thông tin ảnh mới được thêm vào

Xoá nhiều ảnh:

  • result: None

Bảng mã lỗi:

Mã lỗiMessage
0Success
1Incorrect image format
2Url is unavailable
3The photo does not contain content
4Incorrect Api_key or api_secret
5Out of requests
6Error when processing the request
7Incorrect Id