Przejdź do głównej zawartości

Ecomail wtyczka Magento 2.x

Połącz Ecomail ze sklepem internetowym na platformie Magento 2.4.x i automatycznie przekazuj kontakty, zamówienia, zawartość koszyka oraz dane o zachowaniu odwiedzających.

Napisane przez Weronika Bonczková

Plugin znajdziesz na Adobe Commerce Marketplace pod nazwą Ecomail Email Marketing lub klikając tutaj.

Niektóre zaawansowane funkcje e-commerce, na przykład śledzenie zachowań (behavioral tracking), obsługa zamówień oraz porzuconych koszyków, mogą wymagać odpowiedniego taryfy Ecomail.


Co znajdziesz w artykule?


Ecomail wtyczka Magento 2.x

1. Co potrafi plugin

  • Synchronizuje zapisy i wypisy kontaktów między newsletterem Magento a wybraną listą w Ecomailu.

  • Przekazuje nowe kontakty oraz opcjonalne dane klienta.

  • Może tworzyć lub aktualizować kontakt na podstawie danych z zamówienia.

  • Wysyła nowe i historyczne zamówienia jako transakcje.

  • Przekazuje zawartość koszyka do obsługi porzuconych koszyków.

  • Śledzi odwiedziny stron oraz wyświetlenia produktów.

  • Potrafi respektować natywną zgodę na cookies w Magento.

  • Wstawia do sklepu formularz utworzony w Ecomailu.

  • Przekazuje język sklepu do pola niestandardowego MAGENTO_LANGUAGE.

  • Przekazuje tagi magento, magento_newsletter oraz opcjonalnie grupę klienta.

  • Oferuje webhook do przekazywania z powrotem statusu zapisu z Ecomailu do Magento.

  • Umożliwia uruchomienie początkowej synchronizacji istniejących klientów i zamówień w tle.

  • Wyświetla status synchronizacji oraz ostatnie zapytania do API Ecomailu.

2. Jakie dane są przesyłane

W zależności od włączonych ustawień plugin może wysyłać do Ecomailu:

  • adres e-mail;

  • imię i nazwisko;

  • firmę, telefon oraz adres pocztowy;

  • datę urodzenia;

  • grupę klienta w formie tagu;

  • wersję językową sklepu;

  • źródło kontaktu;

  • status zapisu do newslettera;

  • zamówienia oraz ich pozycje;

  • zawartość koszyka zakupowego;

  • odwiedziny stron oraz wyświetlenia produktów.

Przesyłaj wyłącznie te dane, które są rzeczywiście potrzebne i do których masz odpowiednią podstawę prawną lub zgodę.

Etykiety kontaktów

Plugin może dodawać następujące tagi:

Tag

Kiedy zostaje dodany

magento

Do kontaktów przekazanych z Magento.

magento_newsletter

Jeśli kontakt jest zapisany do newslettera Magento.

Grupa klienta

Jeśli włączysz opcję Customer groups to tags. Spacje są zastępowane podkreśleniami, np. Wholesale_Customers. Grupa NOT LOGGED IN nie jest przekazywana.

Podczas standardowej synchronizacji pojedynczego kontaktu plugin najpierw pobiera jego dotychczasowe tagi w Ecomailu, a następnie dodaje do nich nowe tagi. Podczas masowej synchronizacji początkowej przekazywanie tagów jest osobną opcją do wyboru, ponieważ może ono zastąpić dotychczasowe tagi kontaktu w Ecomailu.

3. Wymagania przed instalacją

Przygotuj:

  • sklep na Magento Open Source lub Adobe Commerce 2.4.x;

  • PHP w wersji obsługiwanej przez Twoją instalację Magento;

  • aktywne rozszerzenie PHP cURL;

  • konto w Ecomailu, klucz API oraz co najmniej jedną listę kontaktów;

  • dostęp do plików sklepu oraz do wiersza poleceń SSH;

  • działający cron Magento;

  • aktualną kopię zapasową plików i bazy danych.

Instalację na sklepie produkcyjnym zalecamy powierzyć administratorowi Magento lub programiście. Przed instalacją zawsze wykonaj kopię zapasową.

4. Instalacja pluginu

Magento od wersji 2.4 do instalacji rozszerzeń wykorzystuje wiersz poleceń. Po pobraniu bezpłatnego pluginu z Adobe Commerce Marketplace użyj kluczy dostępu Marketplace powiązanych z daną instalacją Magento.

