Ręczne dodawanie produktów sprawdza się przy kilku pozycjach, ale przy setkach lub tysiącach rekordów szybko prowadzi do błędów cen, stanów i opisów. Automatyczny import produktów od dostawcy pobiera dane z API, XML, CSV lub FTP, dopasowuje je do struktury sklepu i cyklicznie aktualizuje wybrane pola. Najważniejsze nie jest jednak samo pobranie katalogu, lecz bezpieczne rozpoznawanie produktów, mapowanie danych i kontrola zmian.
Jak przebiega automatyczny import produktów?
Integracja łączy źródło danych dostawcy ze sklepem internetowym. Pierwsze uruchomienie tworzy bazę produktów, natomiast kolejne służą cyklicznej synchronizacji. To rozróżnienie ma znaczenie, ponieważ po utworzeniu kart produktów nie zawsze należy ponownie nadpisywać opisy, zdjęcia, adresy URL czy kategorie przygotowane przez sklep.
Typowy przepływ danych obejmuje sześć etapów:
- Pobranie danych – system pobiera plik z serwera dostawcy albo wysyła zapytania do API.
- Walidacja – sprawdza, czy dane zawierają wymagane pola, poprawne formaty cen, identyfikatory i wartości liczbowe.
- Mapowanie – przypisuje pola dostawcy do pól sklepu, a także przekształca kategorie, atrybuty, warianty i statusy dostępności.
- Porównanie – rozpoznaje, czy produkt już istnieje, korzystając z ustalonego identyfikatora.
- Aktualizacja – tworzy nowe rekordy albo zmienia wyłącznie pola wskazane w regułach synchronizacji.
- Raportowanie – zapisuje liczbę dodanych, zmienionych i odrzuconych produktów oraz wysyła alerty o błędach.
Przykładowo cena i stan magazynowy mogą zmieniać się przy każdym imporcie, podczas gdy opis SEO pozostaje pod kontrolą właściciela sklepu. Reguły powinny określać odpowiedzialność za każde pole: dostawca, sklep albo ręczna decyzja pracownika.
API, XML, CSV czy FTP – którą metodę wybrać?
Możliwości techniczne dostawcy wpływają na częstotliwość aktualizacji, kontrolę błędów i koszt wdrożenia. Poniższe zestawienie pokazuje typowe zastosowania poszczególnych metod:
| Metoda | Kiedy ją wybrać? | Ryzyka |
|---|---|---|
| API | Gdy ceny i stany muszą zmieniać się często, a dostawca udostępnia dokumentację | Limity zapytań, autoryzacja, przerwy w działaniu i niepełna dokumentacja |
| XML | Gdy hurtownia publikuje kompletny, regularnie aktualizowany katalog | Duże pliki, zmiana struktury i brak części pól |
| CSV | Przy prostszym katalogu albo imporcie wykonywanym kilka razy dziennie | Kodowanie znaków, format liczb, kolejność kolumn i ręczne modyfikacje pliku |
| FTP lub SFTP | Gdy dostawca odkłada pliki na serwerze w ustalonych odstępach | Dostępność pliku, dane logowania i brak pewności, czy pojawiła się nowa wersja |
API zwykle daje największą kontrolę, ale wymaga poprawnej dokumentacji i obsługi autoryzacji. XML lub CSV może być lepszym wyborem, jeśli dostawca udostępnia stabilny feed aktualizowany raz lub kilka razy dziennie. FTP opisuje sposób dostarczenia pliku, a nie jego strukturę, dlatego często występuje razem z XML albo CSV.
Jak uniknąć duplikatów i błędów mapowania?
Najczęstszy błąd polega na użyciu nazwy produktu jako głównego klucza. Nazwa może się zmienić po korekcie pisowni, dodaniu pojemności albo zmianie kolejności słów. Integracja potraktuje wtedy ten sam towar jako nowy i utworzy kolejną kartę.
Do rozpoznawania produktów używaj stabilnego identyfikatora, najlepiej w następującej kolejności:
- SKU dostawcy – kod przypisany produktowi w źródłowym katalogu
- EAN – kod pozwalający identyfikować produkt w wielu systemach
- niezmienny identyfikator z API – techniczny numer nadawany przez dostawcę
- kod producenta, marka i wariant – pomocnicze dane, gdy podstawowy identyfikator jest niekompletny
Przy współpracy z kilkoma hurtowniami trzeba zapisać także źródło identyfikatora. Ten sam kod może mieć inne znaczenie w różnych katalogach. EAN ułatwia łączenie ofert, ale powinien zostać sprawdzony, ponieważ nie każdy dostawca przekazuje go poprawnie.
Mapowanie dotyczy także kategorii. Kategoria „Dom / Kuchnia / Małe AGD” może odpowiadać w sklepie kategorii „Wyposażenie kuchni”. Proste kopiowanie nazw prowadzi do nadmiarowych lub nieprawidłowych kategorii, dlatego potrzebna jest tabela przypisań.
Podobnej kontroli wymagają atrybuty. Wartości „grafit”, „graphite” i kod producenta mogą oznaczać ten sam kolor, ale dla sklepu będą różnymi filtrami, jeśli nie zostaną ujednolicone. Przed importem trzeba ustalić także sposób obsługi wariantów. Rozmiary, kolory i pojemności mogą być osobnymi produktami albo wariantami jednej karty. Identyfikator powinien być przypisany do właściwego poziomu, czyli produktu nadrzędnego lub konkretnego wariantu.
Osobnej reguły wymagają ceny i stany. Feed może zawierać cenę netto, brutto, walutę, kilka poziomów cenowych albo cenę sugerowaną. Integracja powinna określać, która wartość jest podstawą marży, jak naliczany jest podatek, jak działa zaokrąglenie i co zrobić przy braku ceny. Przy stanach można zastosować bufor, na przykład nie pokazywać klientom ostatniej sztuki dostępnej u dostawcy.
Jak zabezpieczyć sklep przed błędnymi danymi?
Największym zagrożeniem nie jest zawsze zatrzymanie importu. Bardziej niebezpieczna może być poprawnie wykonana aktualizacja na podstawie wadliwego pliku, która wyzeruje cały magazyn albo ustawi cenę netto jako detaliczną. Przed uruchomieniem synchronizacji zastosuj zabezpieczenia:
- Tryb próbny – podgląd liczby nowych produktów, zmian i odrzuconych rekordów przed zapisem.
- Limity zmian – zatrzymanie procesu, gdy liczba modyfikacji przekroczy ustalony próg.
- Ochrona cen – blokada ceny poniżej kosztu, poza zakresem albo przy nagłej, nieuzasadnionej zmianie.
- Okres ochronny – produkt znikający z feedu najpierw otrzymuje stan zero lub status nieaktywny, zamiast być od razu usuwany.
- Historia wartości – zapis poprzednich cen, stanów i czasu ostatniej poprawnej synchronizacji.
- Przetwarzanie partiami – ograniczenie skutków błędu do określonej grupy produktów.
Brak produktu w jednym pliku nie musi oznaczać trwałego wycofania go z oferty. Przyczyną może być niepełny feed albo przerwane pobieranie.
Automatyczne usuwanie produktów zwykle nie jest dobrym rozwiązaniem. Może utrudnić zachowanie adresów URL, historii zamówień i danych analitycznych. Bezpieczniejszy jest okres ochronny, po którym produkt zostanie ukryty dopiero wtedy, gdy nie pojawi się w kilku poprawnych synchronizacjach.
Nie nadpisuj bez kontroli opisów SEO, zdjęć i kategorii. Jeżeli zespół przygotowuje własne treści, ustaw import tak, aby te pola były pobierane tylko przy tworzeniu produktu albo pozostawały niezmienne podczas kolejnych aktualizacji.
Co przygotować przed wdrożeniem?
Przed rozmową z dostawcą lub wykonawcą integracji zbierz materiały, które pozwolą szybko ocenić jakość danych i zaplanować reguły:
- Przykładowy plik XML lub CSV albo dokumentację API.
- Dane dostępowe do środowiska testowego, jeśli źródło wymaga logowania.
- Listę pól, które mają być tworzone i później aktualizowane.
- Przykłady produktów prostych, wariantowych i zestawów.
- Reguły cen, podatku, marży i zaokrągleń.
- Zasady dla brakującej ceny, stanu, zdjęcia lub kategorii.
- Informację, które opisy i zdjęcia można publikować zgodnie z umową.
- Możliwość wykonania importu próbnego na ograniczonej liczbie produktów.
Przy kilku dostawcach przygotuj także zasady wyboru źródła, łączenia dostępności i rozstrzygania różnic cenowych. Gdy hurtownia nie udostępnia standardowego feedu albo dane trzeba łączyć z wielu źródeł, gotowa wtyczka może nie wystarczyć. W takim przypadku potrzebna jest integracja z własnym mapowaniem, logami i obsługą wyjątków.
Automatyczny import produktów od dostawcy powinien kończyć się nie tylko utworzeniem katalogu, ale też stabilną synchronizacją. Najpierw uporządkuj identyfikatory i mapowanie, potem ustal zakres pól kontrolowanych przez hurtownię, a dopiero na końcu włącz cykliczne aktualizacje cen i stanów. Takie podejście pozwala skalować ofertę bez utraty kontroli nad zawartością sklepu.