Skip to content

Phát hiện giả mạo thẻ ID ​

Kiểm tra một ảnh thẻ ID (ID card) để tìm dấu hiệu giả mạo, chỉnh sửa hoặc phát lại (replay) — một ảnh chân dung bị tráo, font chữ bị chỉnh sửa, một thẻ được chụp lại từ màn hình, hoặc thông tin tự mâu thuẫn giữa OCR, MRZ và QR.

Endpoint ​

http
POST /v1/detect_id_card_tampering_sync
Content-Type: application/json
json
{
  "card_type": "vn.national_id",
  "image": {
    "id": "2dc863d6-1f68-4c82-8380-dd34e4ed7da0",
    "base64": "",
    "label": "id_card.vn.national_id.front",
    "metadata": "{}"
  }
}

Tham số:

Tham sốKiểuBắt buộcMặc địnhMô tả
card_typestringCó—Loại thẻ. Xem Khuyến nghị sử dụng.
imageImageDataCó—Ảnh mặt trước hoặc mặt sau của thẻ định danh.

ImageData ​

Tham sốKiểuBắt buộcMặc địnhMô tả
idstringKhông—ID của ảnh được trả về bởi Tải ảnh lên.
base64stringKhông—Văn bản dữ liệu ảnh mã hóa Base64.
labelstringKhông—Nhãn của ảnh, như mô tả trong Khuyến nghị sử dụng.
metadatastring_jsonKhông—Chuỗi JSON key/value. Ví dụ: {"id":"<ID>","type":1}

Ví dụ request ​

bash
curl --location '<BASE_URL>/v1/detect_id_card_tampering_sync' \
  --header 'Authorization: ATV <ACCESS_ID>:<SIGNATURE>' \
  --header 'X-TV-Timestamp: <TIMESTAMP>' \
  --header 'Content-Type: application/json' \
  --data '{
    "card_type": "vn.national_id",
    "image": {
      "id": "e94288e6-7ab5-4aeb-9608-8382f4ceb92f",
      "base64": "",
      "label": "id_card.vn.national_id.back",
      "metadata": "{}"
    }
  }'

Response ​

json
{
  "data": {
    "status": "success",
    "card_tampering": {
      "score": 1,
      "verdict": "alert",
      "details": [
        {
          "verdict": "photo_tampered",
          "score": 0.9394838,
          "info": "photo tampering detected"
        }
      ]
    },
    "image_id": "2dc863d6-1f68-4c82-8380-dd34e4ed7da0",
    "image2_id": "",
    "request_id": "d24883b6-f9ad-4d8b-a0fa-e8c6c81df87e"
  },
  "errors": []
}
TrườngKiểuMô tả
data.statusstringsuccess hoặc failure.
data.card_tampering.verdictstringKết luận (verdict) tổng thể — good khi không phát hiện giả mạo, ngược lại là alert.
data.card_tampering.scorefloatĐộ tin cậy của kết luận tổng thể, khoảng 0–1.
data.card_tampering.detailsTamperingDetail[]Từng tín hiệu giả mạo cụ thể được kích hoạt.
data.image_idstringID của ảnh đã phân tích.
data.image2_idstringID của ảnh thứ hai, rỗng khi chỉ một ảnh được cung cấp.
data.request_idstringRequest ID; cung cấp cho CAKE Support khi cần kiểm tra log.

TamperingDetail ​

TrườngKiểuMô tả
verdictstringTín hiệu giả mạo cụ thể, ví dụ photo_tampered, non_liveness, qr_info_not_match. Xem Định nghĩa kết luận.
scorefloatĐộ tin cậy của tín hiệu này, khoảng 0–1.
infostringGiải thích dạng người đọc được về tín hiệu này.

WARNING

Một kết luận good là bằng chứng, không phải một đảm bảo. Phát hiện giả mạo mang tính xác suất — hãy kết hợp nó với sanity thẻ ID, so khớp khuôn mặt và bộ quy tắc của riêng bạn trước khi phê duyệt một lần onboarding, và ghi log toàn bộ mảng details để phục vụ kiểm toán.

Lỗi ​

MãThông báo
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ả
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.
image_not_found_exceptionKhông tìm thấy image ID trong DB.
rate_limit_exceptionSố lượng request vượt quá giới hạn throughput của bạ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