Instalacja przez Composer

W terminalu przejdź do głównego folderu Magento i uruchom:

composer require ecomailcz/magento2-ecomail php bin/magento module:enable Ecomail_Ecomail php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento setup:static-content:deploy -f php bin/magento cache:flush

Jeśli na Twoim serwerze bin/magento działa jako plik wykonywalny, możesz podać te polecenia również bez php:

bin/magento module:enable Ecomail_Ecomail bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy -f bin/magento cache:flush

Jeśli pojawi się komunikat Permission denied, używaj wariantu zaczynającego się od php bin/magento albo pełnej ścieżki do PHP, którą poda Ci hosting.

Ręczne wgranie plików

Jeśli pakiet instalacyjny otrzymałeś bezpośrednio od wsparcia Ecomailu, wgraj jego zawartość do:

app/code/Ecomail/Ecomail

Następnie uruchom polecenia Magento z poprzedniej sekcji, zaczynając od module:enable.

5. Podstawowe połączenie z Ecomailem

W panelu administracyjnym Magento przejdź do:

Stores > Configuration > Customers > Ecomail
  1. Ustaw Enabled na Yes.

  2. Wklej API Key z Ecomailu. Znajdziesz go w Ecomailu w sekcji Zarządzaj kontem –> Dla programistów. Szczegóły znajdziesz również w artykule API do pracy z Ecomailem.

  3. Zapisz ustawienia.

  4. Kliknij Load Subscriber Lists.

  5. Wybierz listę w polu Subscriber List.

  6. Dostosuj pozostałe opcje do potrzeb Twojego sklepu.

  7. Kliknij Save Config.

Po pomyślnym połączeniu w polu Status pojawi się informacja o aktywnym połączeniu.

Obecné nastavení pluginu

Jeśli korzystasz z wielu witryn lub widoków sklepu, sprawdź w przełączniku Store View w lewym górnym rogu, dla którego poziomu zapisujesz konfigurację. Poszczególne sklepy mogą używać innego klucza API, innej listy oraz innych ustawień.

6. Przegląd wszystkich ustawień

General

Ustawienie

Wyjaśnienie

Status

Sprawdza, czy plugin jest włączony i czy przy użyciu zapisanego klucza API udało się połączyć z Ecomailem.

Enabled

Włącza lub wyłącza komunikację pluginu z Ecomailem.

API Key

Klucz API Twojego konta Ecomail. Magento po zapisaniu przechowuje go w formie zaszyfrowanej.

Subscriber List

Lista w Ecomailu, do której będą synchronizowane kontakty. Nowo utworzona lista może pojawić się na liście wyboru z opóźnieniem.

Load Subscriber Lists

Ponownie pobiera dostępne listy z Ecomailu. Użyj po wklejeniu klucza API lub utworzeniu nowej listy.

Skip Double opt-in

Przy ustawieniu Yes pomija e-mail potwierdzający w przypadku standardowo dodawanych kontaktów. Włączaj tylko wtedy, gdy zgodę kontaktu masz zapewnioną w inny sposób.

Trigger Autoresponders

Przy nowym, pojedynczym zapisie pozwala uruchomić powiązane automatyzacje. Masowa synchronizacja początkowa nie uruchamia automatyzacji.

Contact source

Źródło zapisywane przy kontakcie w Ecomailu. Wartość domyślna to magento_plugin; można wpisać własne oznaczenie do 64 znaków.

Allow initial sync

Przełącznik bezpieczeństwa, który udostępnia synchronizację początkową istniejących klientów i zamówień.

Update existing contacts during initial sync

Określa, czy synchronizacja początkowa może aktualizować kontakty, które już istnieją na wybranej liście.

Send tags during initial sync

Przekazuje podczas synchronizacji początkowej tagi z Magento. W przypadku istniejących kontaktów może dojść do zastąpienia ich obecnych tagów w Ecomailu.

Subscriber sync batch size

Liczba kontaktów w jednym zapytaniu API: 100, 250, 500, 1000 lub 3000. Wartość domyślna i maksymalna to 3000.

Transaction sync batch size

Liczba zamówień w jednym zapytaniu API: 100, 250, 500 lub 1000. Wartość domyślna i maksymalna to 1000.

Initial Sync

Panel do uruchamiania synchronizacji oraz śledzenia statusu, przebiegu, liczby przetworzonych rekordów i czasu ostatniej zmiany.

