Case study · Integracje · WooCommerce · API

API dropshippingowe dla producenta listew: 80% zamówień od partnerów bez ręcznego przepisywania

Producent listew wykończeniowych chciał, żeby sklepy partnerskie mogły sprzedawać jego towar bez własnego magazynu, a zamówienia trafiały prosto do systemu wysyłek. Zbudowaliśmy API dropshippingowe na WooCommerce, które samo liczy rabaty B2B, sprawdza stany i przekazuje zamówienia do Sellasist zgodne co do grosza. Po dwóch miesiącach przez API przechodzi około 80% wszystkich zamówień sklepu.

Klient produkuje listwy przypodłogowe, sufitowe i ścienne: z polistyrenu, MDF (także w wersji ognioodpornej i wilgocioodpornej), XPS i stali nierdzewnej. Sprzedaje przez własny sklep na WooCommerce, a zamówienia, wysyłki i faktury obsługuje w Sellasist. Firmy, które same sprzedają materiały wykończeniowe, chciały mieć te listwy w swojej ofercie, ale bez trzymania towaru u siebie i bez przepisywania każdego zamówienia ręcznie.

Paczki białych listew sufitowych i przypodłogowych na przenośniku rolkowym w magazynie, w tle regały z zielonymi liniami światła
Ilustracja. Grafika wygenerowana przez AI (Magnific). Zrzutów z panelu nie pokazujemy, bo są w nim dane klientów końcowych.
~80%wszystkich zamówień sklepu przechodzi dziś przez API (361 z 453)
121 677 złbrutto w zamówieniach od partnerów, głównie we wrześniu i październiku
0odrzuconych zamówień i duplikatów w ostatnich 30 dniach

Punkt wyjścia

Dropshipping wygląda prosto: partner sprzedaje, producent wysyła. Diabeł siedzi w szczegółach, a tu było ich sporo:

  • Ceny B2B są indywidualne. Firmy z kontem Biznes mają osobne rabaty na poszczególne kategorie i grupy produktów. Partner nie może sam wpisywać ceny w zamówieniu, bo wtedy rabat kontroluje on, a nie producent.
  • Część towaru sprzedaje się na metry. W sklepie cena listwy to cena za metr, a do partnera trafia sztuka o konkretnej długości. Cena za sztukę musi wynikać z długości produktu.
  • Zamówienia muszą od razu lądować w Sellasist. Tam powstaje list przewozowy, faktura i termin płatności. Wszystko, co do Sellasist dotrze krzywo, ktoś musi poprawiać ręcznie.
  • Partnerzy mają różne systemy. Jeden ma sklep, inny ERP. Każdy inaczej nazywa metody wysyłki i inaczej ponawia wysyłkę zamówienia, gdy coś pójdzie nie tak z siecią.

Cel: partner podłącza swój system raz, a potem zamówienia płyną same, z właściwą ceną, właściwą wysyłką i właściwym terminem płatności.

Rozwiązanie: API dropshippingowe wewnątrz WooCommerce

Zamiast osobnej platformy napisaliśmy wtyczkę do istniejącego sklepu. Dzięki temu katalog, stany i ceny mają jedno źródło: to samo, z którego korzysta sklep. Każdy partner dostaje własny klucz API, który w bazie przechowujemy wyłącznie jako skrót (hash), więc nawet wyciek bazy nie zdradza kluczy.

EndpointDo czego służy partnerowi
GET /pingTest połączenia i klucza.
GET /productsKatalog z ceną już po rabacie partnera, wymiarami, wagą i zdjęciami, stronicowany.
GET /products/{sku}Jeden produkt po SKU.
GET /stockSame stany magazynowe, lekkie zapytanie do częstej synchronizacji.
POST /ordersZłożenie zamówienia z numerem z systemu partnera.
GET /orders/{id}Status, numer przesyłki i link do śledzenia.
POST /orders/{id}/statusAnulowanie albo zwrot, dopóki towar nie wyjechał z magazynu.

Najważniejszy jest POST /orders. Zanim zamówienie powstanie, przechodzi przez kilka bramek. Zobacz, co dzieje się w każdym scenariuszu:

Symulator · dane fikcyjne

Co się dzieje, gdy partner wysyła zamówienie?

