Przejdź do głównej treści
Żądanie Fabrixa API wyświetlone na ekranie — dane JSON zamówienia wraz z nagłówkami uwierzytelniającymi, dotyczące 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.

Utwórz kanał → wybierz 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_ hasło 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 Twoją 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ść.

A 401 oznacza, że brakuje nagłówka lub token został unieważniony. A 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 w formacie Fabrixa przy swoim zamówieniu.

Zamiana zamówień studia sources dla cart_item_key — wszystko inne jest identyczne.

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 do niego wraz z pełną treścią zamówienia, a x-webhook-signature (HMAC-SHA256) oraz x-webhook-topic nagłówek. Zweryfikuj podpis, zwróć 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. Spróbuj ponownie, stosując algorytm back-off; jeśli problem nadal występuje, prześlij 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."
    ]
  }
}
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.