Integracja z PrestaShop 1.7

PrestaShop to popularna platforma oferująca wsparcie w budowaniu i skalowaniu działalności eCommerce. Jeżeli posiadasz sklep na platformie PrestaShop 1.7, możesz zintegrować go z platformą SALESmanago i przesyłać pomiędzy nimi dane o Kontaktach oraz dane transakcyjne. Informacje te możesz wykorzystywać do celów automatyzacji marketingu, a w rezultacie – zwiększania sprzedaży.

Aby pobrać najnowszą wersję wtyczki, kliknij tutaj.


Spis treści


1. Podstawowe informacje

W tym artykule znajdziesz szczegółowe informacje na temat integracji z platformą  PrestaShop 1.7. Wtyczka jest stale udoskonalana i dostępna za darmo dla naszych klientów.

Integracja ta umożliwia przesyłanie istotnych danych o Kontaktach i transakcjach pomiędzy platformą PrestaShop 1.7 a platformą SALESmanago. Informacje te możesz wykorzystać do zautomatyzowania działań marketingowych i tym samym zwiększenia sprzedaży w swoim sklepie.

Wtyczka obsługuje wszystkie sklepy utworzone na danej instancji PrestaShop w ramach funkcjonalności multistore. Po zainstalowaniu wtyczki należy aktywować integrację poprzez zalogowanie się na konto SALESmanago osobno dla każdego ze sklepów,  który ma zostać zintegrowany. W tym celu wybierz z listy właściwy sklep, przejdź do modułu SALESmanago i wprowadź swoje dane logowania (zob. sekcja 4 – Konfiguracja).

WAŻNE: Pojedynczy sklep może być w danym momencie zintegrowany tylko z jednym kontem SALESmanago (podczas gdy pojedyncze konto SALESmanago może być zintegrowane z wieloma sklepami).

UWAGA: Moduł SALESmanago wymaga interpretera PHP w wersji 7.0 lub wyższej.

Jeżeli używasz poprzedniej wersji platformy PrestaShop, przejdź do artykułu poświęconego integracji z PrestaShop 1.6 >>


2. Zakres integracji

Po zalogowaniu do wtyczki, synchronizacja i przesyłanie danych zachodzą automatycznie.

Zakres integracji obejmuje przesyłanie do SALESmanago następujących danych:

  • Kontakty pozyskane w wyniku rejestracji i zakupu.
  • Subskrybenci newslettera.
  • Zdarzenia Zewnętrzne: koszyk (CART) oraz zakup (PURCHASE).
  • Status zapisu do newslettera (opt-in/opt-out).
  • Dane archiwalne (eksport archiwalnych danych o Kontaktach oraz danych transakcyjnych).

Ponadto z platformy SALESmanago na platformę PrestaShop przesyłane są dane umożliwiające synchronizację statusu opt-in/opt-out.

W wyniku integracji Kod Monitorujący SALESmanago zostaje automatycznie dodany na każdą stronę zintegrowanego sklepu.


3. Instalacja

Kliknij tutaj, aby pobrać najnowszą wersję wtyczki >>

Po pobraniu wtyczki przejdź na platformę PrestaShop i z bocznego menu, z sekcji ULEPSZENIA, wybierz Moduły [1] → Module Manager [2].

Na kolejnym ekranie kliknij Załaduj moduł [3] i wgraj uprzednio pobrany plik.

Po poprawnym załadowaniu zobaczysz ekran z następującym komunikatem:

Kliknij Konfiguruj [4], aby przejść do kolejnego etapu integracji.

W przypadku problemów z wtyczką (brak możliwości zalogowania, niepoprawne funkcjonowanie integracji) wróć do Menedżera Modułów (Module Manager), znajdź SALESmanago na liście i z rozwijanego menu wybierz Wyczyść, aby przywrócić ustawienia domyślne. Kiedy zobaczysz okno z prośbą o potwierdzenie, kliknij Tak, zresetuj.

W ten sposób możesz kontynuować konfigurację bez konieczności ponownej instalacji wtyczki.


4. Konfiguracja

A. Logowanie

Po przejściu do modułu SALESmanago zobaczysz ekran logowania. W pierwszej kolejności wybierz sklep, który chcesz zintegrować z SALESmanago. Na platformie PrestaShop, w prawym górnym rogu, wybierz sklep z listy rozwijanej:

WAŻNE: Jeżeli korzystasz z funkcjonalności multistore, musisz zintegrować każdy sklep z osobna.

Informację o tym, do jakiego sklepu się właśnie logujesz (czyli: który sklep zostanie zintegrowany z SALESmanago) znajdziesz na lewo od panelu logowania.

WAŻNE: Pojedynczy sklep może być w danym momencie zintegrowany tylko z jednym kontem SALESmanago (podczas gdy pojedyncze konto SALESmanago może być zintegrowane z wieloma sklepami).

Po wybraniu właściwego sklepu, w polach [1] oraz [2] wprowadź dane, za pomocą których logujesz się do systemu SALESmanago.

Jeżeli twoje konto SALESmanago używa niestandardowego endpointu (tzn. lokalizacji innej niż www.salesmanago.pl, app2.salesmanago.pl lub app3.salesmanago.pl), zaznacz opcję Chcę zmodyfikować swój endpoint [3]. Następnie wprowadź adres w polu Ustaw własny endpoint [A].

