API file in công khai

Base URL: https://app.customix.io/api

Xác thực: Cách lấy API key của Customix

Authorization: Bearer {your-api-token}

Giới hạn tần suất: 100 yêu cầu mỗi phút (mỗi người dùng)

Tổng quan

Gửi một phần tuỳ chỉnh sản phẩm dưới dạng văn bản nhiều dòng thuần và nhận lại danh sách
URL file in cho lần gửi đó.

Tạo file in

POST /print-files

Nội dung yêu cầu (request body)

TrườngKiểuBắt buộcMô tả
shop_namestringCóTên shop của bạn (ví dụ: my-etsy-shop)
namestringCóTên của một mẫu bạn sở hữu trên shop này. Mẫu đầu tiên khớp với tên sẽ được dùng.
contentstringCóNội dung tuỳ chỉnh nhiều dòng. Mỗi dòng có dạng <option name>: <value>. Dấu - ở đầu dòng là tuỳ chọn.

Định dạng nội dung

Mỗi dòng ánh xạ một tuỳ chọn có thể tuỳ chỉnh trên mẫu với một giá trị.

  • Tên tuỳ chọn được so khớp không phân biệt chữ hoa chữ thường, và bỏ qua khoảng trắng ở hai đầu.
  • Các tuỳ chọn chữ / màu / ngày nhận giá trị đúng nguyên văn — ví dụ

Harry, #ffffff, 2026-12-25.

  • Các tuỳ chọn ô mẫu (font, ảnh, màu, bố cục, v.v.) nhận một số nguyên

để chọn một trong các giá trị ô mẫu khả dụng. Theo mặc định, 1 chọn giá trị đầu tiên,
2 chọn giá trị thứ hai, và cứ thế tiếp tục.

Ví dụ:

- Enter your name: Harry
- Text color: #ffffff
- Font: 1

Phản hồi 201

{
  "id": "01jyz5kqxz2hrcwqzdq4jdv7r9",
  "print_file_urls": [
    "https://.../1.png",
    "https://.../2.png"
  ]
}
TrườngKiểuMô tả
idstringĐịnh danh của lần gửi
print_file_urlsstring[]Một URL cho mỗi file in trên mẫu, theo thứ tự của mẫu

File in sẽ khả dụng tại các URL được trả về sau khi quá trình tạo hoàn tất
(thường là vài giây sau phản hồi).

Phản hồi lỗi

Trạng tháiNội dung phản hồiNguyên nhân
401{"message": "Unauthenticated."}Thiếu bearer token hoặc token không hợp lệ
403{"message": "Unauthenticated"}Token hợp lệ nhưng người gọi không có quyền truy cập shop_name
404{"message": "Template not found: …"}Không có mẫu nào với name đó trên shop này
422{"errors": {"shop_name": […], "name": […], "content": […]}}Thiếu các trường bắt buộc
422{"message": "Unknown option: <name>"}Một dòng tham chiếu đến tuỳ chọn không tồn tại trên mẫu
422{"message": "Swatch index N is out of range for option '…' …"}Chỉ số ô mẫu nằm ngoài phạm vi khả dụng
422{"message": "Option '…' expects an integer swatch index, got …"}Giá trị không phải số nguyên được truyền vào một tuỳ chọn ô mẫu

Yêu cầu mẫu

curl -X POST 'https://app.customix.io/api/print-files' \
  -H 'Authorization: Bearer 01jyz0z…|abc…' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{
    "shop_name": "my-etsy-shop",
    "name": "My Template",
    "content": "- Enter your name: Harry\n- Text color: #ffffff\n- Font: 1"
  }'

Cập nhật ngày: 20/05/2026