Integracja PIM z VTEX: jak przenieść i synchronizować dane produktowe

Kto odpowiada za jakie dane, jak odwzorować atrybuty PIM na katalog VTEX, w jakiej kolejności importować przez API i jak synchronizować zmiany.

Porozmawiaj o integracji PIM z VTEX

Jak zintegrować PIM z VTEX?

Najpierw ustal, który system jest właścicielem jakich danych: PIM treści produktu, ERP ceny i stany, a VTEX sprzedaż. Potem odwzoruj model danych z PIM na katalog VTEX i załóż w VTEX strukturę: kategorie, marki, grupy i pola specyfikacji. Dopiero wtedy wysyłaj przez Catalog API produkty, SKU, zdjęcia i przypisania do polityki handlowej. Ceny i stany z ERP idą osobno, przez Pricing API i Logistics API. Na koniec uruchom synchronizację zmian z kolejką, ponawianiem i raportem błędów.

Poniżej opisujemy każdy krok na podstawie dokumentacji VTEX (stan na 24.10.2026). Jeśli dopiero sprawdzasz, czy VTEX pasuje do Twojej firmy, zacznij od strony VTEX w Polsce: wdrożenie, integracje i migracja. Ten artykuł jest dla zespołów, które wybrały VTEX i planują połączenie z PIM.

Kto za co odpowiada: ERP, PIM i VTEX

Integracja działa stabilnie, gdy każda informacja ma jednego właściciela. Jeśli opis da się zmienić i w PIM, i w panelu VTEX, po kilku tygodniach nikt nie wie, która wersja jest prawdziwa.

  • ERP: indeksy i kody EAN, ceny, stany magazynowe, klienci B2B. Do VTEX wysyła ceny i stany, z VTEX przyjmuje zamówienia.
  • PIM: nazwy, opisy, parametry techniczne, warianty, zdjęcia, dokumenty, tłumaczenia, przypisanie do kategorii. Do VTEX wysyła katalog.
  • VTEX: drzewo kategorii sklepu, polityki handlowe, promocje, wyszukiwanie, koszyk i zamówienia.

Drzewo kategorii sklepu nie musi być kopią drzewa z PIM. Dokumentacja VTEX wprost zakłada, że struktura z ERP lub PIM może nie pasować do sklepu internetowego. Wtedy w PIM utrzymujemy osobne drzewo dla kanału VTEX albo tabelę mapowania kategorii. Zasada praktyczna: pól, które przychodzą z PIM, nie edytujemy w panelu VTEX, bo następna synchronizacja i tak je nadpisze.

Jak zbudowany jest katalog VTEX

  • Kategorie mają zwykle trzy poziomy: departamenty, kategorie i podkategorie. Marka jest obowiązkowa i musi istnieć przed produktem.
  • Produkt ma co najmniej jedno SKU (wariant) i jest przypisany do marki oraz najbardziej szczegółowej kategorii.
  • Specyfikacje mają trzy warstwy: grupy, pola i wartości. Pole ma jeden z ośmiu typów (m.in. tekst, liczba, combo, radio, checkbox, tekst indeksowany); combo, radio i checkbox wymagają listy wartości. Grupy i pola należą do kategorii i obowiązują też we wszystkich jej podkategoriach.
  • Specyfikacje SKU odróżniają warianty (np. rozmiar) i mogą być tylko typu combo lub radio.
  • Zdjęcia przypisuje się do SKU jako adres URL obrazu dostępnego do odczytu.
  • Polityka handlowa (trade policy, w API: sales channel) decyduje, w którym kanale produkt jest widoczny, z jakimi cenami i logistyką.

Mapowanie: pojęcia z PIM a pojęcia VTEX

Nazwy w PIM zależą od systemu: Akeneo ma rodziny i modele produktów, Ergonode szablony, a Pimcore klasy obiektów. Tabela pokazuje, jak przekładamy je na VTEX.

