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-files

Treść żądania

PoleTypWymaganeOpis
shop_namestringTakNazwa Twojego sklepu (np. my-etsy-shop)
namestringTakNazwa szablonu, którego jesteś właścicielem w tym sklepie. Używany jest pierwszy szablon pasujący do nazwy.
contentstringTakPersonalizacja 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: 1

Odpowiedź 201

{
  "id": "01jyz5kqxz2hrcwqzdq4jdv7r9",
  "print_file_urls": [
    "https://.../1.png",
    "https://.../2.png"
  ]
}
PoleTypOpis
idstringIdentyfikator zgłoszenia
print_file_urlsstring[]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

StatusTreść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