Webhook Token

Tajny, losowy ciąg znaków, który zabezpiecza przychodzący webhook. Wygeneruj go przyciskiem i zapisz konfigurację.

Webhook URL

Automatycznie wygenerowany adres do zwrotnej synchronizacji statusu kontaktu. Przyciskiem skopiujesz go do Ecomailu.

Checkout opt-out text

Tekst przy polu wyboru w kasie, za pomocą którego klient rezygnuje z zapisu do newslettera. Maksymalnie 160 znaków.

Personal Information

Ustawienie

Wyjaśnienie

Customer name

Przekazuje imię i nazwisko klienta.

Customer address

Przekazuje firmę, ulicę, miasto, kod pocztowy, kraj oraz telefon, jeśli są dostępne.

Address type

Określa, czy zostanie użyty adres dostawy czy adres do faktury. Jeśli wybrany adres nie jest dostępny, plugin spróbuje użyć dostępnego adresu z zamówienia.

Customer DOB

Przekazuje datę urodzenia, jeśli klient ma ją uzupełnioną w Magento.

Send order transactions

Wysyła zamówienia oraz ich pozycje do Ecomailu jako transakcje.

Update contacts from order data

Przy nowym zamówieniu tworzy lub aktualizuje kontakt na podstawie danych z zamówienia, o ile klient nie zrezygnował z newslettera w kasie.

Cart items

Wysyła zawartość koszyka znanego kontaktu na potrzeby automatyzacji porzuconego koszyka.

Customer groups to tags

Dodaje grupę klienta jako tag bez spacji. Grupa NOT LOGGED IN nie jest przekazywana.

Store locale custom field

Zapisuje język sklepu w polu niestandardowym MAGENTO_LANGUAGE, np. cs_CZ lub en_US.

Nastavení osobních údajů

Behavior Tracking

Ustawienie

Wyjaśnienie

Enabled

Włącza tracking odwiedzin stron Ecomail. Wymaga poprawnego App ID.

Respect Magento cookie consent

Jeśli w Magento włączony jest Cookie Restriction Mode, skrypty trackingowe zostaną załadowane dopiero po wyrażeniu przez odwiedzającego zgody na cookies. Zalecamy pozostawienie ustawienia Yes.

App ID

Nazwa Twojego konta Ecomail wykorzystywana przez skrypt trackingowy. Znajdziesz ją również w adresie URL po zalogowaniu do Ecomailu.

Track product views

Na stronie szczegółów produktu wysyła zdarzenie ECM_PRODUCT_VIEW wraz z kodem SKU produktu.

Enable Ecomail form widget

Włącza wyświetlanie formularza utworzonego w Ecomailu.

Ecomail Form ID

Wartość js.id z kodu instalacyjnego formularza w Ecomailu.

Ecomail Account Name

Nazwa konta Ecomail używana w

kodzie formularza.

Nastavení trackingu

Logs

Ustawienie

Wyjaśnienie

Recent API Requests

Wyświetla ostatnie 10 zapytań do API Ecomail wraz z ich godziną, endpointem, wynikiem, statusem HTTP oraz czasem trwania. Nie zapisuje klucza API ani pełnych przesyłanych danych.

7. Jak działa synchronizacja bieżąca

Po zapisaniu konfiguracji plugin reaguje na nowe zdarzenia w sklepie:

  1. Zapis do newslettera: kontakt zostaje dodany do wybranej listy w Ecomailu.

  2. Wypisanie z newslettera: zmiana zostaje wysłana do Ecomailu.

  3. Edycja konta lub adresu: jeśli kontakt jest zapisany do newslettera, aktualizowane są dozwolone dane.

  4. Nowe zamówienie: plugin może zaktualizować kontakt oraz wysłać transakcję wraz z pozycjami zamówienia.

  5. Zmiana koszyka: dla znanego kontaktu wysyłana jest aktualna zawartość koszyka.

  6. Odwiedziny strony lub produktu: przy włączonym trackingu wysyłane są zdarzenia behawioralne.

Jeśli klient w kasie zaznaczy pole rezygnacji z newslettera, plugin nie utworzy ani nie zaktualizuje na podstawie tego zamówienia kontaktu newsletterowego. Wysyłanie zamówienia jako transakcji podlega osobnemu ustawieniu Send order transactions.