Kliknij scenariusz, a zobaczysz, przez które kroki przejdzie zamówienie i co odpowie API. Kroki i odpowiedzi odpowiadają temu, jak działa wdrożony system.

  1. 1 · PartnerSystem partnera wysyła zamówienienumer, pozycje, adres, wysyłka
  2. 2 · KluczWeryfikacja klucza APIskrót porównany z bazą
  3. 3 · DuplikatCzy ten numer już był?blokada na poziomie bazy
  4. 4 · StanyCzy jest towar na wszystkie pozycje?przed utworzeniem zamówienia
  5. 5 · CenaCena i rabat liczone u producentacena z żądania jest ignorowana
  6. 6 · SklepZamówienie w WooCommercestan zdjęty automatycznie
  7. 7 · SellasistWysyłka, faktura, termin płatnościbez ręcznego przepisywania
// tu pojawi się odpowiedź API

Wybierz scenariusz i wyślij zamówienie.

Miniaturowa makieta: biała fabryka pośrodku połączona zielonymi świetlnymi ścieżkami z kilkoma sklepami, po ścieżkach jadą małe paczki
Ilustracja. Jeden katalog i jeden magazyn, wiele sklepów partnerskich. Grafika wygenerowana przez AI (Magnific).

Cena zawsze liczona u producenta

To była najważniejsza zasada projektu. Partner w zamówieniu podaje tylko SKU i ilość. Nawet jeśli wyśle cenę, system ją pomija i liczy własną:

  • Rabat partnera to jeden procent na cały katalog, ustawiany w panelu.
  • Rabat Biznes działa wtedy, gdy e-mail partnera pasuje do konta Biznes w sklepie. Wtyczka sama łączy te konta przy zapisie partnera. Rabat jest liczony per produkt: najpierw według grupy (tagu) produktu, potem według kategorii.
  • Wygrywa wyższy z dwóch rabatów. Dla listew sprzedawanych na metry cena za metr jest mnożona przez długość sztuki, dokładnie tak samo jak w koszyku sklepu.

W praktyce rabat dla partnerów idzie z konta Biznes: 356 z 360 zamówień przez API dostało go automatycznie, bez ręcznego liczenia.

Kalkulator · przykładowe rabaty

Który rabat wygrywa?

Wybierz produkt, ustaw rabat partnera i włącz albo wyłącz konto Biznes. Spróbuj też wpisać „swoją” cenę w polu partnera.

…rabat Biznes dla tego produktu
…rabat zastosowany w zamówieniu
…cena netto za sztukę policzona przez producenta

Ceny i procenty są przykładowe. Mechanika jest taka jak we wdrożeniu: grupa produktu ma pierwszeństwo przed kategorią, wygrywa wyższy rabat, cena z żądania nie ma wpływu na wynik.

Cztery rzeczy, których nie widać w dokumentacji

Samo API to połowa pracy. Druga połowa zaczęła się, gdy prawdziwe zamówienia zaczęły płynąć do Sellasist. Każdy z poniższych problemów wyszedł dopiero na produkcji i każdy kosztowałby zespół klienta codzienne ręczne poprawki.

1. Gdzie znika grosz

Sellasist czyta z zamówienia cenę jednostkową i wymaga, żeby cena jednostkowa razy ilość dawała dokładnie wartość pozycji. Standardowy WooCommerce liczy VAT od sumy netto całej pozycji i zaokrągla dopiero na końcu. Przy większych ilościach te dwie metody rozjeżdżają się o kilka groszy, a wtedy Sellasist rozbija pozycję na dwie linie. Przy listwach to nie jest wyjątek: 327 z 393 pozycji w zamówieniach od partnerów ma ilość większą niż 1.

Rozwiązanie: liczymy najpierw cenę jednostkową brutto, mnożymy przez ilość, a VAT wyznaczamy jako różnicę. Podatki ustawiamy ręcznie na każdej pozycji i na wysyłce, żeby WooCommerce ich potem nie przeliczył po swojemu.

Policz sam

Czy ta pozycja rozjedzie się w Sellasist?

Domyślne wartości to prawdziwy przypadek z produkcji: 22 sztuki po 20,77 zł netto, VAT 23%. Zmień cenę i ilość.

Standardowe liczenie WooCommerce

Netto pozycji
VAT od sumy
Brutto pozycji
Cena jedn. × ilość

Nasz algorytm

Cena jedn. brutto
Brutto pozycji
VAT jako różnica
Cena jedn. × ilość

Zgadza się co do grosza

2. Kurier czy paczkomat?