W PIM (Pimcore, Akeneo, Ergonode)W VTEXNa co uważać
Drzewo kategorii (lub drzewo kanałowe dla VTEX)Departament, kategoria, podkategoriaProdukt trafia do najbardziej szczegółowej kategorii.
Rodzina (Akeneo), szablon (Ergonode), klasa obiektu (Pimcore)Brak odpowiednika 1:1. Najbliżej: zestaw grup i pól specyfikacji w kategoriiAtrybuty rodziny rozpisujemy na kategorie, w których jej produkty są sprzedawane.
Grupa atrybutówGrupa specyfikacjiGrupa musi być w tej samej kategorii co produkt.
Atrybut tekstowy lub liczbowySpecyfikacja produktu (tekst, liczba)Gdy ma wpływać na wyszukiwanie: typ indeksowany.
Atrybut z listą opcjiSpecyfikacja combo, radio lub checkbox z wartościamiWartości zakładamy przed importem produktów.
Oś wariantu (kolor, rozmiar, napięcie)Specyfikacja SKU (combo lub radio)Obowiązkowa dla wszystkich SKU w kategorii.
Model produktu, produkt nadrzędnyProdukt
Wariant albo produkt prostySKU (produkt prosty to produkt z jednym SKU)
Atrybut „marka”Marka (osobny obiekt)Zakładamy ją przed produktem.
Kod produktu, EANRefId, EANSKU musi mieć co najmniej jeden z nich.
Zdjęcia z DAM lub zasobów PIMPliki SKU (adres URL)Formaty i rozmiary według wymagań VTEX.
Język (np. pl_PL)Locale w formacie BCP 47 (np. pl-PL)Tłumaczenia przez API wielojęzyczne katalogu.
KanałPolityka handlowaGłówna polityka ma ID 1.
Status kompletności lub zatwierdzeniaAktywność produktu i SKUDo VTEX wysyłamy tylko produkty kompletne.

Integracja PIM z VTEX krok po kroku

Kolejność wynika z zależności w katalogu VTEX: nie przypiszesz produktu do marki, której nie ma, ani specyfikacji do pola, którego nie założono.

  1. Ustal identyfikatory. Klucz łączący to zwykle kod produktu z ERP, zapisany w VTEX jako RefId. VTEX po utworzeniu produktu zwraca własne ID; VTEX zaleca je zapisać, więc trzymamy je w PIM i kolejne aktualizacje trafiają w ten sam rekord.
  2. Załóż drzewo kategorii: najpierw departamenty, potem kategorie, na końcu podkategorie.
  3. Załóż marki.
  4. Załóż grupy specyfikacji, od departamentów w dół. Grupy z kategorii nadrzędnej przechodzą na wszystkie podkategorie, więc pole, którego nie używają wszystkie podkategorie, nie powinno być w grupie rodzica.
  5. Załóż pola specyfikacji i ich wartości, a potem aktywuj pola. Nieaktywne pola nie działają.
  6. Wyślij produkty z kategorią i marką, a potem specyfikacje produktów.
  7. Przypisz produkty do polityki handlowej. Każdy produkt musi być przypisany do głównej polityki (ID 1), żeby był widoczny w sklepie. Kolejne polityki udostępniają produkty np. marketplace'om.
  8. Wyślij SKU z RefId lub EAN, a potem specyfikacje SKU. Przy tworzeniu nie ustawiaj SKU jako aktywnego; VTEX zaleca włączyć , wtedy SKU aktywuje się samo, gdy spełni warunki.
  9. Dodaj zdjęcia do SKU. Bez zdjęcia SKU się nie aktywuje.
  10. Wyślij ceny i stany z ERP. Pricing API: cena bazowa dla każdego SKU, opcjonalnie cena katalogowa i ceny stałe dla tabel cen. Logistics API: najpierw magazyny, potem stan każdego SKU w każdym magazynie.
  11. Wyślij tłumaczenia, jeśli sklep działa w kilku językach.
  12. Włącz synchronizację zmian (opisujemy ją niżej).

Warianty, języki i polityki handlowe

Warianty

Oś wariantu z PIM to w VTEX specyfikacja SKU typu combo lub radio. Dokumentacja VTEX ostrzega, że specyfikacje SKU są obowiązkowe: jeśli dodasz nową specyfikację SKU w kategorii, muszą ją mieć wszystkie SKU w tej kategorii. Dlatego osie wariantów ustalamy przed pierwszym importem, a nie w trakcie.

Języki

Katalog wielojęzyczny włącza wsparcie VTEX na zgłoszenie. Tłumaczenia wysyła się przez API wielojęzyczne katalogu, osobno dla każdego locale: nazwy, opisy, słowa kluczowe i adresy produktów, kategorii i marek, nazwy SKU oraz nazwy i wartości specyfikacji. Po włączeniu tej funkcji nie można równolegle zarządzać tłumaczeniami katalogu przez GraphQL. Gdy tłumaczenia brakuje, wyszukiwarka VTEX (Intelligent Search) pokazuje treść w domyślnym języku sklepu, więc kompletność tłumaczeń sprawdzamy w PIM, zanim produkt trafi do kanału. Obsługa w FastStore jest według dokumentacji w zamkniętej becie.

Polityki handlowe