UWAGA: Do adresu URL endpointu nie należy dodawać „http://”, „https://” ani końcowego ukośnika (/). Przykład: domena.salesmanago.pl

Po wprowadzeniu niezbędnych danych kliknij Zaloguj się [4].

UWAGA: Opisany sposób logowania nie ma zastosowania, jeżeli korzystasz z opcji autentykacji dwustopniowej (2FA). Wynika to ze specyfiki tej metody. W celu uzyskania dalszych informacji, skontaktuj się z działem Customer Success.

Po zalogowaniu zobaczysz panel startowy zawierający informacje o najnowszych zmianach i wersjach wtyczki.

UWAGA: Po uwierzytelnieniu i połączeniu z systemem SALESmanago integracja będzie aktywna, co oznacza, że Kontakty i Zdarzenia Zewnętrzne będą przesyłane do SALESmanago automatycznie. Na górnym pasku menu zobaczysz przycisk Dezaktywuj, pozwalający na wyłączenie integracji. Dezaktywacja spowoduje, że Kontakty i Zdarzenia Zewnętrzne przestaną być przesyłane z PrestaShop do SALESmanago.

Aby skonfigurować wtyczkę, skorzystaj z górnego paska menu:

lub przejdź do bocznego menu PrestaShop, gdzie zobaczysz sekcję SALESmanago:

B. Ustawienia konta

Na tej zakładce możesz zdefiniować ustawienia integracji związane z kontem SALESmanago.

[1] Opt-in callback URL oraz [2] Opt-out callback URL – Callbacki umożliwiają synchronizację statusu zapisu na newsletter z SALESmanago do PrestaShop 1.7. Jeżeli status opt-in/opt-out danego Kontaktu ulegnie zmianie w systemie SALESmanago, informacja ta zostanie również zaktualizowana na platformie PrestaShop.

Aby ustawić callbacki, skopiuj automatycznie wygenerowane adresy URL podane w polach [1] i [2]. Następnie przejdź do menu SALESmanago → Centrum Integracji → Callbacki i wklej je we właściwych polach (odpowiednio [A] i [B]). Kliknij Zapisz.

[3] ID Klienta – twoje ID Klienta w systemie SALESmanago. Pole to jest nieedytowalne, jako że jego zawartość zaciągana jest automatycznie z SALESmanago.

[4] Endpoint – endpoint twojego konta SALESmanago. Pole to jest nieedytowalne, jako że jego zawartość zaciągana jest automatycznie z SALESmanago.

[5] ID Sklepu – identyfikator twojego sklepu. Wartość pola ID Sklepu przesyłana jest w Zdarzeniach Zewnętrznych jako location. Jeżeli korzystasz z Katalogu Produktowego / Feedu Produktowego XML, zmień domyślne ID Sklepu tak, aby było identyczne z wartością pola location w Katalogu/Feedzie.

UWAGA: ID Sklepu musi zawierać od 3 do 36 znaków i nie może zaczynać się od cyfry. Jedyny dopuszczalny znak specjalny to “_”.

[6] E-mail klienta – wybierz właściciela Kontaktów, do którego będą przypisywane Kontakty pozyskane za pośrednictwem danego sklepu.

UWAGA: Lista właścicieli przesyłana jest przez system SALESmanago w momencie logowania do wtyczki. Jeżeli od tego momentu w liście zaszły jakiekolwiek zmiany, kliknij przycisk Odśwież [A] w celu jej zaktualizowania.

[7] Podczas rejestracji użytkownika pobierz status zgody z SALESmanago – zaznacz TAK, jeśli chcesz, aby system automatycznie sprawdzał, czy Kontakt rejestrujący się w sklepie istnieje już w twojej bazie w SALESmanago. Jeżeli Kontakt znajduje się w bazie ze statusem opt-in, ale nie zaznaczy zgody na otrzymywanie newslettera podczas rejestracji, to zarówno w systemie SALESmanago, jak i na platformie PrestaShop będzie mieć status opt-in.

[8] Użyj Double opt-in podczas zapisu użytkownika na listę odbiorców newslettera  – zaznacz TAK, jeśli chcesz, aby osoby zapisujące się do twojego newslettera przechodziły dwuetapowy proces wyrażania zgody.

Dowiedz się więcej o mechanizmie double opt-in (podwójnej zgody) >>

WAŻNE: Aby mechanizm double opt-in mógł zadziałać, opcja Wysyłaj e-mail potwierdzający zapis do użytkownika na platformie SALESmanago (Menu → Ustawienia → Inne) musi być zaznaczona.

Inaczej każdy nowy Kontakt, który zapisze się na newsletter, otrzyma status opt-in (bez konieczności potwierdzania zapisu).

Po zaznaczeniu opcji TAK zobaczysz trzy pola [A, B, C] dotyczące ustawień double opt-in:

Pola uzupełnij danymi z aplikacji SALESmanago.

Dowiedz się, gdzie znaleźć potrzebne dane >>

WSKAZÓWKA: Przed wdrożeniem mechanizmu double opt-in utwórz email HTML z potwierdzeniem subskrypcji (E-mail Marketing → Lista E-maili → Potwierdzenia subskrypcji). Wprowadź jego dane w systemie SALESmanago (Menu → Ustawienia → Inne) lub w module SALESmanago na platformie PrestaShop (zob. WAŻNE poniżej).