Przy standardowym dodawaniu lub aktualizacji kontaktu plugin zachowuje jego dotychczasowe tagi w Ecomailu i dodaje do nich tagi z Magento.

8. Jak działa synchronizacja początkowa

Synchronizacja początkowa służy do przekazania klientów i zamówień, które istniały w Magento już przed instalacją pluginu.

Uruchomienie

  1. Sprawdź, czy na serwerze regularnie działa cron Magento.

  2. Ustaw Allow initial sync na Yes.

  3. Wybierz, czy mają być aktualizowane istniejące kontakty i wysyłane tagi.

  4. Ustaw wielkość paczki kontaktów i transakcji.

  5. Zapisz konfigurację.

  6. W panelu Initial Sync wybierz żądane dane i kliknij Start Sync.

Průběh počáteční synchronizace

Przetwarzanie w tle

  • Synchronizację przetwarza cron Magento, więc możesz zamknąć lub odświeżyć stronę.

  • Przy jednym uruchomieniu zadania cron przetwarzana jest jedna paczka kontaktów lub jedna paczka zamówień.

  • Najpierw przetwarzane są kontakty, następnie zamówienia.

  • Domyślna paczka zawiera do 3000 kontaktów lub 1000 zamówień.

  • Na wolniejszym hostingu można ustawić mniejsze paczki.

  • W danej chwili może działać tylko jedna synchronizacja początkowa.

  • Jeśli zapytanie masowe zostanie odrzucone z powodu jednego błędnego rekordu, plugin automatycznie dzieli paczkę i próbuje wysłać pozostałe rekordy. Dlatego w przypadku błędu może powstać więcej zapytań API.

  • Status i przebieg pozostają zapisane również po odświeżeniu strony administracyjnej.

Przykład: przy 6500 klientach i paczce wielkości 3000 potrzeba co najmniej trzech przebiegów cron dla kontaktów. Zamówienia zaczną być przetwarzane w jednym z kolejnych przebiegów. Jeśli hosting uruchamia cron co pięć minut, każdy kolejny krok będzie następował po około pięciu minutach.

Statusy synchronizacji

Status

Znaczenie

Pending

Zadanie czeka na najbliższe uruchomienie crona Magento.

Running

Aktualnie przetwarzana jest paczka.

Completed

Wszystkie wybrane rekordy zostały przetworzone.

Failed

Synchronizację zatrzymał błąd. Szczegóły znajdziesz w ostatniej wiadomości oraz w logu.

Masowy import transakcji nie uruchamia automatyzacji Ecomailu z triggerem „Provedl nákup / Makes an order”.

9. Ustawienia webhooka

Webhook zapewnia zwrotne przekazywanie statusu zapisu z Ecomailu do newslettera Magento. Gdy kontakt wypisze się w Ecomailu, zmiana może zostać przeniesiona również do Magento.

  1. W ustawieniach pluginu kliknij Generate Token.

  2. Kliknij Save Config. Bez zapisania nowy token nie będzie ważny.

  3. Kliknij Copy URL.

  4. W Ecomailu otwórz listę kontaktów używaną dla Magento.

  5. Przejdź do Ustawienia listy > Ustawienia webhooka.

  6. Włącz wysyłanie informacji na webhook i wklej skopiowany URL.

  7. Zapisz ustawienia listy.

Webhook zmienia status wyłącznie u kontaktu, który już istnieje w newsletterze Magento. Wygenerowanego tokenu nie przesyłaj nikomu ani nie publikuj go.

10. Tracking, cookies i formularze

Tracking

Po włączeniu Behavior Tracking plugin ładuje skrypt trackingowy Ecomail i wysyła informacje o odwiedzinach stron. Opcja Track product views dodaje zdarzenie wyświetlenia produktu na podstawie jego SKU.

Cookies

Jeśli korzystasz z natywnego Magento Cookie Restriction Mode, pozostaw Respect Magento cookie consent ustawione na Yes. Skrypty Ecomail zostaną wtedy załadowane dopiero po zapisaniu zgody odwiedzającego.

Jeśli korzystasz z zewnętrznego paska cookies, sprawdź jego powiązanie ze zgodą Magento. Sam plugin śledzi natywną zgodę na cookies user_allowed_save_cookie.

