Company Logo

Hướng dẫn lấy thông tin từ CCCD

21/3/2024

Bước 1. Tạo schema JSON cho CCCD

Để tạo schema JSON cho CCCD, thực hiện các bước sau:

  1. Truy cập playground của img2.info
  2. Chọn tab "Tùy chỉnh"

Example

  1. Dán link ảnh CCCD: https://iili.io/F5OyXAN.png vào ô input "nhập URL của tệp". Lưu ý: Ảnh CCCD đã được che các thông tin nhạy cảm để bảo mật.

Ví dụ CCCD

  1. Click vào "Xem hướng dẫn" để biết cách tạo schema
  2. Đây là schema tôi tạo trước, các bạn có thể sử dụng lại:
{
    "hoVaTen": {
        "type": "string",
        "description": "họ và tên"
    },
    "so": {
        "type": "string",
        "description": "số CCCD"
    },
    "gioiTinh": {
        "type": "string",
        "description": "Giới tính"
    },
    "quocTich": {
        "type": "string",
        "description": "Quốc tịch"
    },
    "queQuan": {
        "type": "string",
        "description": "Quê quán"
    },
    "noiThuongTru": {
        "type": "string",
        "description": "Nơi thường trú"
    },
    "giaTriDen": {
        "type": "string",
        "description": "Giá trị đến ngày"
    }
}
  1. Click button "Trích xuất thông tin". Đây là kết quả đầu tiên:
{
    "giaTriDen": "02/11/2025",
    "gioiTinh": "Nam",
    "hoVaTen": "NGUYỄN THÀNH",
    "noiThuongTru": "Tổ Chi Đông\nMê Linh, Hà Nội",
    "queQuan": "Chi Đông, Mê Linh, Hà Nội",
    "quocTich": "Việt Nam",
    "so": "00120022"
}
  1. Tinh chỉnh schema: Kết quả bạn có thể thấy trường "noiThuongTru" tồn tại dấu xuống dòng \n, do hình ảnh có xuống dòng ở đó. Để loại bỏ dấu xuống dòng này thêm hướng dẫn để AI biết loại bỏ nó.
{
//không thay đổi
    "noiThuongTru": {
        "type": "string",
        "description": "Nơi thường trú, thay dấu xuống hàng bằng dấu ','"
    }
//không thay đổi
}
  1. Kết quả sau tinh chỉnh:
{
    "giaTriDen": "02/11/2025",
    "gioiTinh": "Nam",
    "hoVaTen": "NGUYỄN THÀNH",
    "noiThuongTru": "Tổ, Chi Đông, Mê Linh, Hà Nội",
    "queQuan": "Chi Đông, Mê Linh, Hà Nội",
    "quocTich": "Việt Nam",
    "so": "00120022"
}

Bước 2. Gửi yêu cầu API

Endpoint

POST /api/v1/extract-data

Headers

X-API-Key: <your_api_key>
Content-Type: application/json

Key có thể lấy tại đường dẫn API key

Body

{
    "imageUrl": "https://iili.io/F5OyXAN.png",
    "schema": {
    "hoVaTen": {
        "type": "string",
        "description": "họ và tên"
    },
    "so": {
        "type": "string",
        "description": "số CCCD"
    },
    "gioiTinh": {
        "type": "string",
        "description": "Giới tính"
    },
    "quocTich": {
        "type": "string",
        "description": "Quốc tịch"
    },
    "queQuan": {
        "type": "string",
        "description": "Quê quán"
    },
    "noiThuongTru": {
        "type": "string",
        "description": "Nơi thường trú, thay dấu xuống hàng bằng dấu ','"
    },
    "giaTriDen": {
        "type": "string",
        "description": "Giá trị đến ngày"
    }
}
}

Thử bằng curl:

curl -X 'POST' \
    'https://img2.info/api/v1/extract-data' \
    -H 'accept: application/json' \
    -H 'x-api-key: 2300a6dcf22de89722c6cdbe283c2c3c399af335' \
    -H 'Content-Type: application/json' \
    -d '{
    "imageUrl": "https://iili.io/F5OyXAN.png",
    "schema": {
    "hoVaTen": {
        "type": "string",
        "description": "họ và tên"
    },
    "so": {
        "type": "string",
        "description": "số CCCD"
    },
    "gioiTinh": {
        "type": "string",
        "description": "Giới tính"
    },
    "quocTich": {
        "type": "string",
        "description": "Quốc tịch"
    },
    "queQuan": {
        "type": "string",
        "description": "Quê quán"
    },
    "noiThuongTru": {
        "type": "string",
        "description": "Nơi thường trú, thay dấu xuống hàng bằng dấu '\'','\''"
    },
    "giaTriDen": {
        "type": "string",
        "description": "Giá trị đến ngày"
    }
}
}'

Sử dụng nodejs:

const axios = require('axios');

async function extractCCCD(apiKey, imageUrl) {
        try {
                const schema = {
                        hoVaTen: {
                                type: "string",
                                description: "họ và tên"
                        },
                        so: {
                                type: "string",
                                description: "số CCCD"
                        },
                        gioiTinh: {
                                type: "string",
                                description: "Giới tính"
                        },
                        quocTich: {
                                type: "string",
                                description: "Quốc tịch"
                        },
                        queQuan: {
                                type: "string",
                                description: "Quê quán"
                        },
                        noiThuongTru: {
                                type: "string",
                                description: "Nơi thường trú, thay dấu xuống hàng bằng dấu ','"
                        },
                        giaTriDen: {
                                type: "string",
                                description: "Giá trị đến ngày"
                        }
                };

                const response = await axios.post('https://img2.info/api/v1/extract-data', 
                        { imageUrl, schema },
                        {
                                headers: {
                                        'accept': 'application/json',
                                        'x-api-key': apiKey,
                                        'Content-Type': 'application/json'
                                }
                        }
                );

                return response.data;
        } catch (error) {
                console.error('Error:', error.response?.data || error.message);
                throw error;
        }
}

// Sử dụng
const apiKey = '416cbdb077491af801b244e3a81d2e5242c9dc62';
const imageUrl = 'https://iili.io/F5OyXAN.png';

extractCCCD(apiKey, imageUrl)
        .then(result => console.log('Kết quả:', result))
        .catch(error => console.error('Lỗi:', error));

Phản hồi

Khi thành công, response status 200 và body:

{
    "data": {
        "giaTriDen": "02/11/2025",
        "gioiTinh": "Nam",
        "hoVaTen": "NGUYỄN THÀNH",
        "noiThuongTru": "Tổ , Chi Đông, Mê Linh, Hà Nội",
        "queQuan": "Chi Đông, Mê Linh, Hà Nội",
        "quocTich": "Việt Nam",
        "so": "00120022"
    }
}

Bước 3. Nếu thiếu credits hãy tự tạo tài khoản và lấy API key

  1. Truy cập vào trang web img2.info
  2. Đăng nhập bằng tài khoản Google của bạn
  3. Sau khi đăng nhập, bạn sẽ được cấp 1000 credits miễn phí để bắt đầu sử dụng
  4. Truy cập trang API keys và bấm "Tạo API key" nếu bạn chưa có
  5. Mỗi lần gọi API sẽ tiêu tốn 1 credit

Lưu ý: API key cần được bảo mật và không chia sẻ cho người khác.

4. Lưu ý

  • Đảm bảo ảnh CCCD rõ nét, không bị chói sáng
  • Hỗ trợ các định dạng ảnh phổ biến (JPG, PNG)
  • Credits sẽ được hoàn lại nếu quá trình xử lý thất bại