WAŻNE: Należy albo uzupełnić wszystkie trzy pola, albo nie uzupełniać żadnego. Informuje o tym komunikat wyświetlany po zaznaczeniu opcji TAK:

Jeżeli pozostawisz wszystkie pola puste, dane zostaną automatycznie pobrane z platformy SALESmanago. W takim wypadku należy upewnić się, że ustawienia double opt-in są odpowiednio zdefiniowane na platformie SALESmanago (Menu → Ustawienia → Inne, sekcja Ustawienia językowe).

WAŻNE: Upewnij się, że w tej samej lokalizacji na platformie SALESmanago (Menu → Ustawienia → Inne) zaznaczona jest opcja Wysyłaj e-mail potwierdzający zapis do użytkownika:

Po wprowadzeniu odpowiednich zmian kliknij Zapisz [9].

C. Ustawienia platformy

Tutaj możesz zdefiniować ustawienia integracji związane z platformą PrestaShop.

[1] Skonfiguruj obsługę Zdarzeń Zewnętrznych typu PURCHASE na swojej platformie

[A] Wybierz zdarzenie – wybierz z listy hook obsługujący Zdarzenia Zewnętrzne typu PURCHASE (zakup).

Hook to mechanizm, który uruchamia pewne działanie (w przypadku wtyczki SALESmanago może to być przesłanie Kontaktu do systemu SALESmanago) w określonym momencie.  Aby zapewnić, że mechanizm ten działa prawidłowo z różnymi metodami płatności oraz przetwarzania zamówień, nasza wtyczka umożliwia wybranie hooka obsługującego zdarzenia typu PURCHASE (zakup).

Na liście dostępne są następujące opcje:

  • actionValidateOrder,
  • actionOrderStatusPostUpdate,
  • actionPaymentConfirmation,
  • actionOrderStatusUpdate.

Szczegółowe opisy poszczególnych hooków znajdziesz w sekcji 5.E. Ustawienia hooka zakupu.

[2] Identyfikator produktu – zdefiniuj sposób mapowania (identyfikowania) produktów w polu Produkty w Zdarzeniach Zewnętrznych. Do wyboru masz dwie opcje:

  • Produkty proste – w Zdarzeniach Zewnętrznych, w polu Produkty, produkty będą identyfikowane za pomocą pojedynczej zmiennej, do wyboru z listy rozwijanej:
  • ID – oznaczenie produktu stworzone w obrębie twojego sklepu;
  • Reference – oznaczenie produktu obowiązujące w handlu, tj. kod SKU.
  • Produkty z kombinacjami – w Zdarzeniach Zewnętrznych, w polu Produkty, produkty będą identyfikowane za pomocą zestawu dwóch zmiennych oddzielonych pojedynczym znakiem (separatorem). Pierwsza zmienna odpowiada produktowi głównemu, natomiast druga – wariantowi produktu. Każdy z tych elementów należy wybrać z listy rozwijanej.

PRZYKŁADY:

W Zdarzeniach Zewnętrznych produkty będą przesyłane w formie: id_reference.

W Zdarzeniach Zewnętrznych produkty będą przesyłane w formie: reference&reference.

Więcej o mapowaniu przeczytasz w sekcji 5. Opis techniczny.

[3] Wybierz przez jaki czas zdarzenie koszyk będzie aktualizowane – określ czas, po upływie którego aktualizacja koszyka traktowana będzie jako nowe Zdarzenie Zewnętrzne. Wszelkie zmiany w koszyku dokonywane przed upływem tego okresu będą traktowane jako część tego samego Zdarzenia Zewnętrznego. Dostępne opcje to:

  • Modyfikacja koszyka utworzy nowe zdarzenie zew. (zdarzenie CART nie będzie nigdy aktualizowane; każda zmiana w koszyku, trafi do bazy SALESmanago jako odrębne Zdarzenie Zewnętrzne),
  • 15 min,
  • 1 h,
  • 4 h,
  • 12 h (domyślnie),
  • 7 dni,
  • Aktualizacje koszyka zawsze będą aktualizowały zdarzenie zew. (każda zmiana w koszyku traktowana będzie jako aktualizacja; w bazie SALESmanago widnieć będzie pojedyncze Zdarzenie Zewnętrzne).

PRZYKŁADY:

  • Jeżeli chcesz, aby na platformę SALESmanago przesyłana była jedynie ostateczna zawartość koszyka, wybierz “Aktualizacje koszyka zawsze będą aktualizowały zdarzenie zew.”.
  • Jeżeli chcesz, aby w przypadku, gdy Klient zmieni zawartość koszyka 4 godziny po jego utworzeniu, do SALESmanago przesyłane było nowe zdarzenie CART, wybierz “4 h”.
  • Jeżeli chcesz, aby na platformę SALESmanago przesyłana była cała historia koszyka (każde dodanie, usunięcie lub zmiana liczby produktów), wybierz “Modyfikacja koszyka utworzy nowe zdarzenie zew.”.

[4] Ignorowane domeny mailowe – określ domeny mailowe, które mają być ignorowane, tzn. domeny, dla których do SALESmanago nie będą przesyłane dane.

Szczególnie zalecane jest wpisanie na tę listę domen mailowych tymczasowych oraz pośrednich, takich jak allegromail.pl.

