Publiczne API plików do druku
Bazowy URL: https://app.customix.io/api
Uwierzytelnianie: Jak uzyskać klucz API Customix
Authorization: Bearer {your-api-token}Limit żądań: 100 żądań na minutę (na użytkownika)
Przegląd
Prześlij personalizację produktu jako zwykły tekst wielowierszowy i otrzymaj listę
adresów URL plików do druku dla tego zgłoszenia.
Tworzenie plików do druku
POST /print-filesTreść żądania
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
shop_name | string | Tak | Nazwa Twojego sklepu (np. my-etsy-shop) |
name | string | Tak | Nazwa szablonu, którego jesteś właścicielem w tym sklepie. Używany jest pierwszy szablon pasujący do nazwy. |
content | string | Tak | Personalizacja wielowierszowa. Każdy wiersz ma postać <option name>: <value>. Początkowy znak - jest opcjonalny. |
Format treści
Każdy wiersz przypisuje wartość jednej personalizowanej opcji w szablonie.
- Nazwy opcji są dopasowywane bez rozróżniania wielkości liter, a otaczające białe znaki są ignorowane.
- Opcje tekstu, koloru i daty przyjmują wartość dosłownie, na przykład
Harry, #ffffff, 2026-12-25.
- Opcje próbek (czcionki, obrazu, koloru, układu itp.) przyjmują liczbę całkowitą, która
wybiera jedną z dostępnych wartości próbki. Domyślnie 1 wybiera pierwszą
wartość, 2 drugą i tak dalej.
Przykład:
- Enter your name: Harry
- Text color: #ffffff
- Font: 1Odpowiedź 201
{
"id": "01jyz5kqxz2hrcwqzdq4jdv7r9",
"print_file_urls": [
"https://.../1.png",
"https://.../2.png"
]
}| Pole | Typ | Opis |
|---|---|---|
id | string | Identyfikator zgłoszenia |
print_file_urls | string[] | Jeden adres URL na każdy plik do druku w szablonie, w kolejności szablonu |
Pliki do druku stają się dostępne pod zwróconymi adresami URL po zakończeniu generowania
(zwykle kilka sekund po odpowiedzi).
Odpowiedzi z błędem
| Status | Treść | Przyczyna |
|---|---|---|
401 | {"message": "Unauthenticated."} | Brakujący lub nieprawidłowy token bearer |
403 | {"message": "Unauthenticated"} | Token jest prawidłowy, ale wywołujący nie ma dostępu do shop_name |
404 | {"message": "Template not found: …"} | W tym sklepie nie istnieje szablon o takiej nazwie name |
422 | {"errors": {"shop_name": […], "name": […], "content": […]}} | Brakujące wymagane pola |
422 | {"message": "Unknown option: <name>"} | Wiersz odwołuje się do opcji, która nie istnieje w szablonie |
422 | {"message": "Swatch index N is out of range for option '…' …"} | Indeks próbki jest poza dostępnym zakresem |
422 | {"message": "Option '…' expects an integer swatch index, got …"} | Do opcji próbki przekazano wartość niebędącą liczbą całkowitą |
Przykładowe żądanie
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"
}'Zaktualizowano: 20/05/2026