Skip to content

Xác minh NFC ​

Xác minh một lần đọc chip đã hoàn tất với cơ sở dữ liệu công an quốc gia C06 và đóng giao dịch. Đây là kết quả đáng tin cậy duy nhất trong luồng NFC — hãy quyết định dựa trên kết quả này, không phải những gì SDK đã báo cáo.

Endpoint ​

http
POST /v1/verify_nfc
Content-Type: application/json
json
{
  "document_id": "001xxxxxxxxx",
  "ref_id": "ref_00000001",
  "verification_key": "<VERIFICATION_KEY>"
}

Tham số:

Tham sốKiểuBắt buộcMặc địnhMô tả
document_idstringCó—Document ID. Độ dài tối đa 64.
ref_idstringCó—ID tham chiếu giao dịch. Độ dài tối đa 64.
verification_keystringCó—Verification key được trả về bởi Đọc NFC. Độ dài tối đa 128.
force_rar_verifyboolKhôngfalseXác minh với C06 bất kể trạng thái xác minh hiện tại.
verify_transaction_onlyboolKhôngfalseChỉ xác minh tính toàn vẹn của response từ Đọc NFC, không gọi C06.

Trả về: VerifyNfcResponse

Xác thực lệnh gọi này bằng HMAC — xem Tổng quan § Xác thực.

INFO

verify_transaction_only kiểm tra rằng lần đọc không bị can thiệp, nhưng bỏ qua hoàn toàn việc tra cứu C06 — nó không xác nhận công dân có tồn tại trong cơ sở dữ liệu quốc gia hay không. Chỉ dùng nó cho các kiểm tra toàn vẹn thuần túy, không bao giờ thay thế cho một lần xác minh đầy đủ.

Ví dụ request ​

bash
curl --location '<BASE_URL>/v1/verify_nfc' \
  --header 'Authorization: ATV <ACCESS_ID>:<SIGNATURE>' \
  --header 'X-TV-Timestamp: <TIMESTAMP>' \
  --header 'Content-Type: application/json' \
  --data '{
    "document_id": "001xxxxxxxxx",
    "ref_id": "ref_00000001",
    "verification_key": "<VERIFICATION_KEY>"
  }'

Response ​

json
{
  "success": true,
  "code": 0,
  "message": "success",
  "request_id": "50e34861-d362-46ac-bf93-119e8dc6f2bf",
  "data": {
    "citizen_identify": "001xxxxxxxxx",
    "old_citizen_identify": "xxxxxxxxx",
    "full_name": "Nguyễn Văn A",
    "date_of_birth": "12/12/1990",
    "date_of_expiry": "12/12/2030",
    "gender": "Nam",
    "nationality": "Việt Nam",
    "ethnic": "Kinh",
    "religion": "Không",
    "place_of_origin": "Xã An Khánh, Huyện Châu Thành, Tỉnh Bến Tre",
    "place_of_residence": "Tổ 1, Phường Bến Nghé, Quận 1, TP. Hồ Chí Minh",
    "personal_identification": "Sẹo chấm cách 1cm trên đuôi mày trái",
    "date_provide": "01/01/2021",
    "father_name": "Nguyễn Văn B",
    "mother_name": "Trần Thị C",
    "partner_name": "",
    "face_image": "/9j/4AAQSkZJRgABAQA…",
    "is_verified": true,
    "verified_at": 1672531200
  }
}
TrườngKiểuMô tả
codeintMã lỗi — 0 nghĩa là không có lỗi. Độ dài tối đa 10.
request_idstringID request của server, dùng để tracing. Độ dài tối đa 64.
data.is_verifiedboolTrạng thái xác minh NFC với C06.
data.verified_atintUnix timestamp của thời điểm lần đọc NFC được xác minh. Độ dài tối đa 10.

Các trường data còn lại mang thông tin định danh chủ thẻ, có cấu trúc giống hệt response của Đọc NFC.

Khi thành công, trạng thái giao dịch chuyển sang VERIFIED.

WARNING

Hãy xác minh header X-Signature trước khi tin tưởng is_verified — một response chưa ký hoặc chưa được xác minh là một response chưa được xác thực. Xem Tổng quan § Ký response.

Lỗi ​

MãMô tả
2001010API key không đúng.
2001019Không tìm thấy reference ID.
2001020Lock giao dịch thất bại.
2001021Request giao dịch không hợp lệ.
2001023Khóa giao dịch không hợp lệ.
5001000Lỗi server nội bộ.
MãMô tả
401Bạn không được phép thực hiện hành động này.
500Xảy ra lỗi không mong đợi trong quá trình xử lý request.

Bước tiếp theo ​

Developers