PRZYKŁAD: Jeżeli wpiszesz w tym polu przyklad.com, Kontakty korzystające z tej domeny email (posiadające adresy e-mail zakończone na: @przyklad.com) nie będą przesyłane na platformę SALESmanago.

WAŻNE: Poszczególne domeny oddzielaj przecinkami, bez użycia spacji.

[5] Ustaw tagi, które będą przypisywane kontaktom przesyłanym do SALESmanago:

[A] Tagi logowania – wprowadź tagi, które mają być przypisywane użytkownikom po zalogowaniu do twojego sklepu online.

[B] Tagi rejestracji – wprowadź tagi, które mają być przypisywane użytkownikom po utworzeniu nowego konta w twoim sklepie online.

[C] Tagi newslettera – wprowadź tagi, które mają być przypisywane użytkownikom po zapisie na newsletter.

[D] Tagi zakupu – wprowadź tagi, które mają być przypisywane zarejestrowanym użytkownikom po dokonaniu zakupu w twoim sklepie online.

[E] Tagi zakupu jako gość – wprowadź tagi, które mają być przypisywane niezarejestrowanym użytkownikom dokonującym zakupu jako goście.

WAŻNE: Poszczególne tagi oddzielaj przecinkami, bez użycia spacji.

[6] Czas życia ciasteczek– określ, przez jaki czas ciasteczka SALESmanago (wszystkie z wyjątkiem smevent) będą aktywne, tzn. po jakim okresie wygasną. Wpisz liczbę dni w polu [A].

Domyślne ustawienie to 3652 dni, czyli 10 lat.

[7] Powiadomienia Web Push – istnieje możliwość wyświetlania powiadomień Web Push stworzonych w SALESmanago bezpośrednio z domeny twojego sklepu. Kliknij przycisk Utwórz plik sw.js [B], aby wygenerować plik typu service worker odpowiadający za funkcjonowanie powiadomień Web Push.

UWAGA: Jeżeli prawa dostępowe serwera nie pozwalają, aby moduł tworzył pliki, lub jeżeli moduł nie ma dostępu do ścieżki root domeny, lub jeżeli istnieje już inny plik sw.js, to wtyczka nie wygeneruje pliku sw.js (zostanie wyświetlony komunikat o błędzie).

UWAGA: Bez pliku sw.js powiadomienia Web Push utworzone w SALESmanago i wyświetlane na twojej stronie będą mieć domenę: [yourshop].com.salesmanagopush.com.

[8] Zarządzaj swoim kodem monitorującym

[A] Wyłącz kod monitorujący – zaznacz TAK, jeżeli nie chcesz, aby Kod Monitorujący SALESmanago został automatycznie dodany na twoją stronę. W takim przypadku musisz samodzielnie dodać skrypt do kodu platformy (np. w stopce).

WAŻNE: Wyłączenie Kodu Monitorującego spowoduje, że niemożliwa będzie zmiana pozostałych ustawień z poziomu modułu. Wszelkie zmiany trzeba będzie wprowadzać ręcznie w samodzielnie dodanym skrypcie.

[B] Dodaj flagę ‘smcustom’ do kodu monitorującego – zaznacz TAK, jeżeli chcesz, aby do Kodu Monitorującego została dodana zmienna _smcustom z wartością “true”, która pozwala na wdrożenie customowych skryptów pisanych w aplikacji SALESmanago.

[C] Dodaj popup.js do kodu monitorującego – zaznacz TAK, jeżeli chcesz, aby do Kodu Monitorującego został dodany skrypt pozwalający na wyświetlanie pop-upów na stronie.

[D] Dodaj flagę ‘smbanners’ do kodu monitorującego – zaznacz “TAK”, jeżeli chcesz, aby do Kodu Monitorującego została dodana zmienna _smbanners z wartością “true”, która pozwala na wdrożenie skryptu do banerów.

[E] Obecnie używany kod monitorujący – podgląd aktualnego Kodu Monitorującego SALESmanago na twojej platformie.

Po wprowadzeniu odpowiednich zmian kliknij Zapisz [9].

D. Eksport

Tutaj możesz wyeksportować archiwalne Kontakty i Zdarzenia Zewnętrzne z twojego sklepu do systemu SALESmanago.

UWAGA: Opcje eksportu przeznaczone są dla danych pozyskanych przed zainstalowaniem i aktywowaniem wtyczki. Począwszy od momentu zalogowania się do wtyczki, Kontakty i Zdarzenia przesyłane są do SALESmanago automatycznie.

UWAGA: Podczas eksportu Kontaktów oraz Subskrybentów pomijane są Kontakty, których adresy e-mail zawierają domeny wpisane na listę ignorowanych domen w zakładce Ustawienia platformy (zob. sekcja 4.B).

WAŻNE: Pamiętaj, aby przed wyeksportowaniem zdarzeń typu CART (koszyk) oraz PURCHASE (zakup) koniecznie wyeksportować dane o Kontaktach. W bazie SALESmanago muszą istnieć Kontakty, do których można przypisać dany koszyk lub zakup.

WAŻNE: Kontakty możesz eksportować wielokrotnie, tzn. dane Kontaktów będą aktualizowane w bazie systemu SALESmanago przy każdym zleceniu eksportu. Natomiast w przypadku Zdarzeń Zewnętrznych ich ponowny eksport oznacza  duplikację danych na platformie SALESmanago.

