Mẫu tài liệu API viết bằng Markdown

Phiên bản

Beta

Mô tả

Dịch vụ nhận ảnh trang phục dưới dạng URL, file nhị phân hoặc dữ liệu Base64 cùng vùng chọn hình chữ nhật, sau đó trả về danh sách nhãn tự động cho trang phục.

Yêu cầu đối với ảnh

  • Định dạng: JPG, JPEG, PNG
  • Độ phân giải: từ 48×48 đến 1280×1280 pixel
  • Dung lượng: không vượt quá 2 MB

URL truy cập

https://api.example.com/v1/fashion/auto-tag

Phương thức HTTP

POST

Xác thực

API Key đã kích hoạt đều có thể gọi.

Tham số yêu cầu

Bắt buộcTên tham sốKiểu dữ liệuMô tả
Cóapi_keyStringKhóa API dùng để xác thực.
Cóapi_secretStringBí mật API.
CótopIntTọa độ y của góc trên bên trái vùng trang phục.
CóleftIntTọa độ x của góc trên bên trái vùng trang phục.
CówidthIntChiều rộng vùng chọn.
CóheightIntChiều cao vùng chọn.
Có (chọn 1 trong 4)image_urlStringURL trỏ đến ảnh. Nên upload trực tiếp qua file để tránh lỗi tải ảnh.
image_idStringID ảnh đã lưu trong hệ thống.
image_fileFileFile ảnh, upload bằng multipart/form-data.
image_base64StringDữ liệu ảnh mã hóa Base64.

Thứ tự ưu tiên khi gửi nhiều nguồn ảnh

Nếu image_url, image_id, image_file, image_base64 đều được truyền, hệ thống sử dụng theo thứ tự: image_file → image_base64 → image_id → image_url.

Các trường trả về

TrườngKiểuÝ nghĩa
request_idStringMã định danh duy nhất của mỗi yêu cầu.
tagsArrayMảng nhãn nhận diện được. Nếu không có nhãn thì trả về mảng rỗng.
image_idStringID ảnh trong hệ thống.
elapsedIntThời gian xử lý, đơn vị ms.
error_messageStringChỉ xuất hiện khi có lỗi.

Cấu trúc phần tử trong mảng tags

TrườngKiểuÝ nghĩa
categoryStringNhóm nhãn, ví dụ: phong cách, màu sắc.
labelStringGiá trị nhãn c thể.
scoreFloatĐộ tin cậy, từ 0 đến 100, 3 chữ số thập phân.

Ví dụ khi thành công

{
  "image_id": "aB3x9LmQpZ==",
  "request_id": "1620345678,feed1234-abcd-5678-90ef-1234567890ab",
  "elapsed": 823,
  "tags": [
    {
      "category": "style",
      "label": "casual",
      "score": 99.875
    },
    {
      "category": "color",
      "label": "orange",
      "score": 95.105
    }
  ]
}

Ví dụ khi lỗi

{
  "request_id": "1620345680,deadbeef-1234-5678-90ab-cdef01234567",
  "elapsed": 5,
  "error_message": "MISSING_ARGUMENTS: image_url, image_file, image_base64"
}

Lỗi đặc thù của API

Mã HTTPThông báo lỗiÝ nghĩa
400IMAGE_ERROR_UNSUPPORTED_FORMAT:<param>Ảnh tại tham số <param> không thể phân tích, có thể file bị hng hoặc không phải ảnh.
400INVALID_IMAGE_SIZE:<param>Kích thước pixel ảnh không nằm trong giới hạn cho phép.
400INVALID_IMAGE_URLKhông thể tải nh từ URL đã cung cấp.
400IMAGE_FILE_TOO_LARGEDung lượng ảnh vượt quá 2 MB.
412IMAGE_DOWNLOAD_TIMEOUTTải ảnh từ URL quá thời gian chờ.

Lỗi chung

Mã HTTPThông báo lỗiÝ ngha
401AUTHENTICATION_ERRORapi_key và api_secret không khớp.
403AUTHORIZATION_ERROR:<reason>API Key không có quyền truy cập. Lý do có thể là Denied by Client, Denied by Admin hoặc Insufficient Account Balance.
403CONCURRENCY_LIMIT_EXCEEDEDVượt quá giới hạn QPS của API Key.
400MISSING_ARGUMENTS:<key>Thiếu tham số bắt buộc.
400BAD_ARGUMENTS:<key>Tham số sai định dạng hoặc giá trị không hợp lệ.
400COEXISTENCE_ARGUMENTSTruyền đồng thời các tham số ràng buộc loại trừ.
413Request Entity Too LargePayload yêu cầu vượt quá 2 MB. Trả về dạng plain text.
404API_NOT_FOUNDAPI không tn tại.
500INTERNAL_ERRORLỗi máy chủ nội bộ. Thử lại hoặc liên hệ hỗ trợ kỹ thuật.

Ví dụ gọi API

curl -X POST "https://api.example.com/v1/fashion/auto-tag" \
  -F "api_key=<your_api_key>" \
  -F "api_secret=<your_api_secret>" \
  -F "top=<top>" \
  -F "left=<left>" \
  -F "width=<width>" \
  -F "height=<height>" \
  -F "image_file=@clothing.jpg"

Thẻ: API Documentation Markdown REST API cURL JSON

Đăng vào ngày 8 tháng 10 lúc 13:30