Integracja z Allegro

Ostatnia aktualizacja 20 Kwiecień 2018

Informacje ogólne

Dokumentacja integracji z allegro dla PrestaShop - wersja 4.x.

Obsługiwane wersje:
  • PrestaShop 1.5x
  • PrestaShop 1.6x
  • PrestaShop 1.7x

Wersja 1.4x i starsze nie są wpierane w wersji modułu 4.x. Standardowo wspieranymi wersjami PrestaShop są najnowsze stabilne wydanie oraz dwa główne starsze wydania.

Wymagania

Moduł wymaga do swojego działania wersji PHP przynajmniej 5.3.

Integracja do swojego działania wymaga obecności na serwerze pakietu SOAP który jest domyślnie włączony w PHP 5 oraz 7 i dodatkowo rozszerzenia IONCUBE które na większości serwerów jest włączone domyślnie lub można je włączyć w panelu zarządzania serwerem.

W przypadku braku któregoś z wymienionych zostaniesz poinformowany po instalacji modułu w komunikacie, w razie problemów z konfiguracją polecamy kontakt z administratorem serwera.

Instalacja modułu

Dokładamy wszelkich starań aby moduł działał poprawnie na obsługiwanych wersjach PrestaShop jednak przy tak ogromnej liczbie możliwych kombinacji wersji silnika jak zainstalowanych dodtakowych rozszerzeń oraz wersji oprogramowania serwerowego moduł w pewnych przypadkach może działać niestabilnie więc przed instalacją konicznie wykonaj pełną kopię bezpieczeństwa zarówno plików jak i bazy danych.

Aby zainstalować moduł zaloguj się do panelu administracyjnego PrestaShop i przejdź do zakładki Moduły i usługi. Następnie kliknij przycisk Dodaj nowy moduł (na górze strony). Pojawi się formularz przesyłania pliku, wybierz plik *.zip z modułem i kliknij Prześlij moduł.

Po przesłaniu pliku moduł powinien pojawić się na liście modułów. Jeśli tak się nie stanie sprawdź filtry Zainstalowane i niezainstalowane, Aktywne i nieaktywne, Autorzy. Jeśli mimo to modułu nie ma na liście możesz rozpakować plik *.zip i umieścić go ręcznie na FTP w katalogu modules (struktura powinna wyglądać następująco /modules/allegro/allegro.php).

Aby zainstalować moduł kliknij przycisk Instaluj na liście obok modułu.

Może pojawić się ostrzeżenie:

Czy chcesz zainstalować ten moduł, który nie mógł być zweryfikowany przez PrestaShop?

Kliknij Kontynuuj instalację po czym zostaniesz przeniesiony do konfiguracji modułu. Jeśli tak się nie stanie odśwież stronę i przejdź do konfiguracji modułu.

Częste problemy

API error: Could not connect to host Problem z konfiguracją SSL po stronie serwera, rozwiązaniem może być ustawienie parametru _ALLEGRO_SSL_VERIFY_ na false w pliku /modules/allegro/allegro.inc.php (nie zalecane).

Site error: the file *** requires the ionCube PHP Loader ioncube_loader_lin_***.so to be installed by the website operator. Niewłaściwa wersja IONCUBE dla danej wersji PHP. Zalecany kontakt z administratorem serwera.

API error: Function ("***") is not a valid method for this service Problem z konfiguracją serwera, rozwiązaniem może być ustawienie parametru _ALLEGRO_SOAP_CACHE_na 0 w pliku /modules/allegro/allegro.inc.php.

The encoded file XXX is corrupt. Błąd podczas przesyłania plików modułu na serwer (zazwyczaj przy ręcznym przesyłaniu przez FTP). Spróbuj przesłać moduł przez panel PrestaShop lub włącz tryb binarny w kliencie FTP i prześlij pliki ponownie.

Aktualizacja modułu

Ważne jest aby zawsze korzystać z aktualnej wersji aplikacji. Informacje o nowych wydaniach powinny pojawić się w module automatycznie na stronie listy produktów.

Przed aktualizacją zalecamy wykonanie pełnej kopii bezpieczeństwa plików oraz bazy danych.

Aktualizacja

Proces aktualizacji w ramach wersji 4.x czyli najnowszej jest bardzo prosty i polega jedynie na przesłaniu nowej wersji na serwer przy pomocy panelu PrestaShop lub opcjonalnie ręcznie przez FTP.

Aby tego dokonać zaloguj się do panelu administracyjnego PrestaShop i przejdź do zakładki Moduły i usługi. Następnie kliknij przycisk Dodaj nowy moduł (na górze strony).

Pojawi się formularz przesyłania pliku, wybierz plik *.zip z modułem i kliknij Prześlij moduł.

Po przesłaniu modułu masz już aktualną wersję, aby się upewnić sprawdź na liście modułów jaka wersja widnieje obok modułu allegro.

Nie odinstalowywuj modułu, proces aktualizacji nie wymaga tego - jeśli odinstalujesz moduł utracisz wszystkie zapisane dane.

Wersja 3.x Od wersji 4.1.2 modułu aktualizacja z wersji 3.x nie jest już możliwa. Jeśli posiadasz wersję starszą niż 4.x musisz odinstalować starą wersję i zainstalować aktualną bez aktualizacji.