WAŻNE: Przed przeprowadzeniem integracji upewnij się, że na platformie SALESmanago nie ma aktywnych Reguł Automatyzacji ani Workflow obejmujących zdarzenia typu: Zdarzenie: Kontakt został dodany do systemu czy też Zdarzenie: Wystąpiło nowe Zdarzenie Zewnętrzne, od których uzależnione są pewne działania (Akcje). Inaczej w wyniku eksportu danych archiwalnych z wybranej kategorii do systemu SALESmanago każdy eksportowany Kontakt czy też każde eksportowane Zdarzenie Zewnętrzne uruchomi taki Proces Automatyzacji.

WAŻNE: Jeżeli w dowolnej z czterech kategorii (Kontakt, Subskrybenci, Koszyki, Zdarzenia) klikniesz na EKSPORT [1], zostaną wyeksportowane wszystkie istniejące dane z danej kategorii – bez żadnych filtrów czy tagów. W celu określenia dokładnych parametrów, wybierz opcję USTAWIENIA [2].

D.1. Kontakty

[1] Zakres dat – określ przedział czasowy, dla którego chcesz eksportować dane o Kontaktach.

[A] Przelicz – kliknij na ten przycisk, aby zobaczyć, ile Kontaktów zostanie objętych eksportem na podstawie określonego zakresu czasu. Ułatwi to planowanie procesu przenoszenia danych.

[2] Dodaj tagi do eksportowanych Kontaktów – tutaj możesz zdefiniować tagi, jakie zostaną dodane do Kontaktów zawartych w eksporcie. Poszczególne tagi oddzielaj przecinkami, bez użycia spacji. Tagiem domyślnym jest prestashop_export.

[3] Eksportuj Kontakty, które zostały usunięte z platformy bez możliwości ponownego zakładania konta – tutaj możesz zdecydować, czy chcesz eksportować również te Kontakty, które zostały usunięte z listy klientów w panelu sklepu, jednak pozostawione w bazie danych PrestaShop. Dokładniejsze informacje na temat tej opcji znajdziesz w sekcji 6.B Usuwanie użytkowników.

Po zdefiniowaniu parametrów kliknij Eksport [4].

D.2. Subskrybenci

[1] Zakres dat – określ przedział czasowy, dla którego chcesz eksportować dane o Subskrybentach. Subskrybenci sklepowi zostaną dodani do bazy danych SALESmanago jako Kontakty.

[A] Przelicz – kliknij na ten przycisk, aby zobaczyć, ilu Subskrybentów zostanie objętych eksportem na podstawie określonego zakresu czasu. Ułatwi to planowanie procesu przenoszenia danych.

[2] Dodaj tagi do eksportowanych subskrybentów – tutaj możesz zdefiniować tagi, jakie zostaną dodane do Subskrybentów objętych eksportem. Poszczególne tagi oddzielaj przecinkami, bez użycia spacji. Tagiem domyślnym jest prestashop_subscribers_export.

[3] Eksportuj kontakty, które wypisały się z newslettera – możesz zdecydować, czy chcesz eksportować również te Kontakty, które wypisały się z newslettera. Zostaną one przesłane na platformę SALESmanago ze statusem opt-out.

Po zdefiniowaniu parametrów kliknij Eksport [4].

D.3. Koszyki

WAŻNE: Pamiętaj, aby przed wyeksportowaniem koszyków koniecznie wyeksportować dane o Kontaktach. W bazie SALESmanago muszą istnieć Kontakty, do których można przypisać dany koszyk lub zakup.

[1] Zakres dat – określ przedział czasowy, dla którego chcesz eksportować Zdarzenia Zewnętrzne typu CART (koszyk).

[A] Przelicz – kliknij na ten przycisk, aby zobaczyć, ile koszyków zostanie objętych eksportem na podstawie określonego zakresu czasu. Ułatwi to planowanie procesu przenoszenia danych.

Po zdefiniowaniu parametrów kliknij Eksport [2].

D.4. Zdarzenia

WAŻNE: Pamiętaj, aby przed wyeksportowaniem Zdarzeń (zamówień) koniecznie wyeksportować dane o Kontaktach. W bazie SALESmanago muszą istnieć Kontakty, do których można przypisać dany koszyk lub zakup.

[1] Zakres dat – określ przedział czasowy, dla którego chcesz eksportować Zdarzenia Zewnętrzne typu PURCHASE (zakup).

[2] Wybierz statusy zamówień, które chcesz wyeksportować – tutaj możesz określić, jakie statusy zamówień mają być uwzględnione w eksporcie. Domyślnie zaznaczone statusy zamówień to “płatność zaakceptowana” oraz “dostarczone” (jeżeli zachodzi taka potrzeba, możesz je odznaczyć).

Jeżeli chcesz eksportować również zamówienia o innych statusach, kliknij Pokaż więcej statusów [A] i zaznacz odpowiednie opcje na liście.

[B] Przelicz – kliknij na ten przycisk, aby zobaczyć, ile zamówień zostanie objętych eksportem na podstawie określonego zakresu czasu oraz wybranych statusów. Ułatwi to planowanie procesu przenoszenia danych.

IMPORTANT: Jeżeli korzystasz jednocześnie z filtra zakresu dat oraz filtra statusów, eksportowane zostaną jedynie te Kontakty, które spełniają oba warunki.

Po zdefiniowaniu parametrów kliknij Eksport [3].

