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.

12 uwag do wpisu “Prestashop moduł drukowania/generowania etykiet UPS i Poczty Polskiej

  1. a mógłbym prosić o udostępnienie plików gdzie były wprowadzane zmiany. lub troszkę opisanie tego bardziej szczegółowo co gdzie dodać i w jakim pliku tak dla laika..

  2. Ciężko nazwać to wprowadzaniem zmian ja napisałem od zera obiekt obsługujący UPS, a bazowałem na logice działania ups-php.
    Jeszcze nie ustaliłem czy chce ten moduł udostępnić do publicznego rozwoju, czy zrobić z tego produkt i sprzedawać. Zeby ogarnąć temat UPS kompleksowo trzeba baaaardzo dużo dopisać, ale można do tego podejść w bardziej ograniczonej wersji.

  3. a jak można podejść w ograniczonej wersji? co taka wersja miała by mieć? a kiedy ustalisz czy będzie to moduł free czy płatny? sprawa dość pilna. pozdrawiam

  4. Aktualnie mam na głowie przyjście na świat córeczki 🙂 wiec jeszcze chwilkę potrwa zanim cokolwiek zrobię. Cierpliwości 🙂

  5. Hej i jak córeczka jest już :).
    Jest jakiś skrypt lub program aby można było drukować na etykietach adresowych poczty na igłowej drukarce OKI 320 Elite?

  6. Witam !!!

    Proponuję zrobienie czegoś do integracji Presty z Insertem GT 65% oprogramowania w firmach małych i średnich jest na nim opartych.

  7. Czy możemy liczyć na wersję które opisana jest wyżej? Jeśli tak, proszę o kontakt, chętnie podejmę współpracę.

  8. witam 🙂 chce stworzyc skrypt (nie modul), ktory bedzie konwertowal dane (np. zamowienia) wyeksporotwane w formacie CSV z roznych sklepow typu prestashop, shoper… na dane akceptowane przez serwis druczki-pocztowe.pl. Osoby zaintersowane i posiadajace takie sklepy oraz mogace udostepnic tymczasowo panel do eksportowania danych (nie bede musial samodzielnie instalowac co pomoze mi w szybszym wdrozeniu) prosze o kontakt na [email protected]

  9. Podpinam się pod większość komentarzy na górze.
    Być może udało ci się dokończyć ten moduł lub udostępniasz go w wersji którą zrobiłeś – chętnie sam sobie coś dopiszę do niego ale nie ma sensu robić od 0 za każdym razem:-) Oczywiście może być odpłatnie:-)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.