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-filesNội dung yêu cầu (request body)
| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
shop_name | string | Có | Tên shop của bạn (ví dụ: my-etsy-shop) |
name | string | Có | 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. |
content | string | Có | 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: 1Phản hồi 201
{
"id": "01jyz5kqxz2hrcwqzdq4jdv7r9",
"print_file_urls": [
"https://.../1.png",
"https://.../2.png"
]
}| Trường | Kiểu | Mô tả |
|---|---|---|
id | string | Định danh của lần gửi |
print_file_urls | string[] | 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ái | Nội dung phản hồi | Nguyê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