Skip to content

Cập nhật Face Authen ​

Thay thế các ảnh đã đăng ký trong một hồ sơ (profile) khuôn mặt hiện có. Dùng nó khi ngoại hình của người dùng đã thay đổi đủ nhiều để ảnh hưởng đến tỷ lệ khớp, hoặc để đăng ký lại sau một lần chụp ban đầu kém chất lượng.

Endpoint ​

http
POST /v1/update_face_auth
Content-Type: application/json
json
{
  "user_id": "user_00000001",
  "faces": [
    { "id": "a4facba3-334b-41fb-97e3-4766cb70ae29" }
  ],
  "device_id": "device_00000001",
  "app_id": "app_00000001",
  "lat": "10.7769",
  "lng": "106.7009",
  "face_type": "selfie",
  "metadata": { "key2": "value2" }
}

Tham số:

Tham sốKiểuBắt buộcMặc địnhMô tả
user_idstringCó—User ID của khách hàng.
facesImageData[]Có—Ảnh selfie của người dùng, hoặc một document chứa một ảnh selfie. Cần ít nhất một ảnh.
device_idstringKhông—Device ID của người dùng, hiển thị trong lịch sử face auth trên admin portal.
app_idstringKhông—App mà khách hàng đã dùng, hiển thị trong lịch sử face auth.
latstringKhông—Vĩ độ của thiết bị dùng cho lần cập nhật này.
lngstringKhông—Kinh độ của thiết bị dùng cho lần cập nhật này.
face_typestringKhôngselfieLoại ảnh khuôn mặt đầu vào: selfie hoặc id_card. Dùng id_card cho một khuôn mặt trích xuất từ thẻ Căn cước công dân.
metadatajson_objectKhông—Bất kỳ metadata key-value nào để lưu cùng khách hàng này.

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ụ: {"gesture":"left","type":1}

Chỉ cung cấp id hoặc base64, không bao giờ cả hai. CAKE khuyến nghị dùng id thay vì base64.

Trả về: UpdateFaceAuthResponse

Ví dụ request ​

bash
curl -X POST \
  '<BASE_URL>/v1/update_face_auth' \
  -H 'Authorization: ATV <ACCESS_ID>:<SIGNATURE>' \
  -H 'X-TV-Timestamp: <TIMESTAMP>' \
  -H 'Content-Type: application/json' \
  -d '{
    "user_id": "user_00000001",
    "faces": [
      { "id": "a4facba3-334b-41fb-97e3-4766cb70ae29" }
    ],
    "face_type": "selfie",
    "device_id": "device_00000001",
    "app_id": "app_00000001",
    "lat": "10.7769",
    "lng": "106.7009",
    "metadata": {
      "key1": { "key11": "value11", "key12": "value12" },
      "key2": "value2"
    }
  }'

Response ​

json
{
  "data": {
    "status": "success",
    "request_id": "cfc7b8d5-f2e2-437b-80e5-d600dfad26e2",
    "face_auth": {
      "user_id": "user_00000001",
      "status": "VERIFIED"
    }
  },
  "errors": [],
  "success": true,
  "code": 0,
  "message": "Success"
}
TrườngKiểuMô tả
data.statusstringsuccess hoặc failure.
data.request_idstringRequest ID; cung cấp cho CAKE Support khi cần kiểm tra log.
data.face_auth.user_idstringUser ID mà hồ sơ thuộc về.
data.face_auth.statusstringTrạng thái hồ sơ sau khi cập nhật.

WARNING

Việc cập nhật thay thế template sinh trắc học mà mọi lần xác thực trong tương lai sẽ được đối chiếu. Hãy đặt endpoint này phía sau một lớp xác thực mạnh của riêng nó — một kẻ tấn công có thể gọi nó cho user_id của người khác có thể đăng ký khuôn mặt của chính mình và chiếm đoạt tài khoản.

Lỗi ​

Việc cập nhật chạy cùng cổng kiểm tra chất lượng và đối chiếu như đăng ký:

MãThông báo
2001003Ảnh gửi lên server không có khuôn mặt nào.
2001006Các khuôn mặt phát hiện được từ ảnh gửi lên server không khớp nhau.
2001009Ảnh gửi lên server có nhiều khuôn mặt.
2001010Không tìm thấy Access ID.
2001011Kiểm tra liveness của selfie / id_card thất bại.
2001012Kiểm tra sanity của selfie / id_card thất bại.
2001014Vượt giới hạn tốc độ đăng ký.
2001015Vượt giới hạn brute-force khi đăng ký.
2001025Ảnh selfie gửi lên server có độ dài không khớp với cấu hình.
2001026Các ảnh gửi lên server bị trùng lặp.
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.
4001002Ảnh selfie hoặc ảnh gốc có nhiều hơn 1 khuôn mặt.
4041000Không tìm thấy image ID trong DB.
4041001Không tìm thấy người dùng.
4131000Kích thước ảnh đầu vào vượt quá giới hạn cho phép (15MB).
4151000Định dạng ảnh được cung cấp không được hỗ trợ (JPG/PNG).
4291000Số lượng request vượt quá giới hạn throughput của bạn.
5001000Xảy ra lỗi không mong đợi trong quá trình xử lý request.
MãMô tả
access_id_not_foundKhông tìm thấy Access ID.
register_rate_limit_exceededVượt giới hạn tốc độ đăng ký.
register_brute_force_limit_exceededVượt giới hạn brute-force khi đăng ký.
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.
incorrect_number_of_facesẢnh selfie hoặc ảnh gốc có nhiều hơn 1 khuôn mặt.
image_not_found_exceptionKhông tìm thấy image ID trong DB.
image_too_large_exceptionKích thước ảnh đầu vào vượt quá giới hạn cho phép (15MB).
invalid_image_format_exceptionĐịnh dạng ảnh được cung cấp không được hỗ trợ (JPG/PNG).
rate_limit_exceptionSố lượng request vượt quá giới hạn throughput của bạn.
duplicated_imageCác ảnh gửi lên server bị trùng lặp.
selfie_image_invalidẢnh selfie gửi lên server có độ dài không khớp với cấu hình.
sanity_check_failedKiểm tra sanity của selfie / id_card thất bại.
liveness_check_failedKiểm tra liveness của selfie / id_card thất bại.
image_has_no_facesẢnh gửi lên server không có khuôn mặt nào.
image_has_multiple_facesẢnh gửi lên server có nhiều khuôn mặt.
compare_faces_not_matchedCác khuôn mặt phát hiện được từ ảnh gửi lên server không khớp nhau.
internal_server_errorXảy ra lỗi không mong đợi trong quá trình xử lý request.

Khác với đăng ký, cập nhật không có lỗi user_already_registered hay face_already_registered — hồ sơ được mặc định là đã tồn tại.

Bước tiếp theo ​

Developers