diff --git a/README.md b/README.md index 329869a..9d12d7d 100644 --- a/README.md +++ b/README.md @@ -22,31 +22,45 @@ If you like to help our project - please let us know at [sales@macopedia.com](ma ## License Magento 2 - Allegro Integration Module source code is completely free and released under the [MIT License](https://github.com/macopedia/magento2-allegro/blob/master/LICENSE). -## Powiązanie istniejących ofert Allegro z produktami w sklepie Magento -Przed połączeniem z kontem Allegro należy powiązać już istniejące oferty na Allegro z odpowiadającymi im produktami w sklepie Magento, aby to zrobić należy wykonać następujące kroki: +## Kolejność działań po instalacji modułu +1. Dodać konfiguracje kolejki w [MySQL MQ](https://github.com/macopedia/magento2-allegro#konfiguracja-mysql-mq) lub [RabbitMQ](https://github.com/macopedia/magento2-allegro#konfiguracja-rabbitmq) +2. Przejść do konfiguracji wtyczki oraz wybrać odpowiedni typ konta (Sklepy->Konfiguracja->Allegro->Konfiguracja) +3. [Połączyć się z kontem Allegro](https://github.com/macopedia/magento2-allegro#po%C5%82%C4%85czenie-z-kontem-allegro) +4. Wyłączyć import zamówień +5. Włączyć lub wyłączyć (według preferencji) synchronizacje stanów magazynowych oraz wysyłkę numerów przesyłek +6. [Powiązać metody dostawy oraz płatności](https://github.com/macopedia/magento2-allegro#mapowanie-metod-dostawy-i-p%C5%82atno%C5%9Bci) +7. [Powiązać oferty z produktami na Allegro](https://github.com/macopedia/magento2-allegro#powi%C4%85zanie-istniej%C4%85cych-ofert-allegro-z-produktami-w-sklepie-magento) +8. Włączyć import zamówień (według preferencji) + +Import zamówień powinien zostać włączony, dopiero gdy wszystkie produkty są już powiązane z ofertami na Allegro - w przeciwnym wypadku zamówienie może zostać pominięte z powodu braku produktu, który odpowiadałby ofercie na Allegro. -1. Wejść w zakładkę "Moje oferty" na koncie Allegro -2. Skopiować ID oferty znajdujące się pod jej nazwą -![offer_id2](README/allegroOfferId2.png) -3. Wejść na stronę edycji produktu w Magento, który odpowiada ofercie Allegro -4. Wkleić skopiowane wcześniej ID oferty do pola Allegro→ Numer oferty Allegro i zapisać produkt -![offer_id1](README/allegroOfferId1.png) ## Połączenie z kontem Allegro Aby połączyć sklep Magento z aplikacją Allegro należy wykonać następujące kroki: -1. Zalogować się na koncie Allegro i przejść na adres https://apps.developer.allegro.pl lub https://apps.developer.allegro.pl.allegrosandbox.pl dla konta sandoboxowego, aby zarejestrować nową aplikację. +1. Zalogować się na koncie Allegro i przejść na adres https://apps.developer.allegro.pl lub https://apps.developer.allegro.pl.allegrosandbox.pl dla konta sandboxowego, aby zarejestrować nową aplikację. 2. Wprowadzić nazwę aplikacji i adres URI do przekierowania - powinien on być w formacie {backend_url}/index.php/admin/allegro/system/authenticate/ - np. 'http://example.com/index.php/admin/allegro/system/authenticate/'. ![application_registration](README/applicationRegistration.png) 3. Zalogować się w panelu admina w Magento i przejść do sekcji Sklepy -> Konfiguracja -> Allegro -> Konfiguracja ![connection_configuration](README/allegroConnectionConfiguration.png) -4. Wprowadzić w konfiguracji Magento wartości Client ID i Client Secret wygenerowane dla aplikacji Allegro i zmienić typ konta jeśli działamy na koncie sandboxowym. +4. Wprowadzić w konfiguracji Magento wartości Client ID i Client Secret wygenerowane dla aplikacji Allegro i zmienić typ konta, jeśli działamy na koncie sandboxowym, a następnie zapisać zmiany. ![api_keys](README/apiKeys.png) -5. Kliknąć na przycisk "Połącz z kontem Allegro" aby otrzymać token z aplikacji Allegro. Jeśli połączenie zostanie nawiązane pomyślnie, token będzie zapamiętany w aplikacji Magento, co umożliwi dalszą integrację z kontem Allegro. +5. Kliknąć przycisk "Połącz z kontem Allegro" aby otrzymać token z aplikacji Allegro. Jeśli połączenie zostanie nawiązane pomyślnie, token będzie zapamiętany w aplikacji Magento, co umożliwi dalszą integrację z kontem Allegro. + + +## Powiązanie istniejących ofert Allegro z produktami w sklepie Magento +Przed włączeniem importu zamówień należy powiązać już istniejące oferty na Allegro z odpowiadającymi im produktami w sklepie Magento, aby to zrobić należy wykonać następujące kroki: + +1. Wejść w zakładkę "Moje oferty" na koncie Allegro +2. Skopiować ID oferty znajdujące się pod jej nazwą +![offer_id2](README/allegroOfferId2.png) +3. Wejść na stronę edycji produktu w Magento, który odpowiada ofercie Allegro +4. Wkleić skopiowane wcześniej ID oferty do pola Allegro→ Numer oferty Allegro i zapisać produkt +![offer_id1](README/allegroOfferId1.png) ## Synchronizacja stanów magazynowych Jednym z wielu zadań wtyczki jest dopilnowanie, aby liczba danego produktu na sklepie Magento, -powiązanego z odpowiednią ofertą w Allegro była stale taka sama zarówno na sklepie jak i w +powiązanego z odpowiednią ofertą w Allegro była stale taka sama zarówno na sklepie, jak i w Allegro. Zadanie to spełnia realizując poniższe czynności: 1. Monitoruje każdorazowe wystąpienie zmiany w liczbie produktu (zakup lub ręczna zmiana w panelu admina Magento) i pobiera ID produktu, w którym doszło do zmian. @@ -61,13 +75,15 @@ produktu i przesyła go do Allegro w celu aktualizacji. ![stock_inventory_synchronization](README/stockInventorySynchronizationDiagram.png) +Synchronizację stanów magazynowych można włączać lub wyłączać w konfiguracji wtyczki. + ## Integracja zamówień Po nawiązaniu połączenia sklepu z aplikacją Allegro możemy włączyć w konfiguracji import zamówień. ![orders_configuration](README/orderImportConfiguration.png) -Po włączeniu tej opcji API Allegro będzie odpytywane co minutę o zdarzenia dotyczące zamówień. W ramach tego zapytania zamówienia będą importowane w sklepie Magento - dla nowych zamówień dodanych w Allegro będą tworzone zamówienia w sklepie Magento, a dla już istniejących będzie przeprowadzana ich aktualizacja. +Po włączeniu tej opcji API Allegro będzie odpytywane co 5 minut o zdarzenia dotyczące zamówień. W ramach tego zapytania zamówienia będą importowane w sklepie Magento - dla nowych zamówień dodanych w Allegro będą tworzone zamówienia w sklepie Magento, a dla już istniejących będzie przeprowadzana ich aktualizacja. -W konfiguracji sklepu możemy również ustawić widok sklepu do którego zamówienia z Allegro będą importowane. +W konfiguracji sklepu możemy również ustawić widok sklepu, do którego zamówienia z Allegro będą importowane. W ramach importu zamówień z Allegro w sklepie Magento zapisywane są informacje o cenie i ilości zamówionego produktu, dane zamawiającego, dane o płatności i wysyłce oraz wiadomość do sprzedającego, która trafia do zakładki "Historia komentarzy" na stronie zamówienia. @@ -77,7 +93,7 @@ Moduł obsługuje standardową logikę dla składania zamówień w Magento. Dost W konfiguracji wtyczki możemy definiować mapowanie metod płatności dla zamówień przychodzących z Allegro do sklepu Magento. ![method_mapping](README/deliveryAndPaymentMapping.png) -Dla mapowania metod dostawy mamy do dyspozycji dynamiczną listę, do której możemy dodawać kolejne pozycje, w których wybieramy w liście po lewej stronę jedną z metod dostawy dostępnych w Allegro, a w liście po prawej stronie nazwę metody dostawy dostępnej i aktywnej w konfiguracji sklepu Magento. Poniżej dynamicznej listy możemy wybrać domyślną metodę dostawy, która będzie przypisana do zamówienia w momencie gdy z Allegro otrzymamy metodę dla której nie zdefiniowaliśmy mapowania. +Dla mapowania metod dostawy mamy do dyspozycji dynamiczną listę, do której możemy dodawać kolejne pozycje, w których wybieramy w liście po lewej stronę jedną z metod dostawy dostępnych w Allegro, a w liście po prawej stronie nazwę metody dostawy dostępnej i aktywnej w konfiguracji sklepu Magento. Poniżej dynamicznej listy możemy wybrać domyślną metodę dostawy, która będzie przypisana do zamówienia w momencie, gdy z Allegro otrzymamy metodę, dla której nie zdefiniowaliśmy mapowania. Dla mapowania metod płatności mamy do dyspozycji dwie listy rozwijane, w których możemy wybrać po jednej z dostępnych i aktywnych w konfiguracji sklepu Magento metod płatności - dla zamówień przychodzących z Allegro z płatnością online i dla zamówień z płatnością przy pobraniu. @@ -92,6 +108,36 @@ Aby klient mógł śledzić przesyłkę z jego zamówieniem należy wprowadzić 4. Można dodać wiele numerów przesyłek w zależności od ilości produktów w zamówieniu. ![tracking_information2](README/sendTrackingInformation2.png) +Wysyłkę numerów przesyłek można włączać lub wyłączać w konfiguracji wtyczki. + +## Publikowanie ofert +Za pomocą wtyczki możemy wystawiać produkty z Magento na Allegro. Aby to zrobić należy: +1. Na koncie Allegro utworzyć [cennik dostaw](https://allegro.pl/pomoc/dla-sprzedajacych/cennik-dostawy/cenniki-dostawy-tworzenie-edycja-i-podmiana-B826XYWjvFg) +2. Dodać informacje o [zwrotach](https://allegro.pl/dla-sprzedajacych/warunki-oferty-zwroty-a124GwdXZFA), [reklamacji](https://allegro.pl/dla-sprzedajacych/warunki-oferty-reklamacje-vKgeWL5GnHA) oraz [gwarancji](https://allegro.pl/dla-sprzedajacych/warunki-oferty-gwarancje-9dXYn0VeXHM) na Allegro (wymagane tylko dla konta firmowego) +3. Uzupełnić informacje o loklizacji (Sklepy->Konfiguracja->Allegro->Konfiguracja->Pochodzenie) + ![origin_configuration](README/originConfiguration.png) +Po wprowadzeniu wymaganych danych można zacząć wystawiać oferty z poziomu Magento. +Należy wybrać produkt, który chcemy wstawić, wejść na jego stronę i kliknąć przycisk "Dodaj na Allegro". +![add_to_allegro](README/addToAllegroButton.png) + +Zostaniemy przekierowani na stronę formularza wystawiania aukcji, na którym znajdują się pola: +1. Nazwa oferty - pobierana z produktu +2. Opis oferty - pobierany z produktu +3. Cena - pobierana z produktu +4. Ilość - pobierana z produktu + ![allegro_offer_form](README/allegroOfferForm.png) +5. Cennik dostaw, warunki reklamacji, warunki zwrotów, warunki gwarancji - pobierane z podłączonego konta Allegro +6. Czas wysyłki, opcje faktury - uniwersalne parametry Allegro +7. Wybór kategorii +8. Parametry zależne od wybranej kategorii + ![categories_and_parameters](README/categoriesAndParameters.png) + +Wszystkie pola w formularzu mają walidację, niektóre parametry mogą być wymagane do wystawienia aukcji. +Oferta wystawiana jest ze zdjęciami pobranymi z produktu. + +Po uzupełnieniu wszystkich pół i kliknięciu "Zapisz" - zostanie wystawiony szkic oferty na Allegro i zostaniemy przekierowani na stronę edycji oferty. Teraz wystarczy kliknąć "Opublikuj", aby oferta stała się aktywna. W każdej chwili możemy edytować ofertę, zakończyć ją, a potem następnie aktywować. Produkt jest już teraz powiązany z ofertą na Allegro. +![publish_offer](README/publishButton.png) + ## Konfiguracja MYSQL MQ dodać kolejkę w tabeli `queue` w bazie danych @@ -203,3 +249,4 @@ konfiguracja consumera w pliku env.php ] ] ```` + diff --git a/README/addToAllegroButton.png b/README/addToAllegroButton.png new file mode 100644 index 0000000..2dad022 Binary files /dev/null and b/README/addToAllegroButton.png differ diff --git a/README/allegroOfferForm.png b/README/allegroOfferForm.png new file mode 100644 index 0000000..4c29afe Binary files /dev/null and b/README/allegroOfferForm.png differ diff --git a/README/categoriesAndParameters.png b/README/categoriesAndParameters.png new file mode 100644 index 0000000..e823c80 Binary files /dev/null and b/README/categoriesAndParameters.png differ diff --git a/README/orderImportConfiguration.png b/README/orderImportConfiguration.png index 171e1bd..9d7445d 100644 Binary files a/README/orderImportConfiguration.png and b/README/orderImportConfiguration.png differ diff --git a/README/originConfiguration.png b/README/originConfiguration.png new file mode 100644 index 0000000..12c026e Binary files /dev/null and b/README/originConfiguration.png differ diff --git a/README/publishButton.png b/README/publishButton.png new file mode 100644 index 0000000..504fbca Binary files /dev/null and b/README/publishButton.png differ