D.5. Archiwum eksportów

Archiwum eksportów przechowuje w bazie danych maksymalnie 10 pozycji. Jeżeli ta liczba zostanie przekroczona, najstarszy zapis zostanie usunięty z bazy danych, a na jego miejscu pojawi się nowy.

W archiwum znajdziesz następujące informacje:

[1] # – identyfikator eksportu, wartość unikatowa (przykład: wartość 4 oznacza, że to czwarty eksport w historii, tzn. od momentu zainstalowania wtyczki);

[2] Typ – określenie rodzaju eksportu: Kontakty czy Zdarzenia;

[3] Data – data i czas dokonania eksportu;

[4] Ilość – liczba wierszy danych, które zostały przekazane w ramach danego eksportu;

[5] Zakres dat – zakres czasowy, z którego wysłano dane do SALESmanago;

[6] Liczba wyeksportowanych paczek – przyjmuje format X/Y; określa liczbę poprawnie wyeksportowanych paczek w ramach danego eksportu (wartość X) oraz liczbę wszystkich paczek w danym eksporcie (wartość Y);

[7] Wyświetlany – ostateczny status eksportu;

[8] Akcja – tutaj możesz usunąć dane dotyczące konkretnego eksportu z archiwum.

E. Analiza systemu

Na tej zakładce znajdziesz szereg informacji dotyczących wtyczki SALESmanago, natywnego modułu subskrypcji newslettera oraz platformy PrestaShop. Dane te mogą okazać się przydatne w przypadku wystąpienia różnych problemów.

[1] Wersja wtyczki – aktualna wersja wtyczki SALESmanago.

[2] Wersja platformy (PrestaShop) – aktualna wersja platformy PrestaShop.

[3] Wersja PHP – wersja interpretera PHP obecnie ustawiona na serwerze.

[4] Wersja modułu subskrypcji biuletynu – aktualna wersja natywnego modułu do subskrypcji newslettera.

[5] Obecnie używana konfiguracja wtyczki – pełna konfiguracja wszystkich ustawień modułu zebrana w postaci tablicy.

[6] Wpisy z dziennika rejestru – wiersze wyjęte z pliku z logami błędów, zawierające  frazę “salesmanago”.


5. Opis techniczny

A. Pola danych w Zdarzeniach Zewnętrznych

A.1 CART (koszyk)

Dane przesyłane w zdarzeniach typu koszyk (CART):

  • Typ – rodzaj Zdarzenia Zewnętrznego: CART (koszyk).
  • Zewnętrzne ID – ID nadane Zdarzeniu przez platformę PrestaShop.
  • Wartość – łączna wartość produktów dodanych do koszyka.
  • Data – data wystąpienia Zdarzenia.
  • Produkty – produkty dodane do koszyka, oznaczane zgodnie z opcją mapowania wybraną w Ustawieniach Platformy (zob. sekcję 4. Konfiguracja – B. Ustawienia platformy – [2] Identyfikator produktu), oddzielane przecinkami.
  • Lokalizacja – ID sklepu. Wartość domyślna jest generowana przez wtyczkę SALESmanago i składa się z 32 znaków poprzedzonych prefiksem sm_. Możesz również określić własne ID Sklepu.
    • WAŻNE: ID Sklepu musi zawierać od 3 do 36 znaków i nie może zaczynać się od cyfry. Jedyny dopuszczalny znak specjalny to “_”.
    • WAŻNE: Jeżeli korzystasz z Katalogu Produktowego / Feedu Produktowego XML, zmień ID sklepu w ustawieniach wtyczki w taki sposób, aby było identyczne z wartością pola location w Katalogu/Feedzie.
  • Opis – to pole jest puste.
  • Szczegół 1 – nazwy produktów.
  • Szczegół 2 – nazwy wariantów.
  • Szczegół 3 – dodatkowa identyfikacja produktów, w zależności od tego jaką opcję mapowania wybrano dla produktu głównego w Ustawieniach platformy (tzn. jaka wartość znajduje się w polu Produkty). Wartości zawarte w Szczególe 3 to:
    • ID produktów (jeżeli wybrane mapowanie to: reference lub reference-separator-ID lub reference-separator-reference);
    • reference produktów (jeżeli wybrane mapowanie to: ID lub ID-separator-ID lub ID-separator-reference).
  • Szczegół 4 – ilości produktów dodanych do koszyka.
  • Szczegół 5 – waluta Zdarzenia.
  • Szczegół 6 – URL do odzyskiwania porzuconego koszyka.

A.2. PURCHASE (zakup)

