Przejdź do głównej treści
Żądanie Fabrixa API wyświetlone na ekranie — dane JSON zamówienia wraz z nagłówkami uwierzytelniającymi, na tle tkaniny
Programiści · Przewodnik po integracji

Od Auth do fulfilmentu w piętnaście minut.

Istnieją dwa sposoby przesyłania zamówień do Fabrixa: połącz prowadzony przez siebie sklep — Shopify lub WooCommerce — bez konieczności pisania kodu albo stwórz go bezpośrednio w ramach integracji API. Niniejszy przewodnik omawia obie opcje: podłącz kanał sprzedaży w ciągu kilku minut lub przejdź od autoryzacji do realizacji zamówienia w piętnaście minut.

Shopify i WooCommerce bez kodowania · REST + JSON API · Uwierzytelnianie z dwoma nagłówkami · 30 żądań/min

Bez kodowania · Shopify i WooCommerce

Sprzedajesz już na Shopify lub WooCommerce? Podłącz się w kilka minut.

Większość sklepów nigdy nie korzysta z modelu API. Dodaj Fabrixa jako kanał sprzedaży, a zamówienia z Państwa sklepu trafią bezpośrednio do produkcji — produkty są synchronizowane, statusy aktualizowane, bez konieczności pisania ani utrzymywania kodu. Opisana poniżej ścieżka API jest przeznaczona dla niestandardowych witryn sklepowych i platform typu POD.

Utworzyć kanał → wybrać sposób sprzedaży

W panelu nawigacyjnym otwórz Create channel i wybierz typ integracji. Każdy kanał posiada własne produkty, zaimportowane zamówienia i reguły importu — możesz podłączyć tyle kanałów, ile tylko prowadzisz.

  • Shopify — OAuth jednym kliknięciem z poziomu panelu administracyjnego Shopify
  • WooCommerce — nawiąż połączenie przy użyciu kluczy REST API
  • Niestandardowy API — Platformy POD oraz niestandardowe witryny sklepowe za pośrednictwem integracji API
  • Partner w zakresie druku — przyjmować zlecenia produkcyjne od partnera Fabrixa
account.fabrixa.com/channels/create
Ekran tworzenia kanału w Fabrixa — wybór typu integracji: Shopify, WooCommerce, niestandardowy API lub partner drukarski, za pomocą formularza połączenia z WooCommerceEkran tworzenia kanału w Fabrixa — wybór typu integracji: Shopify, WooCommerce, niestandardowy API lub partner drukarski, za pomocą formularza połączenia z WooCommerce
Shopify

OAuth jednym kliknięciem

Nie trzeba kopiować żadnych kluczy. Wystarczy autoryzować Fabrixa w panelu administracyjnym Shopify, a połączenie zostanie nawiązane.

  1. W Create channel, wybierz Shopify.
  2. Zatwierdź połączenie w panelu administracyjnym Shopify (OAuth) — nie trzeba kopiować żadnych kluczy.
  3. Produkty i zamówienia są synchronizowane automatycznie. Każde nowe zamówienie z Shopify jest importowane do Fabrixa i trafia do produkcji.
WooCommerce

Połącz się za pomocą kluczy REST API

Sklep oparty na WordPressie łączy się za pomocą pary kluczy REST do odczytu i zapisu — wygenerowanych w WooCommerce i wprowadzonych jednorazowo w Fabrixa.

  1. W WooCommerce: Settings → Advanced → REST API → Add key z Odczyt/Zapis uprawnienia.
  2. Wklej ck_ klucz, cs_ oraz domenę Państwa sklepu w polu Fabrixa.
  3. Zapisz — zamówienia zsynchronizują się automatycznie po nawiązaniu połączenia. Zasady importu można zmienić później w ustawieniach kanału.

Sprzedajesz produkty na zamówienie? Fabrixa Studio — edytor projektów typu „white label” — jest dostępny również w sklepach Shopify i WooCommerce, dzięki czemu klienci mogą personalizować produkty pod własną marką. Zobacz Fabrixa Studio →

account.fabrixa.com/channels
Widok „Kanały Fabrixa” — połączone kanały sprzedaży Shopify, WooCommerce i API wyświetlane obok siebie, wraz ze zsynchronizowanymi produktami, zaimportowanymi zamówieniami oraz przychodami w podziale na kanałyWidok „Kanały Fabrixa” — połączone kanały sprzedaży Shopify, WooCommerce i API wyświetlane obok siebie, wraz ze zsynchronizowanymi produktami, zaimportowanymi zamówieniami oraz przychodami w podziale na kanały
Jeden pulpit nawigacyjny

Każdy kanał, każde zamówienie – jeden widok.

Sklepy podłączone do systemu znajdują się obok kanałów API i kanałów partnerskich w widoku „Kanały” — z synchronizowanymi produktami, otrzymanymi zamówieniami, ostatnio zaimportowanym numerem referencyjnym oraz przychodami w podziale na kanały. Gdy będziesz gotowy, przełącz kanał ze stanu „wersja robocza” na „aktywny”; nie spowoduje to żadnych zmian w dalszych etapach procesu.

