Import produktów z pliku XML od hurtowni udaje się wtedy, gdy zanim wgrasz pierwszy produkt, ustalisz trzy rzeczy: co jest niezmiennym identyfikatorem produktu, skąd biorą się ceny i co wygrywa przy każdej kolejnej aktualizacji. Sam import to najłatwiejszy etap - klikasz, czekasz, masz kilka tysięcy produktów. Problem zaczyna się w drugim tygodniu, gdy hurtownia zmieni strukturę pliku, a Twoje ręcznie poprawione opisy zostaną nadpisane wersją hurtowni.
Poniżej rozpisuję to tak, jak sam ustawiam takie integracje. Tekst jest o WooCommerce i BaseLinkerze, ale logika jest ta sama na każdej platformie.
Czym jest plik XML od hurtowni
Plik XML od hurtowni to tekstowa lista jej asortymentu pod stałym adresem internetowym - z nazwą, indeksem, ceną zakupu, stanem magazynowym, kategorią, zdjęciami i parametrami. Hurtownia odświeża go co jakiś czas, a Twój sklep albo BaseLinker cyklicznie ten adres odpytuje i przenosi zawartość do siebie. Formaty, które dostaniesz w praktyce:
| Format | Uwaga |
|---|---|
| XML | najczęstszy i najpojemniejszy - obsłuży warianty i wiele zdjęć |
| CSV / XLSX | prosty, ale słabo radzi sobie z wariantami i galerią |
| API | najlepszy do stanów i cen na żywo, wymaga integracji |
| Feed pod konkretny system | wygodny, ale uproszczony względem pełnego XML-a |
Nie ma jednego standardu - dwie hurtownie z tej samej branży nazwą to samo pole inaczej. Dlatego całą robotę zjada mapowanie, a nie samo pobranie pliku.
Klucz produktu, czyli decyzja, od której zależy wszystko
Klucz produktu to jedno pole, po którym system rozpoznaje, że produkt z pliku i produkt w Twoim sklepie to ten sam towar. Bez stabilnego klucza każda aktualizacja tworzy duplikaty zamiast podmieniać dane - stąd sklepy, w których po miesiącu jest trzy razy więcej produktów niż w hurtowni. Kandydaci, od najlepszego:
- Indeks hurtowni (SKU dostawcy) - stały przez lata, unikalny u jednego dostawcy. W BaseLinkerze to ten „index”, do którego wszystko się przywiązuje
- EAN / kod kreskowy - dobry przy towarze markowym i planach na drugiego dostawcę tego samego produktu
- Własne SKU z prefiksu dostawcy i jego indeksu, na przykład
AB-10233- najlepsze przy dwóch i więcej hurtowniach, bo od razu widzisz, skąd jest towar - Nazwa produktu - nigdy. Nazwy zmieniają się co kwartał, a po każdej zmianie robi się duplikat
Raz wybranego klucza już nie zmieniasz. Zmiana klucza w działającym sklepie to w praktyce import od nowa, z ręcznym scalaniem historii zamówień.
Mapowanie kategorii i parametrów
Mapowanie to tabela tłumaczeń: kategoria z pliku hurtowni po lewej, Twoja kategoria po prawej. Robi się je raz, przed pierwszym pełnym importem, i tego etapu nie da się przeskoczyć bez konsekwencji. Co ustalasz:
- Kategorie - hurtownie budują drzewko pod magazyn, nie pod klienta. Trzy poziomy typu „Elektronika > Kable > Kable HDMI” bywają u Ciebie jedną kategorią. Sklejaj, nie kopiuj jeden do jednego
- Atrybuty - kolor, rozmiar, moc. To one napędzają filtry, więc wartości normalizuj od razu: „czarny”, „Czarny” i „BLACK” muszą trafić do jednej
- Producent - osobne pole, nie fragment nazwy. Ludzie szukają po marce
- Produkty do pominięcia - gabaryty, towar niebezpieczny, ceny poniżej progu opłacalności. Filtr ustawiasz na wejściu, nie kasujesz ręcznie po imporcie
Mapowanie trzymaj poza głową - w arkuszu albo w konfiguracji integracji; za pół roku, przy dokładaniu drugiej hurtowni, oszczędzi Ci dzień pracy. Szerzej o mechanizmach wgrywania danych piszę przy imporcie i eksporcie produktów w WooCommerce.
Ceny - narzuty, progi i zaokrąglenia
Cena w sklepie nigdy nie jest ceną z pliku hurtowni przepisaną wprost - jest wynikiem reguły, którą ustawiasz raz i która przelicza się przy każdej aktualizacji. Minimalny zestaw, który sprawdza się w większości sklepów:
- Narzut progowy zamiast jednego procentu - na tani drobiazg procent musi być wyższy niż na drogi sprzęt, inaczej albo zarobisz grosze, albo wypadniesz z rynku
- Marża minimalna kwotowa - dolna granica w złotówkach, poniżej której narzut procentowy nie zejdzie
- Doliczenie kosztu obsługi - pakowanie, prowizja bramki, zwroty. To realny koszt sztuki
- Zaokrąglenie końcówki - do 0,99 albo do pełnych złotówek; drobiazg, a robi porządek w ofercie
- Wyjątki na sztuki - lista indeksów z ceną ustawianą ręcznie, której automat nie rusza
Ostatni punkt jest ważniejszy, niż wygląda: bez mechanizmu wyjątków każda ręczna korekta ceny żyje do najbliższej aktualizacji i znika. Ustawiam to jako pole „cena zablokowana” przy produkcie - automat je widzi i omija. A jeśli sprzedajesz też hurtowo, ceny dla kontrahentów są osobną warstwą i nie mieszaj ich z narzutem detalicznym - to logika panelu zamówień B2B.
Zdjęcia, opisy i to, co nadpisujesz
Zdjęcia i opisy to najcięższa część importu - dosłownie, bo zajmują czas i miejsce na serwerze. Reguła, którą stosuję: zdjęcia bierz z hurtowni, opisy pisz u siebie.
- Zdjęcia - pobieraj raz, przy pierwszym imporcie, i nie odświeżaj przy każdej synchronizacji. Skalowanie i konwersja do WebP przy wgrywaniu to konieczność - inaczej po roku masz kilkadziesiąt gigabajtów i sklep, który ładuje się wolno
- Opisy - hurtownia daje wszystkim to samo. Kluczowe produkty muszą mieć opis własny, więc opis to pole, którego automat po pierwszym imporcie już nie dotyka
- Nazwy - warto raz posprzątać z kodów magazynowych typu „(2 szt/op) NOWE”
Praktyczny model: przy każdej aktualizacji automat odświeża wyłącznie stan magazynowy, cenę zakupu i status dostępności. Reszta pól jest oznaczona jako „moja” i zostaje nietknięta.
Warianty (rozmiar, kolor) sprawdź przed pierwszym importem: każda odmiana musi mieć własny indeks, inaczej nie zsynchronizujesz stanów per rozmiar, a plik musi mieć pole grupujące, po którym odmiany skleją się w jeden produkt. Bez takiego pola zostaje sprzedaż odmian osobno albo sklejanie po fragmencie nazwy - to już robota programistyczna.
Harmonogram aktualizacji - co i jak często
Nie wszystko odświeża się w tym samym rytmie. Rozdzielenie tego na osobne zadania jest tańsze dla serwera i bezpieczniejsze dla danych.
| Co | Jak często | Dlaczego tak |
|---|---|---|
| Stan magazynowy | co 15-60 minut | anulowane zamówienia biorą się z towaru, którego już nie ma |
| Ceny zakupu | 1-2 razy dziennie | zmieniają się rzadziej, a przeliczanie obciąża sklep |
| Nowe produkty | raz dziennie, w nocy | nowość może poczekać do rana |
| Zdjęcia i opisy | tylko przy pierwszym imporcie | odświeżanie nadpisuje Twoją pracę i zapycha dysk |
| Wycofane produkty | raz dziennie | nie kasuj - ustaw jako niedostępne, żeby nie stracić adresu |
Ostatni wiersz jest istotny: kasowanie produktów, które zniknęły z pliku hurtowni, to prosta droga do setek adresów przestających istnieć. Bezpieczniej ukryć produkt i zostawić stronę z informacją o niedostępności - szerzej piszę o tym przy synchronizacji stanów magazynowych.
BaseLinker czy import prosto do sklepu
BaseLinker ma sens, gdy sprzedajesz w kilku miejscach naraz - własny sklep plus Allegro i inne rynki. Wtedy jeden magazyn zasila wszystkie kanały i tam też robisz integrację Allegro z hurtownią. Import prosto do WooCommerce ma sens, gdy sklep jest jedynym kanałem - mniej warstw, mniej abonamentów, mniej miejsc, w których coś może się rozjechać.
| Kryterium | BaseLinker jako centrum | Import wprost do WooCommerce |
|---|---|---|
| Kilka kanałów sprzedaży | naturalne, po to powstał | trzeba dobudować |
| Gotowe integracje hurtowni | długa lista w panelu | zależy od wtyczki lub integracji na zamówienie |
| Koszt stały | abonament rosnący z liczbą zamówień | koszt wtyczki lub jednorazowe wdrożenie |
| Nietypowa logika cen i mapowań | ograniczona do tego, co daje panel | dowolna, bo to Twój kod |
| Zależność od jednego dostawcy usługi | wysoka | niska |
Cenniki narzędzi zmieniają się regularnie, więc przed decyzją sprawdź aktualne progi u źródła. Porównanie narzędzi rozpisałem przy alternatywach dla BaseLinkera, a automatyzacje na poziomie API - w BaseLinker API i automatyzacje.
Pięć wpadek, które widuję najczęściej
- Import bez testu na próbce - wgrywam najpierw 20-50 produktów, oglądam je w sklepie, dopiero potem puszczam całość
- Brak kopii zapasowej przed importem - cofanie źle zmapowanego importu bez kopii to dni pracy
- Aktualizacja co 5 minut na współdzielonym hostingu - sklep zwalnia i w szczycie potrafi przestać odpowiadać
- Zero monitoringu pliku - hurtownia zmienia strukturę XML-a bez uprzedzenia, a integracja cicho przestaje działać
- Publikacja od razu - nowe produkty niech wpadają jako szkice, do przejrzenia
Jak to zwykle wygląda u mnie
Zaczynam od bezpłatnej diagnozy: patrzę na plik od Twojej hurtowni, na sklep i na to, gdzie jeszcze sprzedajesz. Po tej rozmowie wiadomo, czy wystarczy dobra wtyczka i porządne mapowanie, czy potrzebna jest integracja pisana pod Twoją logikę cen - i co wychodzi taniej w utrzymaniu przez kolejne dwa lata.
Przy większej robocie dostajesz wycenę na piśmie przed startem: co się mapuje, co się aktualizuje, jak często i co się dzieje, gdy hurtownia zmieni format. Projekty tego typu mieszczą się zwykle w przedziale 5000-10000 zł netto, a jeśli integracja ma potem żyć i być pilnowana - wchodzi stała opieka od 1000 zł netto miesięcznie. Kwotę podaję po obejrzeniu, nigdy w ciemno.
Najczęstsze pytania
Ile produktów da się zaimportować do WooCommerce? Dziesiątki tysięcy, o ile sklep stoi na hostingu przygotowanym pod taki katalog i ma sensownie ustawione filtry oraz wyszukiwarkę. Granicą nie jest sama liczba produktów, tylko liczba wariantów i atrybutów - to one najmocniej obciążają bazę. Powyżej kilku tysięcy pozycji warto zaplanować optymalizację sklepu razem z importem, a nie po fakcie.
Czy import z hurtowni zaszkodzi mojemu SEO? Sam import nie, ale skopiowane opisy producenta bywają problemem - identyczną treść ma wtedy kilkadziesiąt sklepów naraz. Dlatego przy produktach, na których Ci zależy, opis pisze się własny, a resztę katalogu zostawia jak jest. Konkretnych pozycji nikt Ci nie zagwarantuje, bo zależą od konkurencji w Twojej niszy.
Co zrobić, gdy hurtownia zmieni strukturę pliku XML? Trzeba poprawić mapowanie po swojej stronie - i najlepiej dowiedzieć się o zmianie z alertu, a nie od klienta, który zamówił niedostępny towar. Dlatego przy każdej integracji ustawiam powiadomienie, gdy plik przestaje odpowiadać albo liczba pozycji zmienia się skokowo.
Czy mogę importować z dwóch hurtowni naraz? Tak i to częsty scenariusz, tylko wtedy klucz produktu musi mieć prefiks dostawcy, a system regułę rozstrzygającą, z której hurtowni brać towar dostępny u obu - zwykle decyduje cena zakupu albo czas dostawy. Bez tej reguły oferta zaczyna się rozjeżdżać już w pierwszym miesiącu.
Powiązane: Import i eksport produktów w WooCommerce · Synchronizacja stanów magazynowych · Sklepy e-commerce