Dane przesyłane w zdarzeniach typu zakup (PURCHASE):

  • Typ – rodzaj Zdarzenia Zewnętrznego: PURCHASE (zakup).
  • Zewnętrzne ID – ID nadane Zdarzeniu przez platformę PrestaShop.
  • Wartość – łączna wartość zakupionych produktów.
  • Data – data wystąpienia Zdarzenia.
  • Produkty – zakupione produkty, oznaczane zgodnie z opcją wybraną w Ustawieniach Platformy (zob. sekcję 4. Konfiguracja – B. Ustawienia platformy – [2] Identyfikator produktu), oddzielane przecinkami
  • Lokalizacja – ID sklepu. Wartość domyślna jest generowana przez wtyczkę SALESmanago i składa się z 32 znaków poprzedzonych prefiksem sm_. Możesz również określić własne ID Sklepu.
    • WAŻNE: ID Sklepu musi zawierać od 3 do 36 znaków i nie może zaczynać się od cyfry. Jedyny dopuszczalny znak specjalny to “_”.
    • WAŻNE: Jeżeli korzystasz z Katalogu Produktowego / Feedu Produktowego XML, zmień ID sklepu w ustawieniach wtyczki w taki sposób, aby było identyczne z wartością pola location w Katalogu/Feedzie.
  • Opis – informacja o kupującym: użytkownik zarejestrowany/gość.
  • Szczegół 1 – nazwy produktów.
  • Szczegół 2 – nazwy wariantów.
  • Szczegół 3 – dodatkowa identyfikacja produktów, w zależności od tego jaką opcję mapowania wybrano dla produktu głównego w Ustawieniach platformy (tzn. jaka wartość znajduje się w polu Produkty). Wartości zawarte w Szczególe 3 to:
    • ID produktów (jeżeli wybrane mapowanie to: reference lub referenceseparatorID lub referenceseparatorreference);
    • reference produktów (jeżeli wybrane mapowanie to: ID lub IDseparatorID lub IDseparatorreference).
  • Szczegół 4 – ilości zakupionych produktów.
  • Szczegół 5 – waluta Zdarzenia.
  • Szczegół 6 – informacja o kodzie rabatowym.
  • Szczegół 7 – metoda dostawy.
  • Szczegół 8 – metoda płatności.

B. Eksport

Kontakty oraz Zdarzenia Zewnętrzne przesyłane są w paczkach po 400. Im więcej danych, tym więcej paczek i dłuższy czas wykonywania operacji.

Mechanizm eksportu oparty jest na połączeniu PHP z JavaScript. JavaScript – jako kontroler – nadzoruje przygotowywanie paczek i zapisuje obecny stan eksportu. PHP pełni rolę modelu i zbiera dane do paczki, a następnie przesyła do SALESmanago.

Po każdym poprawnym przesłaniu paczki do SALESmanago, mechanizm przechodzi do kolejnej paczki.

Mechanizm ten rozwiązuje problem z przekroczeniem serwerowego max_execution_time.

W PrestaShop do konta Kontaktu może być przypisany więcej niż jeden adres wysyłkowy (platforma umożliwia dodanie więcej niż jednego adresu). Podczas procesu zamawiania Kontakt wybiera właściwy adres z listy. Do bazy SALESmanago wysyłany jest jedynie domyślny adres konta.

Źródła danych objętych eksportem:

  • Eksport Kontaktów – dane pobierane są z tabel customer oraz address.
  • Eksport Subskrybentów – dane pobierane są z tabel customers, address oraz emailsubscription.

UWAGA: Z tabeli customers pobierane są również te Kontakty, które wyraziły zgodę na newsletter, natomiast z tabeli emailsubscription – w zależności od ustawień eksportu – albo wszyscy subskrybenci (również wypisani), albo jedynie aktualni.

  • Eksport Koszyków – dane pobierane są z tabel cart, customer, cart_product, product_lang, product, currency, orders, shop.
  • Eksport Zamówień – dane pobierane są z tabel order_detail, orders oraz customer.

C. Przerwany eksport

Jeżeli eksport danych zakończy się niepowodzeniem, pasek postępu zatrzyma się, a w prawym górnym rogu pojawi się czerwone okno z informacją o błędzie. 

Więcej informacji na temat statusu eksportu znajdziesz w konsoli JavaScript (Google Chrome: Ctrl + Shift + I) w zakładce Network, wybierając odpowiedni request. W razie problemów skontaktuj się z działem Customer Success.

Jeżeli w trakcie eksportu wystąpi błąd, po odświeżeniu strony zobaczysz następujący komunikat:

W takiej sytuacji do systemu SALESmanago trafią jedynie paczki przesłane przed wystąpieniem błędu. Aby przesłać pozostałe dane, kliknij Wznów przerwany eksport.

D. Tłumaczenia

Wtyczka występuje w dwóch wersjach językowych: polskiej oraz angielskiej. W celu przetłumaczenia wtyczki na inny język, skorzystaj z natywnej funkcjonalności platformy PrestaShop o nazwie Tłumaczenia. W narzędziu tym wybierz opcję tłumaczenia modułów, a następnie wskaż moduł SALESmanago i przetłumacz poszczególne pola według potrzeb.

E. Ustawienia hooka zakupu

W ustawieniach platformy (zob. sekcję 4.B) możesz wybrać z rozwijanej listy hook obsługujący zdarzenia typu PURCHASE (zakup). Hooki te różnią się pod względem momentu wysyłania zdarzeń zakupu na platformę SALESmanago:

  • actionValidateOrder (classes/PaymentModule.php:535) – uruchamia się, gdy zamówienie poprawnie przeszło etap walidacji.
  • actionOrderStatusPostUpdate (classes/order/OrderHistory.php:411) – uruchamia się po zmianie statusu zamówienia.

WAŻNE: Hook ten jest uruchamiany, ZANIM nowy status zamówienia zostanie wpisany do bazy danych.

  • actionPaymentConfirmation (classes/order/OrderHistory.php:103) – uruchamia się, gdy płatność przeszła poprawnie etap walidacji.
  • actionOrderStatusUpdate (classes/order/OrderHistory.php:107) – uruchamia się po zmianie statusu zamówienia.

