PrestaShop — przegląd
Integracja z PrestaShop pozwala pobierać zamówienia ze sklepu, wystawiać do nich faktury VAT i odsyłać stany magazynowe z panelu do sklepu.
Dostępność: pakiet MAX.
Co integracja umożliwia?
- Import zamówień z PrestaShop do panelu (
Sklepy → PrestaShop → Lista zamówień) - Faktury VAT — pojedynczo do wybranego zamówienia albo zbiorczo do zaznaczonych
- Zakładanie kontrahentów na podstawie danych z zamówienia
- Synchronizacja stanów magazynowych w jedną stronę: panel → sklep, z obsługą wariantów
- Filtrowanie po statusach — pobierasz tylko zamówienia w wybranych statusach
Czego integracja nie robi: nie obsługuje kilku sklepów PrestaShop na jednym koncie, nie zmienia statusów w sklepie, nie przesyła cen, opisów ani zdjęć.
Konfiguracja w PrestaShop
Krok 1: Włącz Webservice
- Panel admina PrestaShop → Parametry zaawansowane → Webservice
- Włącz usługę sieciową PrestaShop: Tak
Krok 2: Wygeneruj klucz API
- Webservice → Dodaj nowy klucz Webservice
- Klucz: kliknij „Wygeneruj”
- Opis: „Mobilna Faktura — integracja”
- Status: Aktywny
- Uprawnienia — zaznacz:
| Zasób | Uprawnienia | Do czego |
|---|---|---|
orders | GET | import zamówień |
addresses | GET | dane do faktury |
order_states | GET | lista statusów w ustawieniach |
stock_availables | GET + PUT | synchronizacja stanów |
products | GET | dopasowanie towarów po referencji, test połączenia |
combinations | GET | dopasowanie wariantów — opcjonalne |
Bez stock_availables z uprawnieniem PUT synchronizacja stanów kończy się błędem 403. Do samego importu zamówień i fakturowania wystarczą trzy pierwsze pozycje.
combinations jest potrzebne tylko wtedy, gdy sklep używa wariantów (rozmiary, kolory). Bez tego uprawnienia dopasowanie towarów prostych zadziała normalnie, a panel pokaże komunikat „Pominięto warianty: klucz API nie ma dostępu do zasobu combinations”.
Uprawnienie GET do products jest natomiast potrzebne także do przycisku Testuj połączenie — bez niego test zgłosi błąd, nawet jeśli import zamówień działa.
- Zapisz
Krok 3: Sprawdź adres Webservice
Adres ma format https://twojsklep.pl/api/.
Konfiguracja w panelu Mobilna Faktura
- Sklepy → PrestaShop → Lista zamówień → przycisk Ustawienia (albo Ustawienia → Integracje → PrestaShop)
- Wypełnij:
| Pole | Wartość |
|---|---|
| Adres URL sklepu | https://twojsklep.pl (bez /api/) |
| Klucz API | 32-znakowy klucz wygenerowany w PrestaShop |
| Domyślne statusy do pobierania | statusy, z których pobierać zamówienia (CTRL — kilka naraz) |
| Włącz wysyłanie stanów do PrestaShop | zaznacz, jeśli stany mają trafiać do sklepu |
- Zapisz ustawienia, potem Testuj połączenie — panel sprawdza klucz i ładuje listę statusów zamówień
- Wybierz statusy i ponownie Zapisz ustawienia
Import zamówień i faktury
- Sklepy → PrestaShop → Lista zamówień
- Ustaw daty Od i Do oraz Statusy → Pobierz zamówienia
- Wystaw fakturę (ikona przy zamówieniu) albo zaznacz kilka (Zaznacz wszystkie / Odznacz wszystkie) i kliknij Wystaw faktury dla zaznaczonych
Kolumna Faktura pokazuje Wystawiona przy zamówieniach już zafakturowanych — takich nie da się zaznaczyć ponownie, więc druga faktura do tego samego zamówienia nie powstanie.
Faktura powstaje z własnej numeracji panelu. Pozycje są dopasowywane do kartoteki po referencji produktu (kod towaru). Pozycja bez odpowiednika zostanie dopasowana po nazwie albo założona jako nowy towar — bez powiązania ze sklepem, więc jej stan nie wraca do PrestaShop (patrz niżej).
Synchronizacja stanów magazynowych
Kierunek: panel → sklep. Wysyłany jest wyłącznie stan ilościowy — ceny, opisy i kategorie zostają po stronie PrestaShop.
Każda zmiana stanu w panelu (dokumenty WZ/PZ, przesunięcia MM, inwentaryzacja oraz faktura sprzedaży) trafia do kolejki i jest wysyłana do sklepu w ciągu kilku minut.
Warunek: kod towaru = referencja
Panel łączy kartotekę ze sklepem po referencji (reference) produktu lub kombinacji w PrestaShop. Kod towaru w cenniku musi być z nią identyczny.
W Ustawieniach integracji masz dwa przyciski:
- Dopasuj towary po kodzie — panel pobiera produkty i kombinacje ze sklepu i wiąże je z cennikiem po referencji
- Wyślij wszystkie stany teraz — jednorazowa wysyłka wszystkich dopasowanych stanów, przydatna po pierwszej konfiguracji
Towar bez dopasowania jest po prostu pomijany — jego stan nie pojedzie do sklepu, dopóki nie nadasz mu kodu równego referencji.
Warianty (rozmiary, kolory)
W PrestaShop stan trzymany jest per kombinacja, a nie per produkt. Każdy wariant ma własną referencję, więc każdemu wariantowi odpowiada osobna kartoteka w cenniku panelu. Produkt bez wariantów ma kombinację 0 i działa tak samo.
Zaawansowane zarządzanie zapasami
Jeśli produkt ma w PrestaShop włączone zaawansowane zarządzanie zapasami (depends_on_stock), sklep wylicza jego stan samodzielnie i nie przyjmie wartości z panelu. Taka pozycja kończy się czytelnym błędem w kolejce — nie „cichym” rozjazdem stanów.
Rozwiązywanie problemów
Błąd „401 Unauthorized”
- Sprawdź, czy klucz API jest aktywny w PrestaShop
- Sprawdź uprawnienia klucza (
orders,addresses,order_states)
Błąd „403” przy wysyłce stanów
Klucz nie ma uprawnienia PUT do stock_availables. Uzupełnij je w PrestaShop → Webservice.
Nie mogę połączyć się ze sklepem
- Sprawdź adres URL (bez
/api/na końcu — panel dokłada je sam) - Sprawdź, czy Webservice jest włączony
- Sprawdź, czy hosting nie blokuje zapytań z zewnątrz
Stan w sklepie się nie zmienia
- Sprawdź, czy Włącz wysyłanie stanów do PrestaShop jest zaznaczone w ustawieniach
- Sprawdź, czy towar jest dopasowany — użyj Dopasuj towary po kodzie
- Sprawdź, czy kod towaru w cenniku jest identyczny z referencją w PrestaShop
- Sprawdź, czy produkt nie ma włączonego zaawansowanego zarządzania zapasami
Stany się różnią (PrestaShop vs panel)
- Użyj Wyślij wszystkie stany teraz
- Sprawdź, czy w sklepie nie ma zamówień jeszcze niezaimportowanych do panelu — zmniejszyły stan tam, ale nie tutaj
Korzyści
- Zero ręcznego przepisywania zamówień ze sklepu
- Faktury VAT pojedynczo i zbiorczo
- Synchronizacja stanów ogranicza ryzyko nadsprzedaży, także przy sprzedaży w kilku kanałach
- Obsługa wariantów — sklep z rozmiarami czy kolorami działa tak samo jak prosty