Polityka handlowa określa asortyment, ceny i logistykę dla kanału sprzedaży. W PIM jej odpowiednikiem jest kanał: trzymamy w PIM listę kanałów, w których produkt może być sprzedawany, i na jej podstawie przypisujemy go do polityk w VTEX. Inne ceny dla innej polityki ustawia się w Pricing API jako ceny stałe dla tabeli cen.

Synchronizacja zmian i obsługa błędów

Pierwszy import robi się raz, a synchronizacja działa latami. Nasze zasady:

  • Wysyłamy tylko zmiany. PIM wie, co się zmieniło: Akeneo ma platformę zdarzeń (Event Platform), Pimcore udostępnia dane przez Datahub, Ergonode przez API GraphQL.
  • Kolejka zamiast bezpośrednich wywołań. Domyślny limit Catalog API to 45 000 zapytań na minutę na konto i 15 000 na minutę na endpoint. Pricing API przyjmuje 2000 zapisów na minutę (33 na sekundę, z zapasem 500 zapytań). Po przekroczeniu limitu VTEX zwraca błąd 429. VTEX zaleca wtedy coraz dłuższe przerwy między ponowieniami (exponential backoff) i kolejkę, a Pricing API podaje w nagłówku , ile sekund czekać.
  • Timeout to nie awaria. VTEX pisze w przewodniku importu, że timeout jest przewidziany w procesie i kod integracji powinien zakładać ponowienia. Przed ponowieniem sprawdzamy, czy produkt jednak nie powstał, żeby go nie zdublować.
  • Raport: co nie przeszło i dlaczego (np. SKU bez zdjęcia, brak wartości specyfikacji) wraca do PIM, do osoby, która może poprawić dane.
  • Kontrola w drugą stronę. VTEX powiadamia o zmianach SKU (cena, stan, dane, aktywność) przez endpoint afiliata albo aplikację Broadcaster w VTEX IO. Tak sprawdzamy, czy SKU faktycznie się aktywowało.

Migracja dużego katalogu do VTEX

  • Arkusz tylko do poprawek. Import arkuszem w VTEX przyjmuje do 10 000 wierszy na plik, a eksport obejmuje do 300 000 produktów. Szablonu nie wolno zmieniać, a zaimportować można tylko arkusz wyeksportowany ze wszystkimi polami. Do stałej integracji i dużych katalogów używamy API.
  • Kategoria techniczna. Gdy docelowe drzewo kategorii nie jest gotowe, VTEX proponuje nieaktywną kategorię techniczną (w dokumentacji „Integration”), do której trafiają wszystkie produkty, a potem przeniesienie ich do właściwych kategorii. Tak samo można użyć technicznej marki.
  • Pilotaż na jednej kategorii. Zanim wyślemy cały katalog, przeprowadzamy pełny cykl na jednej kategorii: produkt, SKU, zdjęcie, cena, stan i widoczność w sklepie. Potem resztę katalogu wysyłamy partiami.
  • Dane przenosimy raz, do PIM. Przy przejściu z Magento, Shopware czy własnego sklepu porządkujemy dane w PIM i z niego publikujemy do VTEX. Kolejna zmiana platformy sklepu nie oznacza wtedy kolejnej migracji danych produktowych.

Osobnego Catalog API dla Seller Portal nie używamy do głównej integracji: według VTEX jest w becie, może zostać wycofane i ma limit 100 tysięcy produktów na konto.

Najczęstsze pułapki

  1. SKU bez zdjęcia albo bez RefId i EAN zostaje nieaktywne. PIM powinien blokować publikację takiego wariantu.
  2. Grupa specyfikacji w innej kategorii niż produkt. API zwraca 200 OK, ale specyfikacji nie widać ani w panelu, ani w sklepie.
  3. Pole w kategorii nadrzędnej pojawia się we wszystkich podkategoriach, a nowa specyfikacja SKU jest wymagana od wszystkich SKU kategorii.
  4. Brak głównej polityki handlowej: produkt nie jest widoczny. Do widoczności SKU potrzebuje też ceny w polityce i stanu.
  5. Tłumaczenia z dwóch źródeł: API wielojęzyczne i tłumaczenia przez GraphQL nie działają razem.
  6. Ręczne poprawki w panelu VTEX pól z PIM znikają przy następnej synchronizacji.

Pimcore, Akeneo, Ergonode i VTEX: gotowy konektor czy API?

Gotowych konektorów łączących Pimcore, Akeneo lub Ergonode z VTEX nie znaleźliśmy, budujemy przez API. Sprawdziliśmy 24.10.2026 sklep z aplikacjami VTEX (brak wyników dla Akeneo, Pimcore, Ergonode i „PIM”), sklep z aplikacjami Akeneo (brak wyników dla „VTEX”) oraz GitHub. Platformy integracyjne typu iPaaS, np. Alumio, opisują połączenie VTEX z Akeneo w ramach swojej platformy; to opcja dla firm, które już z takiej platformy korzystają.