A może zamierzasz stworzyć własną witrynę sklepową lub własną platformę POD? Dalsza część tego przewodnika dotyczy rozwiązania API — od uwierzytelnienia do realizacji zamówienia w czterech krokach.

Wymagania wstępne

Co należy przygotować przed rozpoczęciem.

Trzy kroki pozwalają przejść od zera do aktywnego zamówienia. Wszystkie z nich są realizowane za pośrednictwem panelu Fabrixa lub przez inżyniera ds. rozwiązań.

01
Dane uwierzytelniające API

Token dostępu aplikacji oraz klucz aplikacji. Oba są wymagane przy każdym żądaniu — token w nagłówku „Authorization”, a klucz w nagłówku „X-Application-Key”. Utwórz kanał sprzedaży w panelu użytkownika, aby wygenerować je natychmiast — bez konieczności wysyłania żądania.

02
Punkt końcowy webhooka

Publicznie dostępny punkt końcowy HTTPS, który przyjmuje żądania POST w formacie JSON. Podczas prac programistycznych można korzystać z localhostu poprzez tunel. Przed przetworzeniem należy zweryfikować podpis HMAC-SHA256 w każdej treści żądania.

03
Pliki graficzne

Plik z grafiką — w formacie PDF, TIFF, JPG lub PNG — dostępny przez protokół HTTPS bez konieczności uwierzytelniania. Kolory w systemie RGB, maksymalnie 50 MB i 15 000 pikseli na stronę. W przypadku wielostronicowych plików PDF każda strona znajduje się na osobnej warstwie. Pobieramy plik i tworzymy odpowiednie pliki do druku podczas renderowania zlecenia.

Krok 1 — Uwierzytelnienie

Sprawdź swoje dane uwierzytelniające za pomocą polecenia ping.

Każde żądanie jest kierowane na adres URL bazowy https://api.fabrixa.com/v2/integration przy ustawionych obu nagłówkach. GET /ping sprawdza, czy token i klucz są prawidłowe, zanim wykonasz jakąkolwiek inną czynność.

Status 401 oznacza, że brakuje nagłówka lub token został unieważniony. Status 403 oznacza, że dane uwierzytelniające są prawidłowe, ale brakuje uprawnień do danego zasobu.

GET /v2/integration/ping
# Verify auth before anything else
curl https://api.fabrixa.com/v2/integration/ping \
  -H "Accept: application/json" \
  -H "Authorization: Bearer APPLICATION_ACCESS_TOKEN" \
  -H "X-Application-Key: APPLICATION_KEY"

# 200 OK   → credentials valid
# 401      → missing header or revoked token
# 403      → valid, but no access to the resource
Krok 2 — Wpisz produkty

Sprawdź, jakie modele SKU są dostępne na Państwa koncie.

Katalog zwraca warianty produktów wraz z ich kodami SKU i variant_id. Każda odpowiedź z listy jest zawarta w standardowym links / meta / data kopertę, więc należy oznaczyć strony za pomocą next_page link. Buforowanie lokalne — katalog nie jest generowany przy każdym żądaniu.

Pełne informacje na ten temat znajdują się w Dokumentacja Swagger.

GET /v2/integracja/produkty
GET /v2/integration/products?page=1

{
  "links": {
    "self":      ".../products?page=1",
    "next_page": ".../products?page=2",
    "prev_page": null
  },
  "meta":  { "total": 248, "current_page": 1, "per_page": 10 },
  "data": [
    { "id": 1306, "name": "Unisex AOP T-shirt", "SKU": "COF099191" }
  ]
}
Krok 3 — Złóż zamówienie

Wystarczy jedno wywołanie metody POST, aby zlecenie trafiło do produkcji.

Wyślij rows (SKU + ilość + plik PDF jako źródło), customer oraz shipping_address. Ustal własny number jako odniesienie — jeśli go pominiesz, wygenerujemy je. Zapisz zwrócony identyfikator zamówienia Fabrixa przy swoim zamówieniu.

Zamówienia studia zastępują sources plik z cart_item_key zapisanego projektu; wszystko inne pozostaje bez zmian.

POST /v2/integration/orders
POST /v2/integration/orders

{
  "number":       "ORD-2026-0142",
  "purchased_at": "2026-05-28 14:22:01",
  "rows": [
    {
      "sku":      "COF099191",
      "quantity": 1,
      "sources": [
        { "type": "file", "url": "https://cdn.you.com/art/9812.pdf" }
      ]
    }
  ],
  "customer": {
    "first_name": "Maria", "last_name": "Silva",
    "email": "maria@example.com", "phone": "+351912345678"
  },
  "shipping_address": {
    "address": "Rua do Carmo 42", "city": "Lisboa",
    "postal_code": "1200-094",
    "country_code": "PT", "country": "Portugal"
  }
}
Krok 4 — Webhooki

Bądź na bieżąco z cyklem życia zamówienia.

