Konfiguracja połączenia — etapy i najważniejsze ustawienia
Ustawienia połączenia są pogrupowane w etapy odpowiadające drodze towaru: dane dostępowe, oferty, stany, ceny, zamówienia, wysyłka, płatności, zaawansowane.
Ekran konfiguracji połączenia dzieli ustawienia na etapy, mniej więcej w kolejności, w jakiej towar i zamówienie przechodzą przez system.
Tryb prowadzony i tryb ekspercki
Przełącznik z dwiema ikonami w nagłówku połączenia wybiera sposób pracy. Wybór zapamiętuje przeglądarka.
- Tryb prowadzony (kompas). Nad etapami pokazuje trzy kroki połączenia: Konto, Dane dostępowe, Test połączenia, a pod nimi zdanie, co zrobić teraz. Gdy połączenie działa, kroki zastępuje checklista Uruchomienie: dane dostępowe, test, mapowanie statusów, przypisanie magazynu, pierwsze zamówienia i pierwsza synchronizacja ofert (część kroków tylko dla marketplace). Każdy krok ma przycisk, który przenosi na właściwy etap. Checklistę można ukryć ikoną oka; wraca z kafelka Uruchomienie w nagłówku. Przy etapach jest też link Jak to ustawić, który otwiera artykuł o danym etapie.
- Tryb ekspercki (błyskawica). Bez kroków, checklisty i linków pomocy. Zostają podpowiedzi przy polach.
W trybie prowadzonym kliknięcie integracji w zakładce Dostępne integracje otwiera kreator w okienku: Konto (nazwa i przełącznik Aktywna od razu), Dane dostępowe (te same pola co na etapie Połączenie, przycisk Zapisz i testuj) i Test połączenia. Po nieudanym teście Popraw dane wraca do pól, a po udanym Przejdź do ustawień otwiera stronę połączenia z checklistą. Integracje logujące się przez autoryzację na koncie (Allegro, Amazon, część programów księgowych) kreator po pierwszym kroku przekazuje na stronę połączenia — tam kończy się logowanie. Pomiń kreator, ustawię sam zakłada połączenie i od razu otwiera jego stronę. W trybie eksperckim kreatora nie ma.
Nieudany test połączenia, które jeszcze nigdy nie działało, blokuje dalsze etapy — tak samo jak brak wymaganych danych. Komunikat błędu stoi nad polami etapu Połączenie.
Krok mapowania oznaczony przerywanym kółkiem i przyciskiem Sprawdź znaczy, że system jeszcze nie wie: tabela mapowań wczytuje się dopiero po otwarciu jej etapu.
Krok po kroku — konfiguracja świeżo założonego połączenia
Etapy przechodzi się po kolei. Każdy jest osobną zakładką; ukończony dostaje znacznik Etap gotowy, a nagłówek pokazuje licznik Do uzupełnienia — kliknięcie w niego przenosi do pierwszego brakującego pola.
- Wejdź w Integracje → Integracje → Moje integracje i kliknij połączenie.
- Etap Połączenie. Wpisz klucze, login i adresy od dostawcy kanału. Zestaw pól zależy od konektora.
- Zapisz. Na dole pojawia się pasek Niezapisane zmiany z licznikiem i przyciskami Odrzuć oraz Zapisz zmiany — użyj Zapisz zmiany. System poprosi o kod w oknie Wymagana weryfikacja 2FA: wpisz Kod weryfikacyjny i kliknij Potwierdź (Potwierdzenie 2FA przy zmianach uprawnień).
- Kliknij Test w nagłówku albo Testuj połączenie na etapie Połączenie i poczekaj na wynik. Nie idź dalej, dopóki nie zobaczysz Połączenie OK. Gdy zmieniasz dane dostępowe, pasek zapisu ma też przycisk Zapisz i testuj, który robi oba kroki naraz.
- Etap Zamówienia. Ustaw import zamówień, status domyślny dla nowych i automatyczne potwierdzanie. Tu też rozwiń sekcję Mapowanie statusów i zmapuj statusy kanału (Statusy zamówień z marketplace — mapowanie w obie strony).
- Etap Stany i produkty. Ustaw minimalny stan i powiązany magazyn, a w karcie z mapowaniem magazynów dodaj przynajmniej jedno mapowanie z włączoną wysyłką stanów (Mapowania — magazyny, kurierzy, cenniki, kategorie). Bez niego stany nie pojadą i nic o tym nie powie.
- Etap Ceny. Wskaż grupę cenową, z której liczy się cena wysyłana na kanał.
- Etap Wysyłka. W sekcji Mapowanie kurierów — rozwiniętej od razu — przypisz metody dostawy kanału do swoich przewoźników (Mapowanie metod dostawy i walidacja przesyłek). Bez tego zamówienie przyjdzie, ale nie da się go spakować.
- Etap Zwroty i Etap Zaawansowane — przejrzyj na końcu, jeśli kanał je pokazuje.
- Włącz przełącznik obok przycisku Test w nagłówku, jeśli połączenie ma zacząć pracować.
Szukając konkretnego ustawienia, nie przeglądaj etapów po kolei — użyj pola Szukaj ustawienia… nad etapami. Przy wyszukiwaniu sekcje mapowań się chowają, więc do nich wróć przez etap.
Ustawienia, które zmienia się najczęściej
| Ustawienie | Co robi |
|---|---|
| Importuj zamówienia z marketplace | Główny włącznik importu zamówień z tego kanału |
| Synchronizuj stany na marketplace | Główny włącznik wysyłania stanów na kanał |
| Powiązany magazyn | Z którego magazynu liczony jest stan wysyłany na marketplace |
| Minimalny stan wysyłany na marketplace | Poniżej tej wartości kanał dostaje zero, żeby nie sprzedać ostatniej sztuki |
| Auto Add Products | Czy nieznany produkt z zamówienia zakłada kartotekę |
| Auto Confirm Orders | Czy zamówienie potwierdza się na marketplace bez człowieka |
| Default Status for New Orders | Do jakiego statusu trafia świeżo zaimportowane zamówienie |
| Import Only Active Orders | Ogranicza import do zamówień w obsłudze |
| Send Invoice to Marketplace | Czy faktura leci na marketplace |
| Send Tracking Numbers | Czy traking leci na marketplace |
| Sync Status to Marketplace | Czy zmiany statusu u nas są wypychane na marketplace |
Pełny zestaw zależy od konkretnego marketplace'u — każdy ma dodatkowo własne parametry.
Trzy ustawienia, które warto rozumieć dokładniej
Synchronizuj stany na marketplace wyłącza obie strony naraz
Nazwa mówi o wysyłce, a pole rządzi też pobieraniem ofert z kanału. Wyłączone zatrzymuje jedno i drugie. Jedno pole, dwa kierunki (Wyłączniki, które zatrzymują cały kanał).
Minimalny stan to próg, nie bufor
Wartość nie jest odejmowana. Dopóki stan jest powyżej progu, na kanał idzie cała ilość; gdy spadnie do progu albo niżej, kanał dostaje zero. Przy progu 2 i realnych 5 sztukach marketplace zobaczy 5, a przy 2 sztukach — 0. Chroni przed sprzedaniem ostatnich sztuk, które właśnie schodzą z półki.
Powiązany magazyn bez mapowania nic nie da
Sam wybór magazynu to za mało — musi jeszcze istnieć aktywne mapowanie magazynu z włączoną synchronizacją stanu (Mapowania — magazyny, kurierzy, cenniki, kategorie). Bez niego stany po prostu nie jadą, bez żadnego komunikatu.
PrestaShop: stany idą też do produktów wyłączonych w sklepie
W PrestaShopie stan trafia do każdego produktu, który ma pobraną ofertę powiązaną z produktem w Noxti — także do produktu wyłączonego w sklepie (oferta nieaktywna). Dzięki temu po ponownym włączeniu produkt pokazuje prawdziwy stan, a nie ten sprzed wyłączenia. Nie trzeba do tego włączać Wysyłaj stany do nieaktywnych ofert. Produkt bez pobranej oferty albo z ofertą niepowiązaną z produktem w Noxti nie dostaje stanu — najpierw pobierz oferty i sprawdź powiązania.
PrestaShop: zmiany w zamówieniu, których sklep nie oznacza
Niektóre sklepy PrestaShop zmieniają zamówienie (dodana pozycja, inna cena wysyłki) bez przesunięcia daty jego ostatniej zmiany. Zwykłe pobieranie zamówień takiej zmiany nie widzi. Dlatego przy włączonym Ponownie czytaj otwarte zamówienia po numerze (domyślnie włączone) Noxti co 15 minut czyta jeszcze raz każde zamówienie tego połączenia z ostatnich 14 dni, którego magazyn nie spakował i które nie jest anulowane. Oba czasy zmienisz w polach Ponownie czytaj otwarte zamówienia co (minuty) i … z ostatnich (dni). Zamówienie bez zmian nie jest zapisywane i nie pojawia się w historii. Zamówień już spakowanych w ten sposób nie sprawdzamy — zmiana pozycji po spakowaniu i tak nie zmienia zamówienia, tylko zgłasza problem do wyjaśnienia.
Etap zaawansowany
Dwie rzeczy warte odnotowania:
- Przechowywanie danych — jak długo kanał trzyma dane klientów i pliki zamówień, ustawia się w Ustawienia → System → Przechowywanie danych, razem z tym, ile miejsca zajmuje każdy rodzaj pliku tego kanału (Miejsce na dysku i przechowywanie danych — ile zajmują pliki firmy, jak je pobrać i jak długo je trzymamy). W etapie zostaje sekcja z przyciskiem Przejdź do przechowywania danych — otwiera tę zakładkę od razu na wierszu tego kanału. Sekcję widać przy kanałach, z których przychodzą zamówienia (marketplace'y, zamówienia ręczne, SubConnect), i tylko administratorowi firmy.
- Daty synchronizacji — narzędzie administracyjne pozwalające cofnąć znacznik ostatniej synchronizacji o godzinę, dobę lub tydzień. Służy do dociągnięcia czegoś, co przepadło. Cofnięcie o tydzień na dużym kanale oznacza duży ruch — używaj świadomie.
Pola, które podpowiadają się ze sklepu
Część ustawień przechowuje identyfikator wiersza po stronie sklepu — który status zamówienia znaczy „anulowane", którzy kurierzy dowożą do paczkomatu, jakim pracownikiem podpisujemy zmianę statusu. Takie pola nie są polami tekstowymi: system pyta o listę sam sklep i pokazuje nazwy, a zapisuje identyfikator. W PrestaShopie dotyczy to sześciu ustawień: statusów uznawanych za anulowane, statusów do pobrania, kurierów z punktami odbioru, języka etykiet, pracownika do zmian statusu i sklepu w trybie multistore. Siódme pole — strefa czasowa sklepu — też jest listą, ale bierze się z bazy stref, nie ze sklepu: PrestaShop nie podaje swojej strefy przez API i właśnie dlatego to ustawienie istnieje. Nieznana strefa nie wywraca importu — system po cichu przyjmuje wtedy Europe/Warsaw. Prawdziwe ryzyko jest więc inne: sklep działający w innej strefie (np. niemiecki na Europe/Berlin albo brytyjski na Europe/London) z polem pozostawionym na domyślnej wartości dostaje daty zamówień przesunięte o różnicę stref, bez żadnego komunikatu. Przy sklepie spoza Polski sprawdź to pole.
Na etapie Ceny PrestaShop ma jeszcze dwa pola z listą ze sklepu:
- Domyślny kraj sklepu (id PrestaShop) — lista krajów sklepu (nazwa, kod ISO i id). Zwykle zostaje puste — system czyta kraj z konfiguracji sklepu (
PS_COUNTRY_DEFAULT). Wybierz go tylko wtedy, gdy klucz webservice nie ma uprawnienia do/configurations. Po tym kraju dobierana jest stawka VAT produktu, na której cena netto sklepu jest przeliczana na brutto grupy cenowej (Pobieranie ofert i synchronizacja cen). - Domyślna waluta sklepu — tylko waluty, które ma sklep i które są jednocześnie aktywne w Noxti. Waluta spoza tej części wspólnej i tak skończyłaby się odrzuceniem każdej ceny.
Listy ze sklepu są zapamiętywane na kilka minut, żeby otwarcie ekranu nie odpytywało sklepu za każdym razem. Nowy kurier albo status dodany w panelu sklepu pojawi się na liście najpóźniej po około 5 minutach.
Identyfikator zostaje widoczny w nawiasie — Anulowano (ID: 6) — bo w panelu sklepu, w logach i w rozmowie z pomocą techniczną wszyscy mówią numerami.
Trzy rzeczy warto wiedzieć:
- Pusta lista nie znaczy „sklep nic nie ma". Jeśli sklep nie odpowiedział, pole pokaże czerwony komunikat — np. Sklep odrzucił klucz Webservice…, gdy klucz jest zły albo nie ma uprawnień do danej listy, albo Sklep nie zwrócił listy… przy innym błędzie. Zapisana konfiguracja jest wtedy nietknięta; nie zapisuj formularza „na siłę", tylko sprawdź połączenie przyciskiem Test.
- Wartość spoza listy zostaje. Jeżeli w polu siedzi identyfikator, którego sklep już nie zwraca (skasowany kurier, przenumerowany status), pozostaje on do wyboru z dopiskiem spoza listy. To sygnał do świadomej zmiany, a nie do zignorowania — takiego id żadne zamówienie już nie ma.
- Skasowanych kurierów nie ma na liście. PrestaShop kasuje kuriera „miękko", żeby stare zamówienia dalej się otwierały. Nowe zamówienie nie może go dostać, więc lista go nie proponuje. Kurier tylko wyłączony — owszem, bo wraca po sezonie.
Cadencja synchronizacji nie jest tu ustawiana
Na etapie stanów nie znajdziesz pól z częstotliwością dla marketplace'u — ten mechanizm jest podłączony wyłącznie dla integracji magazynowych. Harmonogramy marketplace'ów ustawia się gdzie indziej (Co się synchronizuje i w którą stronę).
Zapis wymaga 2FA
Każde zapisanie ustawień połączenia prosi o kod (Potwierdzenie 2FA przy zmianach uprawnień).
Zmiana adresu sklepu PrestaShop kasuje klucz
Adres sklepu musi być publicznym adresem http(s) — adresy lokalne i z sieci prywatnej zapis odrzuca. Gdy zmienisz adres na inny serwer (inna domena albo inny port), zapisany klucz Webservice jest usuwany: klucz uwierzytelnia sam, bez hasła, więc nie może trafić do innego serwera niż ten, dla którego go wydano. Po zmianie adresu wpisz klucz nowego sklepu. Zmiana http:// na https://, dodanie albo usunięcie www. oraz ponowny zapis tego samego adresu (np. z ukośnikiem na końcu albo z /api) klucza nie ruszają — to ten sam sklep. Klucz wpisany razem z nowym adresem w jednym zapisie zostaje. Gdy zapis adresu się nie uda, klucz też zostaje.
Jeśli sklep przekierowuje z http:// na https:// albo między adresem z www i bez www, pobieranie danych działa dalej, ale w logach pojawia się ostrzeżenie — popraw adres sklepu na ten, pod który sklep przekierowuje. Wysyłka statusów, stanów i cen do sklepu działa dopiero po tej poprawce. Przekierowanie na inny serwer albo inną ścieżkę zawsze kończy się błędem z adresem, który trzeba wpisać.
Sklep w sieci lokalnej (np. testowy sklep w dockerze) da się podłączyć tylko w środowisku deweloperskim; na produkcji adres musi być publiczny.
Z adresu sklepu powstaje też link do strony produktu zapisywany przy każdej pobranej ofercie: <adres sklepu>/index.php?controller=product&id_product=…&id_lang=… (dla rozmiaru dodatkowo id_product_attribute, który zaznacza ten rozmiar na stronie). Język to ten sam, w którym pobierana jest nazwa produktu. Taki adres otwiera produkt w każdej wersji PrestaShop, niezależnie od ustawień przyjaznych adresów — przy włączonych sklep sam przekierowuje na swój ładny adres. Oferty pobrane wcześniej dostają link przy najbliższym pobraniu ofert.
Gdy sklep nie potrafi zwrócić jednego zamówienia albo jego pozycji, klienta czy adresu, pozostałe zamówienia importują się normalnie. To jedno nie jest tworzone i pojawia się przy nim problem „order data unreadable”. System ponawia próbę przy każdym pobraniu przez 24 godziny od ostatniej zmiany zamówienia w sklepie, potem — gdy zamówienie w sklepie znów się zmieni. Jeśli zamówienie było już zaimportowane, zostaje w systemie bez zmian — pominięto tylko jego odświeżenie, i tak mówi opis problemu. Problem zamyka się sam, gdy zamówienie zaimportuje się poprawnie. Otwórz takie zamówienie w panelu PrestaShop i sprawdź jego produkty i adresy.
Pobieranie zamówień sięga najwyżej 14 dni wstecz. Jeśli połączenie nie działało dłużej, starsze zamówienia pobierz ręcznie po numerach.
Klucz potrzebuje dostępu GET do: orders, order_details, order_histories, order_carriers, customers, addresses, carriers, countries, states, currencies, order_states, products, combinations, stock_availables, tax_rules, taxes, languages, employees, shops i configurations; POST do order_histories; PUT do orders, order_carriers, stock_availables i products. Brak uprawnienia wyłącza tylko funkcję, która go potrzebuje — np. bez employees lista pracowników się nie wczyta. Wyjątek to order_details: bez niego zamówienia nie są importowane (zamiast powstać bez pozycji), a w Problemach pojawia się wpis o nieczytelnych danych zamówienia.
Statusy uznawane za anulowane blokują utworzenie nowego zamówienia. Zamówienie już zaimportowane anuluje w WMS tylko stan Anulowano (ID 6) — „Zwrot” (7) i „Błąd płatności” (8) go nie ruszają, bo po błędzie płatności klient zwykle płaci jeszcze raz i sklep przestawia zamówienie na opłacone.
Link do strony produktu w pozostałych sklepach
Każda pobrana oferta sklepu zapisuje link do strony produktu — z niego korzysta m.in. plik produktowy dla Google Shopping. Zapisywany jest tylko pełny adres http:// albo https://; adres względny, pusty albo z innym protokołem oferta zostawia bez linku.
- IdoSell — API nie zwraca adresu strony produktu, więc link jest budowany:
<adres sklepu>/product-<język>-<id produktu>.html. Sklep IdoSell otwiera taki adres i sam przekierowuje na pełny adres z nazwą produktu.- Adres sklepu to ustawienie Publiczny adres sklepu (etap Połączenie) — adres, który widzą klienci, np.
https://sklep.example.com. Wpisz go w każdym połączeniu IdoSell, które ma trafiać do Google Shopping: Google przyjmuje tylko linki z domeny zgłoszonej w Merchant Center. Przy kilku sklepach w jednym panelu każde połączenie dostaje adres swojego sklepu (np.https://mojsklep.czdla sklepu czeskiego). - Gdy pole jest puste albo nie jest pełnym adresem
http(s)://, link powstaje z pola domena (bez końcówki/api/…). To zwykle adres panelu (np.…iai-shop.com) — otwiera domyślny sklep panelu, ale Google takiego linku nie przyjmie. - Język sklepu (ustawienie Język sklepu, kod IdoSell, np.
pol,cze,eng; domyślniepol) decyduje, w jakim języku pobierane są nazwy i opisy ofert i w jakim otwiera się link. - Jeśli produkt ma w panelu indywidualny adres URL dla sklepu tego połączenia i tego języka, zapisywany jest ten adres.
- Po zmianie adresu albo języka oferty dostają nowe linki przy najbliższym pełnym pobraniu ofert.
- Adres sklepu to ustawienie Publiczny adres sklepu (etap Połączenie) — adres, który widzą klienci, np.
- Shoper — link ze sklepu (
permalinkproduktu); adres względny jest dopełniany adresem sklepu. - WooCommerce — link ze sklepu (
permalinkwariantu albo produktu). - Shopify — adres produktu w sklepie internetowym; produkt nieopublikowany w kanale Online Store nie ma strony, więc nie ma też linku.
- GoShop — API nie podaje adresu strony produktu; oferty GoShop są bez linku.
Oferty pobrane wcześniej dostają link przy najbliższym pełnym pobraniu ofert.
Zapis i podpowiedzi ustawień
Wybieraj nazwy z list tam, gdzie formularz udostępnia gotowe opcje. Pola pozwalające wybrać kilka wartości zachowują wszystkie wybory. Ustawienia techniczne znajdują się w części Zaawansowane; zmieniaj je zgodnie z opisem pola.
Zapis sprawdza m.in. format liczb, porty i dostępne opcje. Przy błędzie popraw wskazane pola i ponów zapis — niezapisane wartości pozostają widoczne. Pozostawienie pustego pola hasła zachowuje dotychczasowe hasło.
W PrestaShop listy statusów mogą korzystać z nazw zapisanych dla tego konta w Noxti. Formularz informuje o tym pod listą. Po zmianie statusów w sklepie użyj Odśwież statusy w sekcji przypisania statusów. Gdy zapisanej listy jeszcze nie ma, system spróbuje pobrać ją ze sklepu.
Chcesz zobaczyć to na swoich zamówieniach? Pokażemy NOXTI na Twoich kanałach sprzedaży i Twoim magazynie.
Umów prezentację