Po stronie VTEX integracja korzysta z Catalog API, Pricing API i Logistics API. Po stronie PIM: w Pimcore z Datahub, w Akeneo z REST API i platformy zdarzeń, w Ergonode z API GraphQL. Który PIM wybrać, zależy od katalogu i zespołu, nie od platformy sklepu. Porównanie znajdziesz w artykule systemy PIM oraz na stronach Pimcore, Akeneo i Ergonode.

Jak robimy to w LemonMind

Zajmujemy się danymi produktowymi i integracjami od 2008 roku. Mamy za sobą ponad 70 wdrożeń PIM i e-commerce, a nasz zespół to 30+ specjalistów w Gdańsku. Jesteśmy Platynowym Partnerem Pimcore i partnerem Ergonode, wdrażamy też Akeneo.

W projekcie VTEX odpowiadamy za część, od której zależy jakość katalogu: model danych, mapowanie atrybutów na kategorie i specyfikacje, migrację katalogu oraz integrację PIM i ERP z VTEX razem z raportowaniem błędów. Jeśli kłopotem są pliki od dostawców w różnych formatach, pomaga openProd, nasza osobna platforma, która z pomocą AI importuje pliki dostawców do katalogu.

FAQ: integracja PIM z VTEX

Ustal właścicieli danych (PIM: treści, ERP: ceny i stany), odwzoruj atrybuty PIM na kategorie i specyfikacje VTEX, załóż strukturę katalogu, a potem wyślij przez Catalog API produkty, SKU, zdjęcia i przypisania do polityki handlowej. Ceny i stany wysyła ERP przez Pricing API i Logistics API. Na koniec uruchom synchronizację zmian z kolejką i ponawianiem.

Kategorie, marki, grupy specyfikacji, pola i wartości specyfikacji, produkty i ich specyfikacje, przypisanie do polityki handlowej, SKU i ich specyfikacje, zdjęcia SKU, a na końcu ceny i stany. Taka kolejność wynika z dokumentacji VTEX: każdy element wymaga, żeby poprzedni już istniał.

Najczęściej brakuje zdjęcia. SKU aktywuje się, gdy ma co najmniej jedno zdjęcie, RefId lub EAN, wypełnione specyfikacje i aktywny produkt z aktywną marką i kategorią. Jeśli ActivateIfPossible jest wyłączone, SKU trzeba aktywować ręcznie.

Nie znaleźliśmy takiego konektora w sklepie z aplikacjami VTEX, w sklepie z aplikacjami Akeneo ani na GitHubie (stan na 24.10.2026). Integrację budujemy przez API: Catalog API, Pricing API i Logistics API po stronie VTEX oraz Pimcore Datahub, API Akeneo lub API Ergonode po stronie PIM.

Zwykle nie. Ceny i stany zmieniają się często i ich źródłem jest ERP, więc wysyłamy je z ERP bezpośrednio przez Pricing API i Logistics API. PIM wysyła treści produktu, a VTEX łączy jedno z drugim przez SKU.

Przez API, partiami i po pilotażu na jednej kategorii. Import arkuszem ma limit 10 000 wierszy na plik i nadaje się do poprawek. Gdy docelowe kategorie nie są gotowe, produkty można najpierw załadować do nieaktywnej kategorii technicznej i przenieść później.

Włączyć katalog wielojęzyczny przez zgłoszenie do wsparcia VTEX i wysyłać tłumaczenia z PIM przez API wielojęzyczne katalogu, osobno dla każdego locale (np. pl-PL, de-DE). Nie mieszać tego z tłumaczeniami przez GraphQL. Brakujące tłumaczenie wyszukiwarka zastąpi treścią w domyślnym języku sklepu.

Domyślnie Catalog API przyjmuje 45 000 zapytań na minutę na konto i 15 000 na minutę na endpoint, a Pricing API 2000 zapisów na minutę. Po przekroczeniu limitu VTEX zwraca błąd 429, dlatego integracja potrzebuje kolejki i ponowień z coraz dłuższą przerwą.

Porozmawiajmy o integracji PIM z VTEX

Opowiedz nam o swoim katalogu, PIM i ERP. W 30 minut powiemy, jak połączyć je z VTEX i od czego zacząć migrację danych.

Contact person

Olgierd Mrozik

[email protected]

+48 58 732 27 37

Nieprawidłowe dane
Nieprawidłowe dane
Nieprawidłowe dane
Nieprawidłowe dane
Nieprawidłowe dane