Ustaw adres URL webhooka w panelu sterowania. Wysyłamy żądanie POST order.created oraz order.updated wraz z pełną treścią zamówienia oraz nagłówkami x-webhook-signature (HMAC-SHA256) i x-webhook-topic na niego. Zweryfikuj podpis, zwróć kod 200 szybko, przetwarzaj asynchronicznie.

Wszystkie zdarzenia oraz fragmenty kodu służące do weryfikacji znajdują się na stronie Podręcznik dotyczący webhooków.

POST → Państwa punkt końcowy
# Request headers
content-type:       application/json
x-webhook-topic:    order.updated
x-webhook-signature: YmEwNjBhMGMy...AxMw==

# Body (truncated)
{
  "id": 23069,
  "number": "1250211835",
  "status": "imported",
  "fulfillment_status": "unfulfilled",
  "updated_at": "2026-05-28T07:43:52Z"
}
Błędy i limity częstotliwości

Czego można się spodziewać, gdy coś pójdzie nie tak.

Błędy są zwracane w formacie JSON, nigdy w HTML. Plik errors.messages tablica zawiera nazwy elementów, które nie przeszły walidacji; w przypadku błędu 400 wyświetla listę pól, które nie przeszły walidacji.

400 / 401 / 403 / 404

Błąd weryfikacji, brakujące lub unieważnione dane uwierzytelniające, niewystarczające uprawnienia lub nieznany zasób.

429 Zbyt wiele żądań

30 żądań na aplikację na minutę. X-RateLimit-Limit oraz X-RateLimit-Remaining znajdują się w każdej odpowiedzi.

5xx

Po stronie serwera. Należy spróbować ponownie, stosując algorytm back-off; jeśli problem nadal występuje, należy przesłać identyfikator żądania do inżyniera ds. rozwiązań.

Komunikat o błędzie
{
  "links": { "self": ".../v2/integration/orders" },
  "meta":  [],
  "errors": {
    "messages": [
      "Application Key is not specified."
    ]
  }
}
Najczęściej zadawane pytania

Integracja – odpowiedź

Ile żądań typu API na minutę obsługuje protokół Fabrixa?

Fabrixa zezwala na 30 żądań na aplikację na minutę; przekroczenie tego limitu powoduje zwrot odpowiedzi 429 Too Many Requests. Nagłówki X-RateLimit-Limit i X-RateLimit-Remaining są dołączane do każdej odpowiedzi, dzięki czemu integracja może śledzić pozostały limit przed jego wyczerpaniem.

Jakie formaty plików graficznych akceptuje firma Fabrixa jako materiały do druku?

Fabrixa akceptuje pliki graficzne w formatach PDF, TIFF, JPG lub PNG w kolorystyce RGB, o rozmiarze do 50 MB i rozdzielczości do 15 000 pikseli na stronę, dostępne przez protokół HTTPS bez konieczności uwierzytelniania. Wielostronicowe pliki PDF są traktowane jako jedna strona na warstwę, a serwis Fabrixa pobiera plik samodzielnie w celu utworzenia prawidłowych plików do druku podczas renderowania zlecenia.

Jak podłączyć sklep WooCommerce do Fabrixa?

W WooCommerce przejdź do sekcji „Ustawienia”, następnie „Zaawansowane”, a potem „REST API” i dodaj klucz z uprawnieniami do odczytu i zapisu. Wklej uzyskany klucz „ck_”, sekret „cs_” oraz domenę swojego sklepu w polu „Fabrixa”, zapisz zmiany, a zamówienia zsynchronizują się automatycznie — reguły importu można później zmienić w ustawieniach kanału.

Czego potrzebuję przed złożeniem pierwszego zamówienia na produkty Fabrixa i API?

Przed złożeniem pierwszego zamówienia potrzebny jest token dostępu do aplikacji oraz klucz aplikacji z kanału sprzedaży, publiczny punkt końcowy webhooka HTTPS, który weryfikuje podpis HMAC-SHA256 w każdym ładunku, a także grafika dostępna przez protokół HTTPS bez konieczności uwierzytelniania. Wszystkie trzy elementy są wydawane lub konfigurowane w panelu Fabrixa, a dane uwierzytelniające są generowane natychmiast po utworzeniu kanału sprzedaży.

Co oznacza odpowiedź 403 z serwera Fabrixa API?

Kod błędu 403 oznacza, że token dostępu aplikacji i klucz aplikacji są prawidłowe, ale brakuje uprawnień do żądanego zasobu. Różni się to od kodu 401, który oznacza brak wymaganego nagłówka lub unieważnienie tokenu; oba przypadki można sprawdzić za pomocą żądania GET /ping przed kontynuowaniem pracy.

Utknąłeś?

Porozmawiaj z inżynierem ds. rozwiązań.

W sprawach dotyczących wsparcia integracyjnego, problemów z danymi uwierzytelniającymi lub kanałami sprzedaży, indywidualnych wymagań lub planowania wydajności — prosimy o kontakt z działem technicznym ds. kanałów sprzedaży (SE), a nie z działem sprzedaży. Odpowiedź w ciągu jednego dnia roboczego.