Prestashop integrator z WF-MAG, import produktów

Aktualizacja 13 stycznia 2012

Osoby zainteresowane produktem zapraszam do zostawienia swojego adresu e-mail na stronie: http://integrator.zblizasie.pl/, wszystkie informacje o produkcie będą dostępne pod tym adresem.

Ruszyły ostro prace nad integracją silnika sklepu Prestashop z programem księgowo magazynowym WF-MAG. Jako pierwszy został przygotowany moduł importujący produkty. Moduł pozwala importować do wybranego magazynu oraz do wybranej kategorii utworzonej w WF-MAG. Aplikacja nie ingeruje w strukturę bazy danych MS SQL. Aktualnie dostępne jest importowanie oraz aktualizowanie produktów oraz tworzenie kopii bazy. Trwają pracą nad modułem importującym zamówienia z PrestaShop do WF-MAG.

Aplikacja jest oparta na Yii frameworku i jestem pod wrażeniem prostoty kodu i logiki działania oraz możliwości. Do tej pory znałem Zend Framework, ostatnia rzecz jaką w nim pisałem to poprzednia wersja serwisu scigani.pl. Różnice w tworzeniu aplikacji są diametralne, wg mnie Yii jest dużo prostszy i szybszy do nauki. Wszystkie problemy jakie napotkałem w fazie poznawania frameworku rozwiązałem dzięki forum, tworzonym przez społeczność Yii.

Poniżej film prezentujący działanie wersji beta aplikacji na testowych bazach.

[youtube]http://www.youtube.com/watch?v=wt6oTG0d1iA[/youtube]

Aktualizacja 16 grudnia 2011

Import z PrestaShop do WF-Mag jest sk0ńczony i przetestowany na PrestaShop 1.2.5, poniżej kilka ekranów z funkcji importu.

 

Aktualizacja 19 grudnia 2011r

Dodałem aktualizację stanów z WF-MAG do PS wg wyboru produktów, w trakcie jest aktualizowanie wszystkich naraz.

Aktualizowanie stanów magazynowych wszystkich produktów.

Prestashop moduł drukowania/generowania etykiet UPS i Poczty Polskiej

Dzisiaj odpaliłem produkcyjnie w sklepie fabrykawafelkow.pl opartym na silniku Prestashop moduł obsługujący drukowanie etykiet dla Poczty Polskiej oraz UPS. Prosty moduł który korzysta z API www.druczki-pocztowe.pl oraz API UPS opartym na przerobionym/dokończonym skrypcie ups-php. Trochę mi się spieszyło więc sporo rzeczy jest zaprogramowanych na sztywno, ponieważ w sklepie potrzebuję obsługiwać tylko paczki pocztowe oraz przesyłki kurierskie UPS standard z przedpłatą lub za pobraniem, oraz obsługę powiadomień klienta oraz sklepu. Jeszcze w piątek dostałem z UPS produkcyjne API i dzisiaj śmiga. Jestem pewien, że ten skrypt oszczędza dziennie ok 1-2 godzin pracy osoby przygotowującej zamówienia do wysyłki.

Skrypt działa dość prosto, w konfiguracji definiuje się:

PSL_POCZTA_API_KEY //klucz api w systemie druczki-pocztowe.pl
PSL_POCZTA_API_EMAIL //email do api
PSL_POCZTA_L_POLECONY_C_ID1 //id sposobu dostawy listu poleconego zdefiniowanego w prestashop
PSL_POCZTA_L_POLECONY_C_ID2 //dodatkowe id sposobu dostawy listu poleconego
PSL_POCZTA_PACZKA_C_ID1 //id sposobu dostawy paczka
PSL_POCZTA_PACZKA_C_ID2 //dodatkowe id sposobu dostawy paczka
PSL_POCZTA_SENDER_NAME //nazwa nadawcy poczta
PSL_POCZTA_SENDER_ADDRESS //adres nadawcy
PSL_POCZTA_SENDER_ZIP //kod pocztowy nadawcy
PSL_POCZTA_SENDER_CITY //miasto nadawcy
PSL_POCZTA_SENDER_PHONE //telefon nadawcy
PSL_POCZTA_SENDER_BANK_NR //numer konta nadawcy
PSL_POCZTA_SENDER_DESC //opis, np numer umowy z poczta
PSL_UPS_API_NUMBER //numer api ups
PSL_UPS_API_USERNAME //nazwa uzytkownika ups api
PSL_UPS_API_PASSWORD //haslo do api usp
PSL_UPS_KURIER_PL_ID1 //id sposobu dostawy kuriera
PSL_UPS_KURIER_PL_ID2 //dodatkowe id sposobu dostawy kuriera
PSL_UPS_KURIER_PL_COD_ID1 //nazwa modulu obslugujace platnosc przy dostawie u mnie to jest 'cashondeliverywithfee'
PSL_UPS_SHIPPER_NAME //nazwa nadawcy
PSL_UPS_SHIPPER_ATTENTION_NAME //nazwa nadawcy
PSL_UPS_SHIPPER_ADDRESS //adres nadawcy
PSL_UPS_SHIPPER_ZIP //kod nadawcy
PSL_UPS_SHIPPER_CITY //miasto nadawcy
PSL_UPS_SHIPPER_PHONE //telefon nadawcy
PSL_UPS_SHIPPER_NUMBER //numer klienta pod ktorego ups ma naliczac platnosci.
PSL_UPS_SHIPPER_COUNTRY //kod panstwa nadawcy
PSL_UPS_NOTIFY_EMAIL //adres powiadomien dla sklepu
PSL_UPS_NOTIFY_FROM_EMAIL //adres powiadamiajacego
PSL_UPS_NOTIFY_FROM_NAME //nazwa powiadamiajacego
PSL_UPS_NOTIFY_SUBJECT //temat powiadomienia
PSL_UPS_NOTIFY_MEMO //notatka powiadomienia

PSL – nie oznacza partii 😉 a jest skrótem od nazwy modułu „PrintShippingLabel”. Jeżeli zamówienie zawiera zdefiniowany sposób dostawy wyświetlają się opcje pozwalające na wygenerowanie etykiety. Jeżeli została już wygenerowana etykieta można ją pobrać. Etykiety dla poczty generowane są w postaci PDF’a, dla UPS w postaci GIF’a (jak będzie czas przerobię na PDF’a). Każda wygenerowana etykieta jest zapisywana do bazy. Numer nadawczy UPS jest dodawany i zapisywany automatycznie do zamówienia, dodatkowo w etykiecie UPS dodawany jest numer zamówienia w sklepie, aby można było łatwiej zweryfikować je na fakturze z UPS. Niestety fabrykawafelkow.pl stoi jeszcze na starej wersji presta, moduł przerobię jak zmienię oprogramowanie na nowsze.

Ekran przed generowaniem etykiety:

Ekran po wygenerowaniu etykiety:

Następnym modułem w planie jest integracja PrestaShop z WF-MAG. Miałem już popisane kilka procedur, ale niedawno całkowicie zmieniłem założenia. Zamiast odpalać integrację/synchronizację po stronie Windowsa, planuję zrobić moduł w PHP który wywołuje procedury z MSSQL’a i działa po stronie sklepu jako strona internetowa. Zakładam synchronizację/aktualizację produktów z PrestaShop do WF-MAG, import zamówień z PrestaShop do WF-MAG.

Pulpit

Mój pulpit z dzisiaj, dodany drugi monitor bo zabrakło mi miejsca. Okazjonalnie bawię się w administratora 😉 i konfiguruje serwery pod konkurs. Na razie wytrzymały ok 4000 jednoczesnych sesji, a ma być ok 5000 i może nawet do 15 tyś….