Proces synchronizacji produktów jest najbardziej skomplikowanym etapem synchronizacji. Parametrami synchronizacji po stronie Magazynu DGCS System są magazyn i cennik natomiast. Od strony sklepu WooCommerce nie są wymagane dodatkowe parametry.
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.
Transfer danych nowego produktu
W dla każdego towaru, który nie występuje w sklepie WooCommerce na podstawie kartoteki towarowej DGCS System tworzony jest nowy produkt „prosty” (simple). Przenoszona jest większość istotnych danych z definicji produktu dostępnej w magazynie DGCS System.
- Nazwa produktu – Nazwa towaru.
- SKU jest indeksem towaru w kartotece towarów DGCS System.
- Status jest ustawiany na [pending] – „Oczekujący na przegląd”.
- Kategoria – nie jest ustawiana.
- Opis produktu – krótki wypełniany jest opisem z kartoteki.
- Cena ustalana jest na podstawie podanego cennika lub wg definicji. Przenoszona jest cena netto.
- Dostępność towaru – ilość w magazynie – pobierana jest ze stanu w podanym magazynie. Jeśli towar nie ma włączonej obsługi magazynu to ilość magazynowa nie jest prezentowana w sklepie. Należy włączyć zarządzanie stanem.
- Stan dostępności w WooCommerce jest aktualizowany automatycznie na wartość „instock” lub „outofstock” w zależnosci od ilości. Potem WooCommerce zarządza tym statusem automatycznie.
- Zdjęcia towaru w definicji towaru DGCS System nie są aktualnie wysyłane do sklepi WooCommerce z uwagi fakt, iż klucze API generowane przez oprogramowanie sklepu nie posiadają wystarczających uprawnień do wstawiania danych do zasobu mediów.
Po wprowadzeniu nowych produktów aby włączyć je w sklepie WooCommerce należy po zakończeniu synchronizacji przejść do konfiguracji towarów w WooCommerce, założyć filtr na towary „Oczekujące na przegląd” i dokończyć edycję towaru wprowadzając brakujące informacje. Operację tą wykonujemy tylko jednorazowo dla każdego towaru. Po stronie sklepu WooCommerce znajduje się znacznie 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 WooCommerce zidentyfikowany wg pola „SKU” (lub „slug” jeśli sku nie jest podany) 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 WooCommerce są bardziej rozbudowane. Dlatego też podczas synchronizacji ograniczamy się do minimum i aktualizowana jest właśnie cena i stan magazynowy.