Na początku wszystkie zamówienia od partnerów miały w WooCommerce tę samą metodę wysyłki. Sellasist mapuje wysyłki po identyfikatorze metody, więc nie umiał odróżnić kuriera od paczkomatu i zamówienia wpadały z komunikatem o braku zmapowanej wysyłki. Okazało się też, że wolny tekst w zamówieniu nie wystarcza: Sellasist buduje listę do mapowania z metod zarejestrowanych w strefie wysyłki sklepu.

Dodaliśmy więc pięć prawdziwych metod wysyłki (kurier, paczkomat, odbiór osobisty, darmowa i zbiorcza) widocznych w API sklepu, ale niewidocznych dla klientów w koszyku. Partner może podać typ wysyłki wprost albo tylko jej nazwę, a system sam rozpozna, o co chodzi. Koszt wysyłki pochodzi z tego samego cennika, którego używa Sellasist. Po jednorazowym ustawieniu reguł w panelu Sellasist przemapował też wcześniejsze zamówienia.

Tłumacz metod wysyłki

Jak partner nazwał wysyłkę i co z tego wyjdzie?

Wpisz nazwę metody tak, jak mógłby ją wysłać sklep partnera, albo kliknij przykład.

…metoda w WooCommerce
…jak widzi ją Sellasist po zmapowaniu
…koszt wysyłki brutto w zamówieniu

3. Faktura opłacona, zanim ktokolwiek zapłacił

Jeden z partnerów, który składa zamówienia prosto ze swojego systemu ERP, zgłosił, że faktury trafiają do Sellasist jako opłacone, choć ma 30 dni na zapłatę. Przyczyna siedziała w WooCommerce: ustawienie zamówieniu statusu „w realizacji” automatycznie wpisuje datę zapłaty. Sellasist widział tę datę i uznawał fakturę za zapłaconą, pomijając termin z grupy kupujących. Poprawka to jedna linia, która czyści datę zapłaty po ustawieniu statusu. Znalezienie jej wymagało porównania, co dokładnie Sellasist czyta z zamówienia.

Przed i po

Co widzi księgowość?

Przełącz, żeby zobaczyć tę samą fakturę przed poprawką i po niej.

4. Numer zamówienia partnera tam, gdzie go szukają

Magazyn i obsługa klienta pracują w Sellasist, a nie w WooCommerce. Numer zamówienia z systemu partnera był zapisany w danych zamówienia, ale Sellasist go nie pokazywał. Teraz trafia jako pierwsza linia notatki do zamówienia („Nr u partnera: …”), którą Sellasist wyświetla od razu. Gdy partner dzwoni w sprawie paczki, wystarczy jego numer.

Dlaczego to ważne

Każdy z tych czterech problemów wyglądał na drobiazg. Razem oznaczałyby, że przy około dziesięciu zamówieniach w każdy dzień roboczy ktoś w firmie poprawia wysyłki, rozbite pozycje i statusy faktur zamiast zajmować się sprzedażą. Integracja jest gotowa dopiero wtedy, gdy dane po drugiej stronie nie wymagają ręcznej obróbki.

Dokumentacja dla partnerów i dla zespołu

Do API przygotowaliśmy dwa dokumenty PDF. Dla partnerów: połączenie i klucz, katalog, składanie zamówień, statusy, kody błędów, zasady współpracy i gotowy przykład w Pythonie. Dla zespołu klienta: dodawanie i edycja partnerów, obsługa zamówień, rabaty, dziennik API i odpowiedzi na typowe pytania. Dziennik API zapisuje każde wywołanie, więc pytanie „u nas nie doszło” da się sprawdzić w minutę.

Pracownik magazynu owija folią paczkę białych listew przypodłogowych, w tle kartony i samochód dostawczy
Ilustracja. Zamówienie od partnera kończy się tak samo jak zamówienie ze sklepu: paczką z magazynu producenta. Grafika wygenerowana przez AI (Magnific).

Efekty

Pierwszy partner testował API od lipca, a pod koniec sierpnia przeszedł na nie w pełni. Od tego momentu zamówienia od partnerów stanowią większość sprzedaży sklepu.

Zamówienia przez API

Od testów do 80% sprzedaży w dwa miesiące

Liczba zamówień od partnerów w kolejnych miesiącach. Najedź na słupek, żeby zobaczyć wartość brutto.

