logo

API v1

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

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. 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, 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/backend/api/v1/request/ocr/cmt/get_haimat

    Params:

    KeyValueMô tả
    mattruochttps://example.com/mattruoc.pngurl ảnh mặt trước cần trích xuất thông tin
    matsauhttps://example.com/matsau.pngurl ả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>'
    mattruoc_url = 'mat truoc url'
    matsau_url = 'mat sau url'
    response = requests.get(
    "https://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_haimat?mattruoc=%s&matsau=%s" % (mattruoc_url, matsau_url),
    auth=(api_key, api_secret))
    print(response.json())
  2. Trích xuất thông tin mặt trước chứng minh thư thẻ căn cước với đầu vào url ảnh

    API:

    MethodURL
    GEThttps://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_mattruoc

    Params:

    KeyValueMô tả
    urlhttps://example.com/mattruoc.pngurl ảnh mặt trước 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_url = 'https://vemaybaybackinh.net/assets/uploads/2019/01/thẻ-căn-cước.jpg'
    response = requests.get(
    "https://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_mattruoc?url=%s" % image_url,
    auth=(api_key, api_secret))
    print(response.json())
  3. Trích xuất thông tin mặt sau chứng minh thư thẻ căn cước với đầu vào url ảnh.

    API:

    MethodURL
    GEThttps://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_matsau

    Params:

    KeyValueMô tả
    urlhttps://example.com/mausau.pngurl ả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>'
    image_url = 'https://vemaybaybackinh.net/assets/uploads/2019/01/thẻ-căn-cước.jpg'
    response = requests.get(
    "https://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_matsau?url=%s" % image_url,
    auth=(api_key, api_secret))
    print(response.json())
  4. 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/backend/api/v1/request/ocr/cmt/get_haimatmultipart/form-data

    Body:

    KeyTypeValueMô tả
    mattruocfileexample_mattruoc.jpgfile ảnh mặt trước cần trích xuất thông tin
    matsaufileexample_matsau.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>'
    mattruoc_path = '/path/to/your/mattruoc.jpg'
    matsau_path = '/path/to/your/matsau.jpg'
    response = requests.post(
    "https://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_haimat",
    auth=(api_key, api_secret),
    files={'mattruoc': open(mattruoc_path, 'rb'), 'matsau' : open(matsau_path, 'rb')})
    print(response.json())
  5. Trích xuất thông tin mặt trước chứng minh thư thẻ căn cước với đầu vào file ảnh

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_mattruocmultipart/form-data

    Body:

    KeyTypeValueMô tả
    imagefileexample_mattruoc.jpgfile ảnh mặt trước 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/backend/api/v1/request/ocr/cmt/get_mattruoc",
    auth=(api_key, api_secret),
    files={'image': open(image_path, 'rb')})
    print(response.json())
  6. Trích xuất thông tin mặt sau chứng minh thư thẻ căn cước với đầu vào file ảnh

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_matsaumultipart/form-data

    Body:

    KeyTypeValueMô tả
    imagefileexample_matsau.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>'
    image_path = '/path/to/your/image.jpg'
    response = requests.post(
    "https://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_matsau",
    auth=(api_key, api_secret),
    files={'image': open(image_path, 'rb')})
    print(response.json())
  7. 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/backend/api/v1/request/ocr/cmt/get_haimatbase64application/json

    Body:

    {
    "mattruoc": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh mặt trước
    "matsau": "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_mattruoc_path = "/path/to/your/img_mattruoc.jpg"
    img_matsau_path = "/path/to/your/img_matsau.jpg"
    encode_mattruoc = get_byte_img(Image.open(img_mattruoc_path))
    encode_matsau = get_byte_img(Image.open(img_matsau_path))
    response = requests.post(
    "https://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_haimatbase64",
    auth=(api_key, api_secret),
    json={'mattruoc' : encode_mattruoc, "matsau" : encode_matsau})
    print(response.json())
  8. Trích xuất thông tin mặt trước chứng minh thư thẻ căn cước với đầu vào json

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_mattruocbase64application/json

    Body:

    {
    "image": "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/backend/api/v1/request/ocr/cmt/get_mattruocbase64",
    auth=(api_key, api_secret),
    json={'image' : encode_cmt})
    print(response.json())
  9. Trích xuất thông tin mặt sau chứng minh thư thẻ căn cước với đầu vào json

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_matsaubase64application/json

    Body:

    {
    "image": "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/backend/api/v1/request/ocr/cmt/get_matsaubase64",
    auth=(api_key, api_secret),
    json={'image' : encode_cmt})
    print(response.json())
  10. Trích xuất thông tin chứng minh thư, thẻ căn cước với đầu vào file PDF hoặc file ảnh

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/ocr/v1/get_informultipart/form-data

    Body:

    KeyTypeValueMô tả
    filefileexample.pdffile PDF chứa ảnh CMND, thẻ căn cước, có thể gồm cả mặt trước và mặt sau

    Demo Python:

    import requests
    api_key = '<replace-with-your-api-key>'
    api_secret = '<replace-with-your-api-secret>'
    file_path = '/path/to/your/example.pdf'
    response = requests.post(
    "https://cloud.computervision.com.vn/backend/api/v1/request/ocr/v1/get_infor",
    auth=(api_key, api_secret),
    files={'file': open(file_path, 'rb')})
    print(response.json())
  11. 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/backend/api/v1/request/ocr/cmt/get_infor_all

    Params:

    KeyValueMô tả
    urlhttps://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

    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/backend/api/v1/request/ocr/cmt/get_infor_all?url=%s" % image_url,
    auth=(api_key, api_secret))
    print(response.json())
  12. 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

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/ocr/cmt/get_infor_allmultipart/form-data

    Body:

    KeyTypeValueMô tả
    imagefileexample.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/backend/api/v1/request/ocr/cmt/get_infor_all",
    auth=(api_key, api_secret),
    files={'image': open(image_path, 'rb')})
    print(response.json())
  13. 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/backend/api/v1/request/ocr/cmt/get_infor_allbase64application/json

    Body:

    {
    "image": "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/backend/api/v1/request/ocr/cmt/get_infor_allbase64",
    auth=(api_key, api_secret),
    json={'image' : encode_cmt})
    print(response.json())
  14. 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/backend/api/v1/request/ocr/blx/get_blx

    Params:

    KeyValueMô tả
    urlhttps://example.com/blx.pngurl ả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_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/backend/api/v1/request/ocr/blx/get_blx?url=%s" % image_url,
    auth=(api_key, api_secret))
    print(response.json())
  15. 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/backend/api/v1/request/ocr/blx/get_blxmultipart/form-data

    Body:

    KeyTypeValueMô tả
    imagefileexample_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/backend/api/v1/request/ocr/blx/get_blx",
    auth=(api_key, api_secret),
    files={'image': open(image_path, 'rb')})
    print(response.json())
  16. 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/backend/api/v1/request/ocr/blx/get_blxbase64application/json

    Body:

    {
    "image": "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/backend/api/v1/request/ocr/blx/get_blxbase64",
    auth=(api_key, api_secret),
    json={'image' : encode_cmt})
    print(response.json())
  17. 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/backend/api/v1/request/text_photostory/get_scan_a4

    Params:

    KeyValueMô tả
    urlhttps://example.com/image.pngurl ảnh văn bản scan

    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/backend/api/v1/request/text_photostory/get_scan_a4?url=%s" % image_url,
    auth=(api_key, api_secret))
    print(response.json())
  18. 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/backend/api/v1/request/text_photostory/get_scan_a4multipart/form-data

    Body:

    KeyTypeValueMô tả
    imagefileexample.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/backend/api/v1/request/text_photostory/get_scan_a4",
    auth=(api_key, api_secret),
    files={'image': open(image_path, 'rb')})
    print(response.json())
  19. Thông tin trả về

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

    {
    "type": [xxxx],
    "data": [xxxx],
    "valid": string, // False nếu ảnh đầu vào mờ, che hoặc có dấu hiệu giả mạo, ngược lại True
    "errorCode": string, // mã lỗi
    "errorMessage": string // thông báo lỗi
    }

    Chú ý: Trường hợp trích xuất thông tin bằng lái xe và trích xuất từ file PDF không có trường valid.

    type: Loại giấy tờ tùy thân được trích xuất thông tin, trong trường hợp get_haimat sẽ không có trường này.

    • cmt: ứng với mặt trước của chứng minh nhân dân.
    • tcc: ứng với mặt trước thẻ căn cước công dân.
    • matsaucmt: ứng với mặt sau của chứng minh nhân dân.
    • matsautcc: ứng với mặt sau của thẻ căn cước.
    • blx: ứng với bằng lái xe.
    • pdf: ứng với upload file PDF.

    data: 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.
    • born: ngày sinh.
    • country: quê quán.
    • address: thường trú

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

    • id: số thẻ.
    • name: họ và tên.
    • born: ngày sinh.
    • country: quê quán
    • sex: giới tính.
    • duedate: ngày hết hạn.
    • quoctich: quốc tịch.
    • dantoc: dân tộc.
    • address: thường trú.

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

    • dantoc: dân tộc.
    • date: ngày cấp.
    • dauvet: dấu vết riêng và dị hình.
    • tongiao: tôn giáo.
    • noicap: nơi cấp

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

    • dauvet: đặc điểm nhận dạng
    • date: ngày cấp.

    Bằng lái xe.

    • id: số thẻ.
    • name: họ và tên.
    • born: ngày sinh.
    • class: hạng.
    • nation: quốc tịch.
    • dateissue: ngày phát hành.
    • duedate: ngày hết hạn.
    • address: nơi cư trú.

    Trong trường hợp get_haimat, data sẽ có gồm các thông tin sau:

    "data": {
    "mattruoc": [xxxx], // gồm các trường đã nếu ở trên
    "matsau": [xxxx] // gồm các trường đã nêu ở trên
    }

    Trong trường hợp trích xuất thông tin từ file PDF, data gồm các thông tin sau:

    "data": [
    {
    "type": [xxxx], // loại giấy tờ nhận dạng được, đã nêu ở trên
    "data": [xxxx], // các trường thông tin tương ứng với loại giây tờ
    },
    ...
    ]

    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ý
    }

    Bảng mã lỗi:

    Mã lỗiMessageMô tả
    0Thành côngTrích xuất thông tin thành công
    1Ảnh không chứa nội dungẢnh đầu vào không có giấy tờ tùy thân cần trích xuất
    2Url của ảnh không khả dụngDownload ảnh bị lỗi khi dùng GET
    3Ảnh sai formatUpload ảnh bị lỗi khi dùng POST
    4Hết số lượng request hữu dụngHết số lượng request
    5Api_key hoặc api_secret không đúngKhi api_key hoặc api_sceret sai

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/backend/api/v1/request/face_matching/matching

    Params:

    KeyValueMô tả
    img_cmthttps://example.com/cmt.pngurl ảnh chứng minh thư hoặc thẻ căn cước
    img_personhttps://example.com/person.pngurl ả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_cmt = 'link_url_img_cmt'
    img_person = 'link_url_person'
    response = requests.get("https://cloud.computervision.com.vn/backend/api/v1/request/face_matching/matching?img_cmt=%s&img_person=%s"
    % (img_cmt, img_person),
    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/backend/api/v1/request/face_matching/matchingmultipart/form-data

    Body:

    KeyTypeValueMô tả
    img_cmtfileexample_cmt.jpgfile ảnh chứng minh thư hoặc thẻ căn cước
    img_personfileexample_person.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_cmt_path = '/path/to/your/img_cmt.jpg'
    img_person_path = '/path/to/your/img_person.jpg'
    response = requests.post(
    "https://cloud.computervision.com.vn/backend/api/v1/request/face_matching/matching",
    auth=(api_key, api_secret),
    files={'img_cmt': open(img_cmt_path, 'rb'), 'img_person': open(img_person_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/backend/api/v1/request/face_matching/matchingbase64application/json

    Body:

    {
    "img_cmt": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh chứng minh thư/thẻ căn cước
    "img_person": "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_cmt_path = '/path/to/your/img_cmt.jpg'
    img_person_path = '/path/to/your/img_person.jpg'
    encode_cmt = get_byte_img(Image.open(img_cmt_path))
    encode_person = get_byte_img(Image.open(img_person_path))
    response = requests.post(
    "https://cloud.computervision.com.vn/backend/api/v1/request/face_matching/matchingbase64",
    auth=(api_key, api_secret),
    json={'img_cmt' : encode_cmt, "img_person" : encode_person})
    print(response.json())
  4. So khớp hai ảnh chân dung đầu vào url ảnh

    API:

    MethodURL
    GEThttps://cloud.computervision.com.vn/backend/api/v1/request/face_matching/face_matching

    Params:

    KeyValueMô tả
    face1https://example.com/face1.pngurl ảnh chân dung thứ nhất
    face2https://example.com/face2.pngurl ảnh chân dung thứ hai

    Demo Python:

    import requests
    api_key = '<replace-with-your-api-key>'
    api_secret = '<replace-with-your-api-secret>'
    img_face1 = 'link_url_face1'
    img_face2 = 'link_url_face2'
    response = requests.get("https://cloud.computervision.com.vn/backend/api/v1/request/face_matching/face_matching?face1=%s&face2=%s"
    % (img_face1, img_face2),
    auth=(api_key, api_secret))
    print(response.json())
  5. So khớp hai ảnh chân dung đầu vào file ảnh

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/face_matching/face_matchingmultipart/form-data

    Body:

    KeyTypeValueMô tả
    face1fileexample_face1.jpgfile ảnh chân dung thứ nhất
    face2fileexample_face2.jpgfile ảnh chân dung thứ hai

    Demo Python:

    import requests
    api_key = '<replace-with-your-api-key>'
    api_secret = '<replace-with-your-api-secret>'
    img_face1_path = '/path/to/your/img_face1.jpg'
    img_face2_path = '/path/to/your/img_face2.jpg'
    response = requests.post(
    "https://cloud.computervision.com.vn/backend/api/v1/request/face_matching/face_matching",
    auth=(api_key, api_secret),
    files={'face1': open(img_face1_path, 'rb'), 'face2': open(img_face2_path, 'rb')})
    print(response.json())
  6. So khớp hai ảnh chân dung đầu vào json

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/face_matching/face_matchingbase64application/json

    Body:

    {
    "face1": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh chân dung thứ nhất
    "face2": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh chân dung thứ hai
    }

    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_face1_path = '/path/to/your/img_face1.jpg'
    img_face2_path = '/path/to/your/img_face2.jpg'
    encode_face1 = get_byte_img(Image.open(img_face1_path))
    encode_face2 = get_byte_img(Image.open(img_face2_path))
    response = requests.post(
    "https://cloud.computervision.com.vn/backend/api/v1/request/face_matching/face_matchingbase64",
    auth=(api_key, api_secret),
    json={'face1' : encode_face1, "face2" : encode_face2})
    print(response.json())
  7. Kiểm tra giả mạo khuôn mặt với đầu vào là 4 file ảnh, ảnh mặt thẳng, ảnh mặt quay trái, ảnh mặt quay phải, ảnh giấy tờ tùy thân

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/face_matching/matchinglivenessmultipart/form-data

    Body:

    KeyTypeValueMô tả
    img_cmtfileexample_cmt.jpgfile ảnh chứng minh thư hoặc thẻ căn cước hoặc ảnh chân dung
    midfileexample_mid.jpgfile ảnh giữa khuôn mặt
    leftfileexample_left.jpgfile ảnh mặt quay trái
    rightfileexample_right.jpgfile ảnh mặt quay phải

    Demo Python:

    import requests
    api_key = '<replace-with-your-api-key>'
    api_secret = '<replace-with-your-api-secret>'
    img_mid = '/path/to/your/img_mid.jpg'
    img_left = '/path/to/your/img_left.jpg'
    img_right = '/path/to/your/img_right.jpg'
    img_cmt = '/path/to/your/img_cmt.jpg'
    response = requests.post( "https://cloud.computervision.com.vn/backend/api/v1/request/face_matching/matchingliveness"
    auth=(api_key, api_secret),
    files={'mid': open(img_mid, 'rb'), 'left': open(img_left, 'rb'), 'right': open(img_right, 'rb'),
    'img_cmt' : open(img_cmt, 'rb')})
    print(response.json())
  8. Kiểm tra giả mạo khuôn mặt với đầu vào là json của 4 ảnh dạng base64, ảnh mặt thẳng, ảnh mặt quay trái, ảnh mặt quay phải, ảnh giấy tờ tùy thân

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/face_matching/matchinglivenessbase64application/json

    Body:

    {
    "img_cmt": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh chứng minh thư/thẻ căn cước
    "mid": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh giữa khuôn mặt
    "left": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh mặt quay trái
    "rihgt": "iVBORw0KGgoAAAANSU...", // string base64 của ảnh mặt quay phải
    }

    Demo Python:

    import requests
    import io
    import base64
    from PIL import Image
    api_key = '<replace-with-your-api-key>'
    api_secret = '<replace-with-your-api-secret>'
    img_mid = '/path/to/your/img_mid.jpg'
    img_left = '/path/to/your/img_left.jpg'
    img_right = '/path/to/your/img_right.jpg'
    img_cmt = '/path/to/your/img_cmt.jpg'
    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
    encode_mid = get_byte_img(Image.open(img_mid))
    encode_left = get_byte_img(Image.open(img_left))
    encode_right = get_byte_img(Image.open(img_right))
    encode_img_cmt = get_byte_img(Image.open(img_cmt))
    response = requests.post( "https://cloud.computervision.com.vn/backend/api/v1/request/face_matching/matchinglivenessbase64",
    auth=(api_key, api_secret),
    json={'mid' : encode_mid, 'left' : encode_left, 'right' : encode_right, 'img_cmt' : encode_img_cmt})
    print(response.json())
  9. 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
    "img_cmt": string, // ảnh khuôn mặt chứng minh thư
    "img_person": 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
    },
    "error_code": string, // mã lỗi
    "error_message": string // thông báo lỗi
    }

    Đối với dịch vụ so khớp hai ảnh chân dung, phản hồi sẽ 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
    "img_person1": string, // ảnh khuôn mặt chân dung thứ nhất
    "img_person2": string, // ảnh khuôn mặt chân dung thứ hai
    "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
    "match": string, // 1: chắc chắn cùng một người, 2: nghi ngờ, 3: không cùng một người
    },
    "error_code": string, // mã lỗi
    "error_message": string // thông báo lỗi
    }

    Đối với dịch vụ kiểm tra giả mạo khuôn mặt, phản hồi sẽ một JSON với định dạng sau:

    {
    "data": {
    "matching": string, // phần trăm giống nhau
    "valid": string, // True trong trường hợp đầu vào không giả mạo, ngược lại False
    "errors": string, // lỗi khi xác minh chống giả mạo
    },
    "error_code": string, // mã lỗi
    "error_message": string // thông báo lỗi
    }

    Bảng mã lỗi:

    Mã lỗiMessageMô tả
    0Thành côngSo khớp thành công
    1Ảnh sai formatUpload ảnh bị lỗi khi dùng POST
    2Url của ảnh không khả dụngDownload ảnh bị lỗi khi dùng GET
    3Ảnh không chứa nội dungTồn tại ảnh không có mặt người
    4Api_key hoặc api_sceret không đúngKhi api_key hoặc api_sceret sai
    5Hết số lượng request hữu dụngHết số lượng request
  1. Xem toàn bộ ảnh

    API:

    MethodURL
    GEThttps://cloud.computervision.com.vn/backend/api/v1/request/face_search/get_all_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/backend/api/v1/request/face_search/get_all_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/backend/api/v1/request/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/backend/api/v1/request/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/backend/api/v1/request/face_search/addapplication/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, key và value ở dạng string

    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/backend/api/v1/request/face_search/add",
    auth=(api_key, api_secret),
    data = payload
    print(response.json())
  4. Cập nhật metadata

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/face_search/edit_metadataapplication/json

    Body:

    {
    "image_id": 123456,
    "metadata": {
    "name": "example",
    "label": "for bar"
    ...
    }
    }
    KeyBắt buộcMô tả
    image_idid ảnh cần cập nhật metadata
    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/backend/api/v1/request/face_search/edit_metadata",
    data = payload,
    auth = (api_key, api_secret)
    )
    print(response.json())
  5. Xoá nhiều ảnh

    API:

    MethodURLcontent-type
    POSThttps://cloud.computervision.com.vn/backend/api/v1/request/face_search/deleteapplication/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/backend/api/v1/request/face_search/delete",
    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
    0Thành công
    1Ảnh sai format
    2Url của ảnh không khả dụng
    3Ảnh không chứa nội dung
    4Api_key hoặc api_sceret không đúng
    5Hết số lượng request hữu dụng
    6Lỗi khi thực hiện truy vấn
    7Id không hợp lệ