Rejestracja aplikacji & konfiguracja API

Środowisko produkcyjne

Moduł w wersji 4.x korzysta z nowej wersji (REST) API dlatego przed rozpoczęciem działania konieczna jest dodatkowa rejestracja aplikacji na stronie allegro.

Aby zarejestrować aplikację przejdź na stronę: https://apps.developer.allegro.pl/ a następnie po zalogowaniu się na swoje konto allegro będzie dostępny formularz rejestracji.

Opis aplikacji - dowolna nazwa np. nazwa sklepu.

Adres aplikacji - Adres URL pod którym instalujesz moduł, domena sklepu. Bardzo ważne aby podać właściwy adres - bez tego aplikacja nie będzie działać poprawnie (np.: "https://moj-sklep.pl"). Musimy podać domenę z "www" jeśli taką mamy oraz https jeśli korzystamy z SSL.

Po rejestracji otrzymasz 3 klucze: Client ID, Client Secret oraz API Key które musisz wprowadzić w konfiguracji modułu.

Po wprowadzeniu w konfiguracji moduł allegro w panelu sklepu PrestaShop i zapisaniu formularza w menu panelu administracyjnego sklepu pojawi się dodatkowa zakładka Allegro.

Środowisko testowe - SANDBOX

Allegro udostępnia deweloperską wersję serwisu, przeznaczoną do testowania aplikacji korzystających z API pod adresem: https://allegro.pl.allegrosandbox.pl/.

Moduł od wersji 4.x umożliwia korzystanie z Sandbox’a allegro. Aby korzystać ze środowiska testowego musisz zarejestrować aplikację również tam. Adres rejestracji aplikacji na środowisku testowym: https://apps.developer.allegro.pl.allegrosandbox.pl/.

Rejestracja przebiega analogicznie, w konfiguracji modułu klucze: Client ID, Client Secret oraz API Key wprowadzamy w osobnych polach (SANDBOX REST API (OPCJONALNIE)).

Konta allegro

Aby dodać konto allegro w module zaloguj się do panelu administracyjnego PrestaShop a następnie w menu wybierz zakładkę Allegro > Konta.

Na górze strony będą dostępne przyciski pozwalające dodać konta allegro oraz na środowisku sandbox - jeśli aplikacja została tam zarejestrowane i wprowadzone zostały klucze.

UWAGA! Jeśli posiadasz kilka kont allegro to najpierw wyloguj się z serwisu allegro aby móc zalogować się na właściwe konto.

Kliknji Dodaj konto po czym zostaniesz przeniesiony na stronę logowania allegro.

Po zalogowaniu nastąpi przekierowanie z powrotem do panelu PrestaShop gdzie będziesz mógł/mogła podać nazwę konta (dowolna nazwa) oraz wybrać walutę (dla allegro.pl - złotówki) oraz język (dla allegro.pl - polski).

Po zapisaniu formularza konto pojawi się na liście gdzie można zarządzać kontami, edytować, włączać/wyłączać i usuwać.

Na liście widoczny jest Czas sesji (dni) to czas jaki token uzyskany podczas logowanie jest ważny a tym samym jak długo konto może wykonywać akcje w imieniu użytkownika. Koniecznie przd upływem tego czasu musisz odświeżyć ważność tokena klikając opcję Odśwież z listy rozwijanej obok danego konta. Jeśli tego nie zrobisz po upływie czasu konto przestanie działać - proces ten nie może być zautomatyzowany w żaden sposób.

Aby dodać konto na środowisku testowym musisz zarejestrować aplikację na tym środowisku (patrz punkt Rejestracja aplikacji), bez tego opcja dodanie konta sandbox nie pojawi się.

Wiele kont allegro

W module możesz dodać wiele kont w różnych serwisach w tym konta sandbox. Każde konto poza kontami na środowisku testowym wymagają osobnej licencji.

Gdy wykonujesz jakieś akcje w ramach konta (wystawianie aukcji, synchronizacja) zawsze odbywa się to w ramach wybranego konta którego nazwa wyświetla się w pasku na górze strony:

Pamiętaj że wszystkie akcje są wykonywane tylko w ramach jednego aktualnie wybrane konta, jeśli chcesz wystawić produkt na dwóch kontach musisz to zrobić osobno na każdym z nich.

Parametry produktów allegro jak tytuł aukcji, wybrana kategoria, czas trwania są wspólne dla wszystkich kont - wybrane na jednym koncie pozostaną niezmienione na innym.

Szablony aukcji

Aby w pełni wykorzystać możliwości tworzenia opisu oferty w allegro moduł udostępnia funkcję tworzenia szablonów oferty.

Moduł po zainstalowaniu posiada już utworzony prosty szablon który zawiera podstawowe informacje jak opis oraz zdjęcia.

Aby dodać własny szablon przejdź do zakładki Allegro > Szablony. Na tej stronie możesz zarządzać i tworzyć nowe szablony aukcji. Kliknij przycisk Dodaj szablon po czym zostanie wyświetlony formularz:

Formularz zawiera następujące pola:

Nazwa szablonu - Dowolna nazwa pod jaką będzie widniał szablon w module.

Treść szablonu - Kod HTML szablonu uzupełniony o specjalne znaczniki (lista poniżej) które podczas wystawiania nowej aukcji zostaną zastąpione określonymi właściwościami produktu jak opis czy zdjęcia.

SMARTY / Twig - Parametr pozwalający włączyć obsługę w szablonie zaawansowanych mechanizmów silnika SMARTY lub Twig (w zależności od wersji PrestaShop). Pozwala to korzystać w szablonie ze zmiennych, pętli, instrukcji warunkowych itp. Jeśli nie korzystasz z tej funkcji powinna być wyłączona gdyż może powodować konflikty.

Nowy format - Pozwala przełączyć szablon i edytor na nowy format tworzenia opisu oferty (https://dlasprzedajacych.allegro.pl/nowy-opis-oferty/artykul/nowy-opis-oferty-151).

Ramka miniatury - Plik graficzny w formacie .png, który zostanie nałożony na miniaturkę aukcji, opcjonalne i nie zalecane (nowe wytyczne tworzenia aukcji allegro).

Kraj - Szablon będzie dostępny tylko dla kont z wybranego serwisu.

Wszystkich znaczników możesz używać w szablonie zarówno starym jak i nowym formacie opisu pamiętaj jednak że w nowym formacie nie ma możliwości wstawiania zdjęć do opisu w postaci tagów html jak img itp. więc używanie znacznika [images] w szablonie w nowym formacie mija się z celem. W przypadku znaczników mogących zawierać kod HTML jak [product_description] należy zwrócić uwagę że wszystkie zabronione w nowym formacie tagi będą usunięte.

Poniżej znajduje się tabela dostępnych znaczników które możesz umieścić w swoim szablonie:

Znacznik (nowa wersja)Opis
[auction_title]Wyświetla tytuł aukcji - jeśli nie wpiszemy własnej frazy będzie to nazwa produktu - jeśli wprowadzimy będzie to właśnie wprowadzona i zapisana wartość.
[product_description]Pełny opis produktu z katalogu.
[product_description_short]Krótki opis produktu.
[product_ean13]Krótki opis produktu.
[product_price]Cena produktu z katalogu. Jeśli w formularzu produktu allegro wprowadzimy inną cenę “Kup teraz” wtedy te ceny będą się różnić! Aby wyświetlić cenę “Kup teraz należy skorzystać z innego znacznika.
[product_weight]Waga produktu z jednostką “gr” lub “kg”.
[product_reference]Kod produktu / kombinacji.
[product_features]Lista cech produktu.
[product_attributes]Lista nazw atrybutów produktu np. "Rozmiar - XL, Kolor - zileony".
[product_attributes_list]Lista atrybutów produktu w formie listy HTML ul. Znacznik działa poprawnie z modułem Attribute Wizard Pro.
[images]Wyświetla zdjęcia produktu z katalogu oraz załadowane w formularzu allegro. Przyjmuje dwa parametry type oraz type_link pozwalające wybrać rozmiar zdjęć wyświetlany i ten po kliknięciu (dostępne rozmiary znajdują się w panelu PrestaShop Preferencje > Zdjęcia lub Wygląd > Zdjęcia. Przykład: [images|type:medium_default,type_link:large_default]
[image]Wyświetla jedno zdjęcie, domyślnie okładkę lub zdjęcie o podanym indexie np: [image|index:1,type:large_default,type_link:thickbox_default]
[manufacturer_id]Identyfikator producenta produktu. Może posłużyć do wyświetlanie loga producenta: <img src=”http://domena-sklepu.pl/img/m/[manufacturer_id].jpg” /> * gdzie domena-sklepu.pl to właściwa domena.
[manufacturer_name]Nazwa producenta produktu.
[description_external]Zewnętrzny opis produktu (ten podawany w parametrach produktu allegro).
[product_id]Identyfikator produktu w sklepie.
[product_attribute_id]Identyfikator kombinacji atrybutu.
[allegro_category_id]Identyfikator kategorii allegro.
Od wersji 4.1.2 modułu możesz tworzyć i dodawać własne znaczniki szablonu.

Znaczniki niedostępne w nowej wersji a dostępne w starej oraz wszystkie inne niemożliwe do umieszczenia za pomocą znaczników informacje można zastąpić kodem SMARTY.

Część znaczników jak {imageCover_type}, {gallery}, {imagesExternal} została usunięta. Można je zastąpić kodem SMARTY jeśli jest taka potrzeba.

Pamiętaj że elementy jak iframe (filmy z YouTube), script (kod JAVASCRIPT) są w allegro zabronione i w chwili wystawiania zostaną usunięte nawet jeśli w module wyświetlają się prawidłowo. Wszystkie zasady i ograniczenia występujące w allegro obowiązują również w samej integracji.

Nowy format tworzenia opisów aukcji

Od końca 2017 będzie w allegro obowiązywać nowy format tworzenia opisów aukcji Na chwilę obecną (czerwiec 2017) jest on opcjonalny. Aby móc po tych zmianach wystawiać aukcje trzeba dostosować szablon do nowych wymagań.

W module dostępny jest edytor szablonu przygowowany z myślą o nowym standardzie:

  • Dopuszczalne są tylko wybrane znaczniki HTML: h1, h2, p, ul, ol, li b. Moduł próbuje oczyścić szablon z wszystkich innych znaczników przed wystawieniem aukcji (również w przypadku treści ładowanych przez znaczniki jak [product_description]).
  • Treść wewnątrz komórek musisz umieścić wewnątrz znacznika HTML np. p: <p>opis tekstowy</p>.
  • Jeśli chcesz umieścić w komórce zdjęcie z galerii wybierz jego numer z listy rozwijanej.
  • Puste sekcje zostaną automatycznie usunięte
  • Zdjęcia z poza galerii allegro jak i znacznik <img /> nie jest dozwolony.

Parametry globalne

Każda aukcja allegro posiada szereg parametrów opcjonalnych jak i wymaganych. Część z nich jest wspólna między ofertami jak np. adres, formy wysyłki a inne są różne dla produktów jak np. kategoria, cena "Kup teraz" czy czas dostawy.

Aby uprościć zarządzanie parametrami w integracji udostępniony jest mechanizm edycji wspólnych parametrów. Zarządzać parametrami aukcji możesz w zakładce Allegro > Kategorie i parametry.

W sekcji Parametry globalne (na dole strony) znajdują się parametry które będą przypisane do wszystkich ofert jakie utworzysz. Część z nich możesz późnej nadpisać np. w parametrach kategorii czy poszczególnych produktów.

Zarządzanie parametrami / nadpisywanie

Bardzo ważne jest zrozumienie mechanizmu zarządzania parametrami przed rozpoczęciem wystawiania ofert, nieumiejętne korzystanie z tej funkcji może w przyszłości przysporzyć wielu problemów.

Parametry aukcji mogą być wybrane w jednym miejscu a w kolejnym parametr może zostać nadpisany a więc zastąpiony innym. Przykładowo parametr Czas trwania możesz wybrać w parametrach globalnych na 7 dni co spowoduje że każda aukcja którą wystawisz będzie domyślnie trwała 7 dni bez konieczności wybierania dla każdej aukcji z osobna. Jednak w pewnym momencie decydujesz że jeden z twoich produktów ma być wystawiany zawsze na czas 14 dni. W takim wypadku nie zmieniasz w parametrach globalnych czasu trwania (chcesz by pozostałe aukcje wciąż były wystawiane na 7 dni) ale podpisujesz ten parametr na karcie produktu allegro dzięki czemu tylko ten jeden produkt będzie wystawiany na 14 dni.

Warto też wspomnieć że przy zmianie parametru globalnego wszystkie produkty przyjmą nowy parametr za wyjątkiem tych którym przypisać inną wartość na stałe (nadpisanie).

Priorytet parametrów:
0 -- Parametry globalne
1 -- -- Parametry kategorii
2 -- -- -- Parametry dostawy (cenniki dostawy)
3 -- -- -- -- Parametry produktu

Oznacza to że ten sam parametr wybrany w kilku miejscach podczas wystawiania aukcji będzie prioretyzowany. Np. jeśli ten sam parametr będzie wybrany w parametrach globalnych oraz w parametrach kategorii to użyty zostanie ten z parametrów kategorii, a jeśli parametr będzie przypisany bezpośrednio do produktu zawsze będzie on miał najwyższy priorytet.

* - (pomarańczowa gwiazdka obok pola w formularzu) oznacza że dany parametr jest wymagana do wystawienie oferty ale nie jest wymagany do uzupełnienia w konkretnym formularzu (np. czas trwania musi być wybrany ale wystawić aukcję ale można go wybrać w kilku miejscach jak parametry globalne czy parametry danego produktu).

Mapowanie kategorii

W tej sekcji Allegro > Kategorie i parametry > Mapowanie kategorii możesz powiązać swoje kategorie w sklepie z kategoriami w serwisie allegro dzięki czemu:

  • Nie będzie konieczności wybierania kategorii dla każdego produktu z osobna
  • Parametry wspólne dla wszystkich produktów w kategorii będzie można uzupełnić raz
  • W przypadku konieczności zmiany kategorii lub parametru (pojawienie się nowego lub usunięcie przez allegro jakiegoś) będzie to można zrobić raz dla wszystkich produktów w kategorii bez konieczności ręcznej edycji wielu poszczególnych produktów

Chociaż ta funkcjonalność jest całkowicie opcjonalna i wszystkie parametry można przypisać bezpośrednio do każdego produktu to jednak zalecamy korzystanie z niej gdyż znacznie ułatwia proces wystawiania aukcji jak i może pomóc w przyszłości w razie zmian po stronie allegro.

Aby dodać pierwszą kategorię z której produkty zamierzamy wystawić w serwisie allegro kliknij przycisk Dodaj kategorię. Pojawi się formularz:

Najpierw wybierz kategorię w sklepie (możesz wybrać kilka kategorii jednak każda z nich pojawi się na liście jako osobna pozycja). Następnie wybierz kategorię w serwisie allegro, po wybraniu pojawią się parametry dostępne w tej kategorii.

Wybierz tylko te parametry które są wspólne dla produktów, wszystkie pozostałe specyficzne dla produktu będzie można wybrać później podczas właściwego wystawiania oferty.

Dodatkowo możesz wybrać parametry nie związane z kategorią allegro które będą obowiązywać tylko dla produktów w danej kategorii (Opcje dodatkowe, wysyłka w ciągu, Sztuki / Komplety / Pary).

Po wybraniu wszystkich parametrów kliknij przycisk Zapisz.

Mapowanie atrybutów i cech

W sekcji Allegro > Kategorie i parametry > Mapowanie atrybutów możesz powiązać parametry aukcji występujące w niektórych kategoriach allegro z atrybutami, cechami lub producentem w sklepie PrestaShop.

Funkcjonalność ta jest opcjonalna i nie trzeba z niej korzystać przy pracy z modułem jednak w wielu przypadkach usprawnia ona zarządzanie aukcjami. Dzięki tej funkcji możemy dodać powiązanie między atrybutami allegro z tymi w sklepie dzięki czemu przy wystawianiu aukcji parametry będą wybierane automatycznie bez konieczności ręcznego wyboru.

Praktyczny przykład

W kategorii allegro Odzież, Obuwie, Dodatki Odzież damska Bluzki jeden z wymaganych parametrów to Rozmiar. Zazwyczaj produkty w naszym sklepie mają również zadeklarowany rozmiar w postaci cechy lub atrybutu.

Bez wykorzystania funkcjonalności mapowania atrybutów przed wystawieniem na allegro takiego produktu trzeba by wybrać i zapisać pożądany rozmiar. Dzięki tej opcji nie trzeba już tego robić dla każdego produktu osobno a wystarczy raz powiązać rozmiar z atrybutam / cechą w sklepie.

Od tej pory podczas wystawiania aukcji jeśli dany produkt posiada zmapowany parametr, zostanie on wybrany automatycznie. Można również na stronie edycji produktu zmienić automatycznie przypisaną opcję jeśli zajdzie taka potrzeba.

Częstym parametrem jest również Marka lub Producent, możesz oprócz cech i atrybutów powiązać również producenta z danym parametrem.

Cenniki dostawy

Funkcja ta pozwala utworzyć cenniki dostawy które będzie można wybrać podczas tworzenia oferty aby zautomatyzować proces. Mechanizm ten jest zbliżony do tego z allegro.

Aby utworzyć nowy cennik kliknij Dodaj nowy cennik a następnie wybierz wszystkie pożądane opcje dostawy i zapisz formularz.

Pamiętaj że niektóre opcje dostawy jak Allegro Inpost mają na stałe przypisaną w allegro cenę, musisz podać tą wymuszoną cenę inaczej wystawienie oferty nie będzie możliwe.

Mimo że w panelu allegro możesz mieć już cenniki dostawy nie będą one widoczne w module, nie są one dzielone i musisz utworzyć je na nowo w integracji.

Wystawianie aukcji krok po kroku

Aby wystawić pierwszą aukcje musisz posiadać już skonfigurowany moduł oraz dodane konto allegro.

Właściwe wystawianie ofert odbywa się w zakładce Allegro > Produkty. Znajduje się tam lista produktów zbliżona do listy w katalogu.

Lista produktów allegro

Wygląd listy możesz modyfikować w konfiguracji modułu (Allegro > Preferencje). Szczególnie zwróć uwagę na opcję Wyświetlaj kombinacje atrybutów która pozwoli na liście wyświetlić poszczególne kombinacje (jak rozmiary, kolory itp.) dzięki czemu będzie można je wystawiać jako oddzielne aukcje.

Klikając na wybrany produkt lub przycisk Edytuj możesz przejść do zaawansowanego formularza.

Formularz produktu allegro

Formularz dzieli się na kilka sekcji:

Informacje ogólne Możesz tutaj wprowadzić podstawowe informacje jak Tytuł aukcji (domyślnie jest nazwa produktu pobierana zawsze w chwili wystawiania). Możesz zostawić lub wprowadzić i zapisać własny tytuł, należy pamiętać jednak że po zapisaniu zawsze będzie pobierany nawet jeśli w katalogu zmienisz nazwę produktu. Ten sam mechanizm odnosi się do ceny “Kup teraz” oraz ilości.

Kategoria i parametry Jeśli nie korzystasz z mapowania kategorii możesz ją wybrać tutaj, możesz też wybrać lub nadpisać parametry kategorii.

Opis W tej części formularz może wprowadzić Zewnętrzny opis który następnie pojawi się w szablonie. Możesz w nim umieścić informację które mają pojawić się na aukcji allegro ale nie koniecznie w sklepie lub nawet cały opis produktu i nie korzystać całkowicie z opisu produktu z katalogu.

Zdjęcia Część formularza pozwala skonfigurować zdjęcia produktu które mają znaleźć się na aukcji allegro. Zdjęcia możesz przedstawiać na 2 sposoby, pierwszy to wbudowana w allegro galeria a drugim sposobem jest umieszczenie zdjęć w szablonie / opisie oferty (znacznikiem [images] - patrz tabela znaczników szablonu).

Ilość zdjęci przesyłanych do galerii możesz zmieniać w ustawieniach modułu (Allegro > Preferencje) po parametrem Maks. liczba zdjęć przesłanych do API. Zalecane jest minimum jedno zdjęcie (miniatura w allegro) jednak możesz przesłać do 8 zdjęć w wybranym przez siebie rozmiarze (Typ zdjęć przesłanych do API).

Jeśli nie chcesz aby któreś ze zdjęć nie było przesyłane do oferty - zarówno galerii jak i szablonu - możesz je tu wyłączyć. Możesz też załadować dodatkowe zdjęcia które nie będą widoczne w katalogu a jedynie wykorzystywane podczas wystawiania oferty allegro.

Dodatkowe parametry Kilka dodatkowych parametrów które możesz tu zmienić względem parametrów globalnych.

Aukcje Lista aukcji danego produktu w serwisie allegro. Znajdują się tutaj tylko trwające aukcje (nie będzie planowanych ani zakończonych), można je również w tym menu usunąć / zakończyć.

Zarządzanie sprzedażą Ustawienia zarządzania sprzedaży danego produktu. Więcej informacji na ten temat będzie w opisie synchronizacji.

Proces wystawiania aukcji

  • Wybierz parametry globalne w zakładce Allegro > Kategorie i parametry jak adres, wysyłka w ciągu, konta bankowe. Parametry te będą użyte podczas wystawiania wszystkich aukcji chociaż część z nich możesz później zmienić dla poszczególnych produktów.
  • W zakładce Allegro > Kategorie parametry zmapuj kategorię którą chcesz wystawić dzięki czemu nie trzeba będzie wybierać kategorii i części parametrów dla każdego produktu osobno.
  • Na liście produktów wybierz produkt który chcesz wystawić a następnie kliknij ikonę:

Jeśli wszystkie wymagane parametry zostały wybrane poprawnie powinien pojawić się komunikat o poprawnym wystawieniu aukcji wraz z numerem aukcji, linkiem, kosztami oraz przyciskiem pozwalającym na szybkie usunięcie oferty.

Aby wystawić wiele aukcji wystarczy skorzystać z funkcji masowego wystawiania w dolnej części listy produktów allegro. Aby to zrobić wybierz produkty które chcesz wystawić a następnie kliknij przycisk Wystaw aukcje.

Wystawianiu wielu aukcji może zająć dużo czasu, nie zamykaj okna przeglądarki do czasu zakończenia procesu.

Synchronizacja stanów, zamówień i wznawianie aukcji

Synchronizacja stanów

Aby korzystać z synchronizacji stanów magazynowych musisz w sklepie PrestaShop mieć aktywne zarządzania stanami magazynowymi (moduł obsługuje standardowe jak i zaawansowane zarządzanie magazynem).

Aby produkt był objęty synchronizacją musi być ta opcja włączona dla danego produktu, można to zrobić w parametrach produktu (Zarządzanie sprzedażą) lub bezpośrednio z listy produktów:

Po włączeniu synchronizacja stanów dla produktu produkt jest nią objęty ale sama synchronizacja musi zostać wykonana aby jakiekolwiek zmiany w stanach w sklepie czy na aukcji były widoczne! Opis ręcznej synchronizacji jak i konfiguracji automatycznej znajduje się w dalszej części instrukcji.

Podczas synchronizacji moduł:

  • Aktualizuje stany w sklepie po sprzedaży na allegro
  • Aktualizuje ilość produktu dostępną na aukcji (po zmniejszeniu lub zwiększeniu stanu)
  • Kończy aukcję jeśli produkt nie jest dostępny na magazynie

Wznawianie aukcji

Wznawianie aukcji pozwala kontrolować obecność wskazanych produktów na allegro. Po włączeniu tej opcji moduł będzie dbał o to aby dany produkt zawsze był wystawiony jeśli jest dostępny na magazynie.

Podobnie jak przy synchronizacji stanów funkcja ta musi zostać włączona aby produkt był wznawiany. W poprzednich wersja 3.x modułu wymagane było zachowanie ciągłość tj. produkt musiał być dostępny na stanie w chwili synchronizacji aby aukcja wznowiła się - obecnie nie ma takiej potrzeby - produkt wznowi się nawet jeśli dłuższy czas nie był dostępny w sklepie.

Opcja Minimalna ilość wznawiania pozwala ustawić minimalną ilość od jakiej produkt powinien zostać wznowiony, np. jeśli ustawimy ilość = 5 wtedy produkt wznowi się tylko wtedy jeśli na stanie będzie dostępne 5 sztuk produktu lub więcej.

Po aktywacji wznawianie będzie odbywać na aktualnie wybranym koncie i sklepie (multistore), jeśli produkt ma być wznawiany na wielu kontach w różnych sklepach trzeba tą opcję aktywować osobno.

Import zamówień

Funkcjonalność ta pozwala importować nowe transakcje jako zamówienia do PrestaShop. Przed synchronizacją zamówień sprawdź ustawienia w zakładce Allegro > Preferencje sekcja IMPORT ZAMÓWIEŃ (w szczególności statusy zamówień oraz domyślnego przewoźnika).

Proces synchronizacji

Aby aktualizacji stanów, wznawiania czy importu zamówień działała musi odbyć się proces synchronizacji. Może on być wykonywany ręcznie lub automatycznie poprzez skonfigurowane zadanie CRON.

Aby wykonać ręczną synchronizację przejdź do zakładki Allegro > Synchronizacja. Dostępne są tam przyciski służące do rozpoczęcia procesów synchronizacji:

Synchronizuj stany Synchronizuje wyłącznie stany i opcjonalnie ceny (tylko na aukcjach gdzie zmienił się stan), kończy aukcje jeśli produktu nie ma na magazynie. Pełna dwukierunkowa synchronizacja: allegro <-> PrestaShop.

Importuj zamówienia Importuje transakcje z allegro jako zamówienia PrestaShop.

Wznów aukcje Wznawia aukcje, które mają aktywną opcję wznawiania na aktualnie aktywnym koncie allegro. Aukcja wznowi się, tylko jeśli produkt jest na stanie w ilości większej niż ustalona w konfiguracji. Produkt nie musiał być wcześniej wystawiony, aby mógł się wznowić - wystarczy żeby miał wybrane wszystkie wymagane parametry.

Pełna synchronizacja Synchronizuje wszystkie możliwe parametry poza ilością. Aktualizuje zdjęcia, opis, kategorię i parametry, cenę, opcje dostawy itd. Niektóre parametry nie są aktualizowane, jeśli na aukcji były oferty kupna np. tytuł aukcji.

Po kliknięciu rozpoczyna się proces synchronizacji który może trwać od kilku do kilkunastu minut.

W dolnej części strony znajdziesz również 3 tabele:

AKTUALIZACJA STANÓW / ZAKOŃCZENIE - Lista produktów wymagających aktualizacji stanów w sklepie, na aukcji lub wymagających zakończenia oferty.

TRANSAKCJE - Lista nowych transakcji w serwisie które zostaną zaimportowane jako zamówienia (w zależności od preferencji importu zamówień nie każda transakcja musi zostać zaimportowana).

WZNAWIANIE - Lista produktów allegro oczekujących na wznowienie.

Synchronizacja automatyczna - konfiguracja CRON

W większości przypadków nie chcemy wykonywać ręcznie synchronizacji, aby zautomatyzować ten proces dostępne w module są 3 skrypty które służa do stworzenia na serwerze zadań CRON które automatycznie wykonują cały proces w tle o wybranych przez nas godzinach.

Skrypty te znajdują się w katalogu modułu na serwerze:

/modules/allegro/cron-order.php

/modules/allegro/cron-relist.php

/modules/allegro/cron-stock.php

Każdy z nich odpowiada za kolejno import zamówień, wznawiania aukcji oraz synchronizację stanów.

Konfiguracja zadań CRON na różnych serwerach może wyglądać inaczej, poniższe przykłady bazują na popularnym panelu zarządzania serwerem DirectAdmin. Jeśli nie możesz znaleźć analogicznych ustawień u swojego usługodawcy hostingu skontaktuj się z supportem.

Aby dodać nowe zadanie CRON na serwerze zaloguj się do panelu zarządzania serwerem i odnajdź opcję Zadania cron.

W formularzu wybierz czas wykonywania zadania np. co 5 minut oraz podaj ścieżkę skryptu.

W polu Minuta wpisz: “*/5” (pozostałe pozostaw “*”).

W polu Komenda wpisz:

/usr/local/bin/php /home/nazwa_konta/domains/domain.com/public_html/modules/allegro/cron-stock.php &>/dev/null

Gdzie nazwa_konta to właściwa nazwa konta i domain.com to właściwa domena. Podpowiedź znajdziesz na dole strony.

Przykład jak powinno wyglądać utworzone zadanie:

Analogicznie możesz dodać kolejne zadania dla wznawiania aukcji i importu zamówień.

Wszystkie informacje o błędach i problemach podczas synchronizacji będą zapisywane w logach PrestaShop (zakładka Zaawansowane > Logi).

Możesz również przetestować skrypty uruchamiając je poprzez przeglądarkę, linki znajdziesz na stronie synchronizacji.

Synchronizacja CRON odbywa się dla wszystkich aktywnych w module kont allegro oraz sklepów i działa analogicznie do tej wykonywanej ręcznie (z tym że ta druga wykonywana jest w ramach aktualnie wybranego konta allegro i sklepu lub grupy sklepów).

Modyfikacje modułu

Często zachodzi potrzeba zmodyfikowania działania modułu czy dostosowania do indywidualnych potrzeb użytkownika dlatego w wersji 4.1.2 wprowadziliśmy łatwy sposób modyfikowania działania aplikacji bez utraty zmian po aktualizacji.

Mechanizm jest zbliżony do wbudowanego w PrestaShop mechanizmu nadpisywania "override" klas, kontrolerów oraz widoków jest on jednak niezależny od silnika i działa tylko w obrębie modułu. Modyfikowanie modułu wymaga wiedzy z zakresu PHP i działania silnika PrestaShop więc odradzamy korzystanie z tej funkcji niedoświadczonym użytkownikom.

Klasy

Aby zmodyfikować klasę modułu należy stworzyć plik w katalogu /modules/allegro/override_module/classes/ o nazwie odpowiadającej dane klasie np. AllegroAuction.php:

<?php

class AllegroAuction extends AllegroAuctionCore
{
	public function add($auto_date = true, $null_values = false)
	{
		// Kod modyfikacji
		// Wyślij email przy tworzeniu nowej aukcji
		mail(
			Configuration::get('PS_SHOP_EMAIL'), 
			'Wiadomość z modułu allegro', 
			'Aukcja utworzona #'.(float)$this->id_auction
		);

		// Wykonujemy metodę rodzica
		return parent::add($auto_date, $null_values);
	}
}

Ważne:

  • Klasa musi mieć nazwę AllegroXXXX i dziedziczyć po klasie AllegroXXXCore
  • Plik musie znajdować się w katalogu /override_module/classes (nie mylić z /override/classes)

Kontrolery

Aby zmodyfikować kontroler modułu należy stworzyć plik w katalogu /modules/allegro/override_module/controllers/admin/ o nazwie odpowiadającej dane klasie np. AdminAllegroProductController.php:

<?php

class AdminAllegroProductController extends AdminAllegroProductControllerCore
{
    public function __construct()
    {
        // Wykonujemy metodę rodzica
        parent::__construct();

        // Kod modyfikacji
        // Dodaj do tabeli produktów kolumnę z ceną dostawcy
        $this->fields_list['wp'] = array(
            'title' => $this->l('Wholesale price'),
            'type' => 'price',
            'filter_key' => 'p!wholesale_price',
        );
    }
}

Ważne:

  • Klasa musi mieć nazwę AdminAllegroXXXXontroller i dziedziczyć po klasie AdminAllegroXXXControllerCore
  • Plik musie znajdować się w katalogu /override_module/controllers/admin/ (nie mylić z /override/classes)

Widoki

Aby zmodyfikować widok (pllik *.tpl) modułu należy stworzyć plik w katalogu /modules/allegro/override_module/views/templates/xxx o nazwie takiej jak żądany plik widoku np. /allegro/override_module/views/templates/admin/allegro_product/form.tpl:

<div class="alert alert-success">Modyfikacja widoku!</div>

Spowoduje to zastąpienie oryginalnego formularza produktu plikiem umieszczonym w katalogu override_module.

Znaczniki szablonu

W module dostępne są znaczniki szablonu które pozwalają umieścić dane produktów w opisie oferty allegro jak np. [product_name], opócz domyślnie dostępnych znaczników możesz tworzyć swoje własne i generować opis w sposób indywidualny.

Znaczniki korzystają z silnika SMARTY a co za tym idzie daje to ogromne możliwości generowania tereści dzięki zastosowaniu zmiennych, pętli, instrukcji warunkowych czy modyfikatrów.

Aby dodać znacznik utwórz nowy plik o dowolnej nazwie (tylko małe litery oraz _) oraz rozszerzeniu .tpl w katalogu /modules/allegro/views/theme/. Plik może zawierać kod html oraz SMARTY, dostępne zmienne:

ZmiennaTypOpis
$allegro_productobjectObiekt klasy AllegroProduct
$productobjectObiekt klasy Product
$product_combinationobjectObiekt klasy Combination
$product_pricefloatCena produktu brutto włączając narzut allegro
$imagesarrayTablica zdjęci produktów
$stock_managementstringStatus funkcji zarządzania magazynem PrestaShop
$customizationFieldsarray|boolLista pól dostosowani produktów lub false
$manufacturerobjectObiekt klasy Manufacturer
$featuresarrayLista cech produktu
$attachmentsarrayLista załączników produktu
$allegro_fieldsarrayLista pól formularza allegra (wszystkie pola użyte do wystawienia aukcji)
$attributes_namesstringNazwy wszystkich atrybutów produktu

Ponadto masz dostęp do domyślnych zmienny specyficznych dla danej wersji PrestaShop zmiennych. Jeśli potrzebujesz utworzyć nową zmienną aby skorzystać z niej w szablonie powinieneś nadpisać metodę AllegroContentBuilder::initSmarty().

Poniżej przykładowy kod znacznika który wyświetli listę załączników produktu w formie listy:

{if !empty($attachments)}
    <ul>
    {foreach from=$attachments item=attachment}
        {$url="`$link->getPageLink('')`?controller=attachment&id_attachment=`$attachment.id_attachment`"}
        <li>
            <b>{$attachment.name|escape:'html':'UTF-8'}</b> -
            <a href="{$url|escape:'html':'UTF-8'}">
                {$url|escape:'html':'UTF-8'} ({($attachment.file_size/1024)|round:1} kB )
            </a>
        </li>
    {/foreach}
    </ul>
{/if}

Plik o nazwie np. product_attachments.tpl powinieneś umieścić w katalogu /modules/allegro/views/theme/. Następnie w edytorze szablonu mozesz skorzystać ze znacznika [product_attachments].

Pamiętaj mimo że w tworząc znacznik możesz w nim umeiścić dowolny kod HTML to w przypdaku nowego formatu opisów allegro moduł usunie wszystkoe niedozwolone przez ten format znaczniki i pozostawi jedynie: p, ul, li, b, h1, h2.