Proces synchronizacji produktów jest najbardziej skomplikowanym etapem synchronizacji. Parametrami synchronizacji po stronie Magazynu DGCS System są magazyn i cennik.
Proces synchronizacji bazuje na słowniku definicji towarów i uwzględnia widoczność danego towaru w danym magazynie/cenniku. Definicje dostępności towarów konfiguruje się po stronie aplikacji Magazyn.
Lista produktów istniejących w sklepie ZenCart jest ładowana do pamięci aby przyspieszyć proces synchronizacji. Z drugiej strony ładowana jest lista towarów dostępnych w danym magazynie DGCS System. Na podstawie listy towarów pobranej z ZenCart podejmowana jest decyzja czy dany towar istnieje. Warunkiem istnienia jest znalezienie w liście produktów ZenCart produktu o kodzie towaru identycznym jak indeks towaru w kartotece towarów DGCS System.
Transfer danych nowego produktu
W przypadku nowego towaru do kartoteki produktów ZenCart przenoszona jest większość danych z definicji produktu dostępnej w magazynie DGCS System.
- Date Available – data synchronizacji (dzisiejsza)
- Products Name – Nazwa towaru.
- Products Model jest indeksem towaru w kartotece towarów DGCS System.
- Products Status jest ustawiany na „Wyłączony”.
- Products Description wypełniany jest opisem z kartoteki.
- Products Price (Net) ustalana jest na podstawie podanego cennika lub wg definicji. Przenoszona jest cena netto lub brutto. Jakie ceny są używane uzależnione jest od podanych parametrów synchronizacji
- Dostępność towaru – Products Quantity – pobierana jest ze stanu w podanym magazynie.
- Products Image. Zdjęcia towaru w definicji towaru DGCS System. Zostanie przeniesione tylko jedno zdjęcie danego towaru, ponieważ w domyślnej konfiguracji ZenCart tylko na tyle pozwala..
- Products Weight – waga towaru z kartoteki towarów DGCS System
- Kategoria nowych towarów jest ustawiana na domyślną 0 co powoduje, że wszystkie towary są widoczne na pierwszej stronie asortymentu [Catalog] => [Categories/Products]
Po wprowadzeniu nowych produktów aby włączyć je w sklepie ZenCart należy po zakończeniu synchronizacji przejść do konfiguracji towarów w ZenCart i dokończyć edycję towaru wprowadzając brakujące informacje. Operację tą wykonujemy tylko jednorazowo. Po stronie sklepu ZenCart znajduje się więcej informacji o towarze niż po stronie magazynu dlatego też towar wprowadzany jest w stanie wyłączonym i wymaga ręcznej ingerencji.
Aktualizacja danych istniejącego produktu
Produkt istniejący w sklepie ZenCart zidentyfikowany wg pola „Products Model” i jest aktualizowany w minimalnym stopniu. Zakłada się bowiem, że zmiana najczęściej dotyczy tylko i wyłącznie stanu magazynowego (po sprzedaży lokalnej, po przyjęciu towaru, itp.) lub cena. Zakłada się też, że z uwagi na konieczność ręcznej modyfikacji nowych towarów dane w sklepie ZenCart są bardziej rozbudowane. Dlatego też podczas synchronizacji ograniczamy się do minimum i aktualizowana jest właśnie cena i stan magazynowy.