6. Informacje dla deweloperów

A. Zalecana wersja PHP na serwerze

W zależności od posiadanej wersji platformy PrestaShop ustaw odpowiednią wersję interpretera PHP:

  • PrestaShop 1.7.0–1.7.4.X – PHP 7.1;
  • PrestaShop 1.7.5–1.7.6.X – PHP 7.2;
  • PrestaShop 1.7.7.X – PHP 7.3;
  • PrestaShop 1.7.8.X – PHP 7.4.

B. Usuwanie użytkowników

Przy usuwaniu użytkownika za pośrednictwem panelu sklepu dostępne są dwie opcje:

  • całkowite usunięcie danych klienta z bazy, dające możliwość ponownej rejestracji z użyciem tego samego adresu e-mail;
  • usunięcie klienta jedynie z listy klientów w panelu sklepu przy jednoczesnym pozostawieniu jego danych w bazie PrestaShop. W rezultacie ponowna rejestracja na dany adres e-mail jest niemożliwa.

C. Wykorzystywanie hooków

Zapis do newslettera w wersjach PrestaShop 1.7.0–1.7.6.X przypisany jest do hooka displayFooter, natomiast w wersjach 1.7.7 i nowszych – do hooka actionNewsletterRegistrationBefore.

WAŻNE: actionNewsletterRegistrationBefore – hook z natywnego modułu PrestaShop – dostępny jest w wersji modułu ps_emailsubscription 2.6.0 i wyższych. Jeżeli korzystasz z wersji platformy PrestaShop 1.7.7 lub nowszej, konieczne jest uruchomienie natywnego modułu ps_emailsubscription w wersji 2.6.0 lub wyższej.

Przy rejestracji użytkownika uruchamiany jest hook ActionObjectCustomerAddBefore.

Lista wykorzystywanych hooków:

  • moduleRoutes,
  • displayFooter,
  • actionCartSave,
  • backOfficeHeader,
  • actionAuthentication,
  • actionObjectAddressAddAfter,
  • actionObjectAddressUpdateAfter,
  • actionObjectCustomerAddBefore,
  • actionObjectCustomerAddAfter,
  • actionObjectCustomerUpdateBefore,
  • actionObjectCustomerAddressAddAfter,
  • actionObjectCustomerAddressUpdateAfter,
  • actionValidateOrder,
  • actionOrderStatusPostUpdate,
  • actionPaymentConfirmation,
  • actionOrderStatusUpdate,
  • actionNewsletterRegistrationBefore,
  • displayBeforeBodyClosingTag,
  • displayCustomerAccountForm,
  • displayAdminCustomersForm.

D. Baza danych

Podczas instalacji wtyczki SALESmanago do bazy danych platformy PrestaShop dodawana jest tabela ps_sm_archive_export (w niektórych przypadkach prefiks może być inny niż “ps”). Przechowuje ona informacje dotyczące eksportów danych historycznych. Więcej informacji o eksporcie danych historycznych znajdziesz w sekcji 5.C. Przerwany eksport.

Podczas instalacji wtyczki SALESmanago w bazie danych PrestaShop tworzona jest również tabela ps_sm_subscribers (w niektórych przypadkach prefiks może być inny niż “ps”). Dodanie tej tabeli rozwiązuje następujący problem:

PROBLEM: Kontakt zapisuje się do newslettera poprzez formularz ze stopki. Zostaje dodany do tabeli (prefix)_emailsubscription. Ten sam Kontakt dokonuje zakupu, zakładając przy tym konto z wykorzystaniem tego samego adresu e-mail. PrestaShop usuwa go z tabeli (prefix)_emailsubscription. Jeżeli Kontakt nie wyrazi zgody na otrzymywanie newslettera w formularzu rejestracji, zostaje dodany do tabeli (prefix)_customers ze statusem opt-out. W SALESmanago – dzięki nowym metodom API – nadal figuruje jako opt-in (nie wypisał się, a jedynie nie zaznaczył pola zapisu). Jeżeli taki Kontakt chciałby edytować swoje konto, pole zapisu na newsletter nie będzie zaznaczone, ponieważ w bazie danych sklepu Kontakt ma przypisany status opt-out (nie zaznaczył pola na formularzu rejestracji). Po zapisaniu nowych ustawień konta Kontakt zostanie oznaczony jako opt-out w bazie SALESmanago.

ROZWIĄZANIE: Aby uniknąć takich sytuacji, w momencie rejestrowania Kontaktu, na etapie checkout, moduł sprawdza, czy dany e-mail występuje w tabeli (prefix)_emailsubscription. Jeżeli tak, jego dane zostaną zapisane w nowej tabeli: (prefix)_sm_subscribers.

Jeżeli Kontakt dokona edycji konta, system sprawdzi, czy figuruje w tabeli (prefix)_sm_subscribers. Jeżeli tak, wskazany w niej status Kontaktu nadpisze status zapisu na newsletter pobrany z formularza. Jeżeli Kontakt nie figuruje w tabeli (prefix)_sm_subscribers i nie zapisał się na newsletter, w systemie SALESmanago będzie miał status opt-out.

Jeżeli potrzebujesz więcej informacji na powyższy temat skontaktuj się z nami: support@salesmanago.com +48 533 600 808
Luty 02 2024 Kwiecień 23 2024