Formularz Ecomail

  1. W Ecomailu utwórz i opublikuj formularz.

  2. W jego kodzie instalacyjnym znajdź wartość js.id oraz nazwę konta.

  3. W Magento włącz Enable Ecomail form widget.

  4. Uzupełnij Ecomail Form ID oraz Ecomail Account Name.

  5. Zapisz konfigurację i wyczyść cache Magento.

11. Kontrola działania i logi

Po skonfigurowaniu zalecamy przeprowadzenie następującego testu:

  1. Zapisz testowy adres e-mail do newslettera w Magento.

  2. Sprawdź kontakt na wybranej liście w Ecomailu.

  3. Zmień imię lub adres testowego klienta.

  4. Dodaj produkt do koszyka jako znany kontakt.

  5. Utwórz testowe zamówienie.

  6. Otwórz stronę produktu i zweryfikuj tracking.

  7. Przetestuj wypisanie się przez webhook.

  8. W sekcji Recent API Requests sprawdź ostatnie zapytania.

Poslední API požadavky

Plugin wyświetla ostatnie 10 zapytań. Wpisy są przechowywane maksymalnie przez siedem dni, a log w bazie danych jest ograniczony do 10 000 wierszy. Nie są zapisywane pełne payloady ani klucze API.

Jeśli błąd powstanie jeszcze przed wysłaniem zapytania do API, może nie pojawić się w panelu. Administrator sklepu może go odszukać również w standardowych logach Magento w folderze var/log.

12. Aktualizacja pluginu

Przed aktualizacją wykonaj kopię zapasową plików i bazy danych. W głównym folderze Magento uruchom:

composer update ecomailcz/magento2-ecomail php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento setup:static-content:deploy -f php bin/magento cache:flush

Polecenie module:enable nie jest potrzebne przy zwykłej aktualizacji, jeśli moduł nie był wyłączony.

Po aktualizacji sprawdź konfigurację, status połączenia, jeden testowy kontakt oraz jedno testowe zamówienie.

13. Najczęstsze problemy

a) Listy kontaktów się nie ładują

  • Sprawdź klucz API.

  • Najpierw zapisz konfigurację, a następnie kliknij Load Subscriber Lists.

  • Sprawdź, czy serwer może komunikować się z API Ecomailu.

  • Nowo utworzona lista może być dostępna z opóźnieniem.

b) Synchronizacja początkowa pozostaje w stanie Pending

Cron Magento nie działa lub uruchamiany jest pod inną wersją PHP niż sklep. Poproś hosting o sprawdzenie, czy php bin/magento cron:run uruchamia się regularnie.

c) Synchronizacja przebiega wolno

Każdy przebieg crona przetwarza jedną paczkę. Szybkość zależy więc od interwału crona Magento oraz ustawionej wielkości paczki. Na stabilnym hostingu używaj domyślnych wartości 3000 kontaktów i 1000 transakcji.

d) Kontakt lub zamówienie nie zostały przekazane

Sprawdź Recent API Requests. Czerwony wpis zawiera status HTTP oraz skróconą wiadomość błędu. W przypadku błędu lokalnego sprawdź również logi Magento.

e) Webhook nie zmienił statusu kontaktu

  • Sprawdź, czy po wygenerowaniu tokenu zapisałeś konfigurację.

  • Skopiuj ponownie cały URL.

  • Sprawdź poprawną listę oraz Store View.

  • Kontakt musi już istnieć w newsletterze Magento.

f) Tracking się nie ładuje

  • Sprawdź Behavior Tracking, App ID oraz ustawienia cookies.

  • Po zmianie uruchom wyczyszczenie cache oraz ewentualnie wdrożenie treści statycznych.

  • Jeśli używasz innego paska cookies, sprawdź, czy ustawia on natywną zgodę Magento.

g) Polecenie bin/magento zwraca Permission denied

Użyj polecenia z PHP:

php bin/magento cache:flush

Na niektórych hostingach konieczne jest podanie pełnej ścieżki do PHP, np. /opt/alt/php82/usr/bin/php. Prawidłową ścieżkę poda dostawca hostingu.

h) Kompilacja nie może usunąć generated/code/Magento

Zwykle chodzi o uprawnienia lub własność plików utworzonych przez innego użytkownika lub inną wersję PHP. Nie kontynuuj usuwania na oślep; poproś administratora serwera o poprawienie własności plików i bezpieczne wyczyszczenie folderu generated.



Masz pytanie? Napisz do nas na [email protected]

Czy to odpowiedziało na twoje pytanie?