Skip to content

Phân tích thông tin QR ​

Phân tích payload QR thô từ một thẻ Căn cước công dân Việt Nam thành các trường có cấu trúc, bao gồm một cấu trúc địa chỉ đã được phân tách. Dùng nó khi client của bạn đã có sẵn chuỗi QR đã giải mã và cần chuẩn hóa nó mà không cần gửi một ảnh.

Endpoint ​

http
POST /v1/parse_qr_info_sync
Content-Type: application/json
json
{
  "raw_qr": "string"
}

Tham số:

Tham sốKiểuBắt buộcMặc địnhMô tả
raw_qrstringCó—Chuỗi mã QR thô từ thẻ. Phân tách bằng dấu gạch đứng theo thứ tự: Số định danh (12 chữ số) | Số định danh cũ (9 chữ số hoặc rỗng) | Họ tên đầy đủ | Ngày sinh (DDMMYYYY) | Giới tính (Nam/Nữ) | Quê quán | Ngày cấp (DDMMYYYY).

Trả về: ParseQrInfoResponse

Ví dụ request ​

bash
curl --location '<BASE_URL>/v1/parse_qr_info_sync' \
  --header 'Authorization: ATV <ACCESS_ID>:<SIGNATURE>' \
  --header 'X-TV-Timestamp: <TIMESTAMP>' \
  --header 'Content-Type: application/json' \
  --data '{
    "raw_qr": "001xxxxxxxxx|xxxxxxxxx|Nguyễn Văn A|12121990|Nam|Tổ 1, Phường Bến Nghé, Quận 1, TP. Hồ Chí Minh|01012021"
  }'

Response ​

json
{
  "success": true,
  "code": 0,
  "message": "Success",
  "data": {
    "request_id": "f48085e4-3ae4-40bb-b0e1-9b2c72575bc1",
    "status": "success",
    "qr": {
      "parsed": [
        { "field": "id", "value": "001xxxxxxxxx", "confidence_score": 1.0, "confidence_verdict": "" },
        { "field": "name", "value": "Nguyễn Văn A", "confidence_score": 1.0, "confidence_verdict": "" },
        { "field": "dob", "value": "12/12/1990", "confidence_score": 1.0, "confidence_verdict": "" },
        { "field": "address_level_1_(city)", "value": "TP. Hồ Chí Minh", "confidence_score": 1.0, "confidence_verdict": "" }
      ],
      "raw": "001xxxxxxxxx|xxxxxxxxx|Nguyễn Văn A|12121990|Nam|Tổ 1, Phường Bến Nghé, Quận 1, TP. Hồ Chí Minh|01012021"
    }
  },
  "errors": []
}
TrườngKiểuMô tả
data.request_idstringRequest ID; cung cấp cho CAKE Support khi cần kiểm tra log.
data.statusstringsuccess hoặc failure.
data.qr.rawstringChuỗi QR thô như đã gửi lên.
data.qr.parsedParsedField[]Các trường có cấu trúc được trích xuất từ payload QR.

ParsedField ​

TrườngKiểuMô tả
fieldstringTên trường — xem bảng bên dưới.
valuestringGiá trị đã trích xuất.
confidence_scorefloatLuôn là 1.0 đối với QR, vốn được mã hóa thay vì được nhận dạng.
confidence_verdictstringRỗng đối với các trường có nguồn từ QR.

Các trường được trả về ​

Bảy trường đầu vào phân tách bằng dấu gạch đứng, cộng với một cấu trúc địa chỉ được suy ra từ quê quán:

TrườngKiểuMô tả
idstringSố CCCD, 12 chữ số.
id_1stringSố CMND cũ, 9 chữ số.
namestringHọ tên đầy đủ.
dobstringNgày sinh, chuẩn hóa về DD/MM/YYYY.
genderstringNam hoặc Nữ.
native_placestringQuê quán như được in trên thẻ.
issue_datestringNgày cấp, chuẩn hóa về DD/MM/YYYY.
address_level_1_(city)stringTỉnh hoặc thành phố trực thuộc trung ương.
address_level_1_(city)_codestringMã hành chính cấp tỉnh.
address_level_2_(district)stringHuyện.
address_level_2_(district)_codestringMã hành chính cấp huyện.
address_level_3_(ward)stringXã, phường hoặc thị trấn.
address_level_3_(ward)_codestringMã hành chính cấp xã.
address_level_4stringThôn hoặc tổ dân cư.

Ngày tháng đến dưới dạng DDMMYYYY và trả về dưới dạng DD/MM/YYYY.

Lỗi ​

Việc kiểm tra hợp lệ payload QR có dải mã 2007xxx riêng của nó:

MãThông báo
2007001Số định danh QR không hợp lệ.
2007002Số định danh cũ QR không hợp lệ.
2007003Ngày sinh QR không hợp lệ.
2007004Giá trị giới tính QR không hợp lệ.
2007005Ngày cấp QR không hợp lệ.
2001010Không tìm thấy Access ID.
401100Bạn không được phép thực hiện hành động này.
4001000Tham số đầu vào vi phạm một ràng buộc.
4001001Header X-TV-Timestamp đã hết hạn, cần một cái mới hơn.
5001000Xảy ra lỗi không mong đợi trong quá trình xử lý request.
MãMô tả
invalid_qr_identity_numberSố định danh phải chính xác 12 chữ số.
invalid_qr_old_identity_numberSố định danh cũ phải rỗng hoặc chính xác 9 chữ số.
invalid_qr_date_of_birthĐịnh dạng ngày sinh không hợp lệ hoặc ngày đó không tồn tại. Định dạng mong đợi là DDMMYYYY.
invalid_qr_gender_valueGiới tính phải là Nam (nam) hoặc Nữ (nữ).
invalid_qr_issue_dateĐịnh dạng ngày cấp không hợp lệ hoặc ngày đó không tồn tại. Định dạng mong đợi là DDMMYYYY.
access_denied_exceptionBạn không được phép thực hiện hành động này.
invalid_parameter_exceptionTham số đầu vào vi phạm một ràng buộc.
request_time_too_skewedHeader X-TV-Timestamp đã hết hạn, cần một cái mới hơn.
internal_server_errorXảy ra lỗi không mong đợi trong quá trình xử lý request.

Bước tiếp theo ​

Developers