# Tài Liệu API Xử Lý Hình Ảnh Hộ Chiếu ![Screenshot 2023-12-30 at 08.47.37](https://hackmd.io/_uploads/By-Xwogdp.png) ## Mục Lục - [Giới thiệu](#giới-thiệu) - [URL Endpoint](#url-endpoint) - [Phương thức HTTP](#phương-thức-http) - [Header Yêu cầu](#header-yêu-cầu) - [Tham số Yêu cầu](#tham-số-yêu-cầu) - [Mẫu Yêu cầu](#mẫu-yêu-cầu) - [Đáp Ứng Thành Công](#đáp-ứng-thành-công) - [Mã Lỗi](#mã-lỗi) - [Ví dụ](#ví-dụ) ## Giới thiệu API Xử Lý Hình Ảnh Hộ Chiếu cho phép người dùng gửi hình ảnh hộ chiếu để trích xuất thông tin. API trả về dữ liệu JSON chứa các thông tin chi tiết từ hộ chiếu. ## URL Endpoint ``` POST https://way2go.hndedu.com/process_image_passport ``` ## Phương thức HTTP Phương thức: `POST` ## Header Yêu cầu - Content-Type: `multipart/form-data` ## Tham số Yêu cầu - `image`: File hình ảnh hộ chiếu được gửi dưới dạng binary. ## Mẫu Yêu cầu ```plaintext POST /process_image_passport HTTP/1.1 Host: way2go.hndedu.com Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="image"; filename="passport.jpg" Content-Type: image/jpeg <binary data> ------WebKitFormBoundary7MA4YWxkTrZu0gW-- ``` ## Đáp Ứng Thành Công - Mã trạng thái HTTP: `200 OK` - Định dạng dữ liệu: JSON - Nội dung: ```json { "data": [ { "country_code": "CHN", "dob": "26/01/1989", // Các thông tin khác } ] } ``` ## Mã Lỗi API có thể trả về các mã lỗi sau đây: - `400 Bad Request`: Yêu cầu không hợp lệ hoặc thiếu thông tin. - `401 Unauthorized`: Yêu cầu không có quyền truy cập. - `500 Internal Server Error`: Lỗi máy chủ nội bộ. ## Ví dụ ### Yêu cầu: ```plaintext curl -X POST https://way2go.hndedu.com/process_image_passport \ -H 'Content-Type: multipart/form-data' \ -F 'image=@path_to_passport_image.jpg' ``` ### Đáp Ứng: ```json { "data": [ { "country_code": "CHN", "dob": "26/01/1989", // Các thông tin khác } ] } ``` <hr> # Tài Liệu API Kiểm Tra Sự Phù Hợp Giữa Hình Ảnh Hộ Chiếu và Chân Dung ![Screenshot 2023-12-30 at 08.47.52](https://hackmd.io/_uploads/Bkx4vixOa.png) ## Mục Lục - [Giới thiệu](#giới-thiệu) - [URL Endpoint](#url-endpoint) - [Phương thức HTTP](#phương-thức-http) - [Header Yêu cầu](#header-yêu-cầu) - [Tham số Yêu cầu](#tham-số-yêu-cầu) - [Mẫu Yêu cầu](#mẫu-yêu-cầu) - [Đáp Ứng Thành Công](#đáp-ứng-thành-công) - [Mã Lỗi](#mã-lỗi) - [Ví dụ](#ví-dụ) ## Giới thiệu API Kiểm Tra Sự Phù Hợp Giữa Hình Ảnh Hộ Chiếu và Chân Dung cung cấp khả năng xác định liệu hai hình ảnh có phải là của cùng một người hay không. Nó trả về một đối tượng JSON chứa kết quả so sánh và độ tương đồng. ## URL Endpoint ``` POST https://way2go.hndedu.com/process_image_ekyc ``` ## Phương thức HTTP Phương thức: `POST` ## Header Yêu cầu - Content-Type: `multipart/form-data` ## Tham số Yêu cầu - `image_passport`: File hình ảnh hộ chiếu. - `image_human`: File hình ảnh chân dung người. ## Mẫu Yêu cầu ```plaintext POST /process_image_ekyc HTTP/1.1 Host: way2go.hndedu.com Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="image_passport"; filename="passport.jpg" Content-Type: image/jpeg <binary data> ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="image_human"; filename="photo.jpg" Content-Type: image/jpeg <binary data> ------WebKitFormBoundary7MA4YWxkTrZu0gW-- ``` ## Đáp Ứng Thành Công - Mã trạng thái HTTP: `200 OK` - Định dạng dữ liệu: JSON - Nội dung: ```json { "code": "200", "data": { "isBothImgIDCard": false, "isMatch": true, "similarity": "99.69" }, "message": "request successful." } ``` ## Mã Lỗi API có thể trả về các mã lỗi sau đây: - `400 Bad Request`: Yêu cầu không hợp lệ hoặc thiếu thông tin. - `401 Unauthorized`: Yêu cầu không có quyền truy cập. - `500 Internal Server Error`: Lỗi máy chủ nội bộ. ## Ví dụ ### Yêu cầu: ```plaintext curl -X POST https://way2go.hndedu.com/process_image_ekyc \ -H 'Content-Type: multipart/form-data' \ -F 'image_passport=@path_to_passport_image.jpg' \ -F 'image_human=@path_to_human_photo.jpg' ``` ### Đáp Ứng: ```json { "code": "200", "data": { "isBothImgIDCard": false, "isMatch": true, "similarity": "99.69" }, "message": "request successful." } ``` <hr> ![Screenshot 2024-01-02 at 17.40.05](https://hackmd.io/_uploads/SJQfYDZup.png) #### Điểm cuối (Endpoint) `POST` `/process_image_ekyc_video` #### Mô tả Điểm cuối này được sử dụng để xử lý hình ảnh và video cho mục đích xác minh khách hàng điện tử (eKYC). #### Headers - `Content-Type`: multipart/form-data (bắt buộc cho việc tải lên tệp) #### Tham số Body - `image_passport`: Tệp hình ảnh hộ chiếu cần xử lý. Tệp nên ở định dạng hình ảnh được hỗ trợ. - `video_human`: Tệp video của người cần được xác minh. Tệp nên ở định dạng video được hỗ trợ. #### Phản hồi - `200 OK`: Yêu cầu thành công. - `400 Bad Request`: Dữ liệu đầu vào không hợp lệ hoặc bị lỗi. - `500 Internal Server Error`: Đã xảy ra lỗi trên máy chủ. #### Nội dung Phản hồi ```json { "code": "200", "data": { "isBothImgIDCard": false, "isMatch": false, "similarity": 3.48 }, "message": "request successful." } ``` #### Định nghĩa Dữ liệu - `isBothImgIDCard`: Một giá trị boolean chỉ ra liệu cả hình ảnh và thẻ ID có mặt hay không. - `isMatch`: Một giá trị boolean chỉ ra liệu có sự trùng khớp giữa hình ảnh và người trong video hay không. - `similarity`: Một giá trị số biểu diễn mức độ tương đồng giữa hình ảnh và video, có thể trên một thang đo nơi mà số cao hơn biểu thị mức độ tương đồng cao hơn. ### Ví dụ cURL Request ```bash curl -X POST https://way2go.hndedu.com/process_image_ekyc_video \ -H 'Content-Type: multipart/form-data' \ -F 'image_passport=@đường_dẫn_tới_hình_ảnh_hộ_chiếu.jpg' \ -F 'video_human=@đường_dẫn_tới_video.mp4' ``` Vui lòng thay thế `đường_dẫn_tới_hình_ảnh_hộ_chiếu.jpg` và `đường_dẫn_tới_video.mp4` bằng đường dẫn thực tế của hình ảnh hộ chiếu và video của người, tương ứng. **Lưu ý**: Các định dạng và tham số chính xác có thể cần được điều chỉnh dựa trên thông số kỹ thuật API đầy đủ, không được hiển thị đầy đủ trong ảnh chụp màn hình. Mã trạng thái phản hồi "200" chỉ ra một yêu cầu thành công nhưng cũng nên bao gồm việc xử lý lỗi cho các tình huống khác như đã nêu trong phần Phản hồi.