Dane z bazy sklepu, stan na 23 października 2026. Październik obejmuje 23 dni.

  • 361 zamówień przez API o wartości 121 677 zł brutto, 3682 sztuki towaru.
  • Około 80% wszystkich zamówień sklepu w tym okresie przyszło od partnerów (361 z 453).
  • 5444 wywołania API w 30 dni: 4033 zapytania o katalog, 1176 o stany i 235 nowych zamówień.
  • 0 odrzuconych zamówień i 0 duplikatów w tym samym okresie. Partner pobiera stany na bieżąco, dlatego zamówienia trafiają na towar, który faktycznie jest w magazynie.
  • Rabaty bez ręcznego liczenia: 356 z 360 zamówień z automatycznym rabatem Biznes.
  • Wysyłka zmapowana w Sellasist dla wszystkich nowych zamówień, bez komunikatu o brakującym sposobie wysyłki.

Kolejni partnerzy podłączają się na tych samych zasadach: dostają klucz, dokumentację i od pierwszego dnia te same ceny, stany i reguły co pierwszy.

Podobne integracje sklepów z systemami ERP, CRM i wysyłkowymi robimy w ramach usługi integracje ERP/CRM. Jeśli zastanawiasz się, co jeszcze da się zautomatyzować w sprzedaży B2B, zajrzyj do artykułów o automatyzacji działu sprzedaży B2B i o automatyzacji w handlu hurtowym.

Najczęstsze pytania o API dropshippingowe

Czym jest API dropshippingowe w WooCommerce?

To interfejs, przez który sklepy partnerskie pobierają katalog, ceny i stany producenta oraz składają zamówienia prosto do jego sklepu na WooCommerce. Producent wysyła towar do klienta końcowego, a partner nie trzyma magazynu i nie przepisuje zamówień ręcznie.

Czy partner może sam ustalić cenę w zamówieniu przez API?

Nie. W tym wdrożeniu partner podaje tylko SKU i ilość, a cenę zawsze liczy sklep producenta: z rabatem partnera albo z rabatem Biznes przypisanym do kategorii i grup produktów, zależnie od tego, który jest wyższy.

Jak zamówienia z API trafiają do Sellasist?

Sellasist pobiera je ze sklepu WooCommerce jak zwykłe zamówienia. Żeby nie wymagały poprawek, każde zamówienie ma zarejestrowaną metodę wysyłki i płatności, podatki policzone tak, żeby cena jednostkowa razy ilość dawała wartość pozycji, pustą datę zapłaty przy odroczonym terminie i numer zamówienia partnera w notatce.

Co się stanie, jeśli partner wyśle to samo zamówienie dwa razy?

Drugie zamówienie nie powstanie. Para „partner i numer zamówienia” jest unikalna w bazie, więc powtórka zwraca istniejące zamówienie z flagą „duplicate”, nawet jeśli oba żądania przyjdą w tej samej chwili.

Czy do API można podłączyć system ERP zamiast sklepu internetowego?

Tak. API przyjmuje zwykłe żądania HTTP z kluczem w nagłówku, więc może z niego korzystać zarówno sklep, jak i system ERP. Jeden z partnerów w tym wdrożeniu składa zamówienia bezpośrednio ze swojego ERP.

Dlaczego Sellasist rozbijał pozycje zamówienia na dwie linie?

Sellasist wymaga, żeby cena jednostkowa brutto pomnożona przez ilość dawała dokładnie wartość pozycji. Standardowy WooCommerce liczy VAT od sumy netto pozycji, więc przy większych ilościach wynik różnił się o kilka groszy. Liczymy najpierw cenę jednostkową brutto, a VAT wyznaczamy jako różnicę.

Twoja integracja

Chcesz, żeby partnerzy zamawiali u Ciebie bez maili i przepisywania?

Umów bezpłatną rozmowę. Sprawdzimy, jak połączyć Twój sklep, ERP albo system wysyłek z partnerami tak, żeby ceny, stany i faktury zgadzały się bez ręcznych poprawek.

Umów rozmowę

lub zobacz ofertę →

Idziemy dalej

Podobał Ci się ten artykuł?

Jeśli po lekturze czujesz, że w Twojej firmie też są procesy warte przebudowy, umów bezpłatną rozmowę. Sprawdzimy razem, gdzie realnie wycieka sprzedaż i co ma sens wdrożyć w pierwszej kolejności.

Umów rozmowę