PrestaShop
PrestaShop ma najbardziej szczegółowy system uprawnień — Webservice key z dokładną listą zasobów które BidBil potrzebuje czytać i modyfikować. Plus parę opcjonalnych ustawień (VAT, kurier, niestandardowe statusy).
0. Co musisz mieć
- PrestaShop 1.7+ lub PrestaShop 8.x (sprawdź w stopce admina)
- Konto admin z dostępem do Advanced Parameters → Webservice
- HTTPS na sklepie (PS akceptuje HTTP ale na produkcji nie używać — klucz API leciałby plaintext)
- Co najmniej jeden aktywny carrier (przewoźnik) obsługujący Polskę
- Co najmniej jedna aktywna kategoria z produktami
Włącz Webservice w PrestaShop
U niektórych instalacji PS Webservice jest domyślnie wyłączony.
- Zaloguj się do admina PS.
- Menu: Configure → Advanced Parameters → Webservice.
- Na dole strony: Configuration → przełącz „Enable PrestaShop's webservice" na YES.
- Zapisz.
Advanced Parameters → Webservice — sekcja Configuration na dole z toggle „Enable webservice".
Wygeneruj klucz z pełną listą uprawnień
To najważniejszy krok — pominięcie któregoś zasobu = błąd 403 w trakcie syncu albo push-u zamówienia.
- Advanced Parameters → Webservice, prawy górny róg: „Add new webservice key" (ikonka „+").
- Key: kliknij „Generate" obok pola — PS wygeneruje losowy 32-znakowy klucz. Skopiuj go teraz — po zapisaniu nie pokaże się drugi raz.
- Key description:
BidBil integration - Status: Enabled.
- Permissions: tabela z listą zasobów. Zaznacz dokładnie tak:
| Zasób | Zaznacz | Po co |
|---|---|---|
| products | GET | Czytanie katalogu produktów |
| categories | GET | Drzewo kategorii do mapowania |
| images | GET | Pobieranie zdjęć produktów |
| product_features | GET | Definicje cech (atrybutów) |
| product_feature_values | GET | Wartości cech (np. „czerwony" dla „kolor") |
| stock_availables | GET | Rzeczywiste stany magazynowe |
| countries | GET | Lookup kraju przy push-u zamówienia |
| currencies | GET | Lookup waluty PLN/EUR |
| carriers | GET | Wybór kuriera przy push-u |
| customers | GETPOST | Tworzenie klienta (lub reuse) przy zamówieniu |
| addresses | POST | Tworzenie adresu dostawy |
| carts | POST | Tworzenie koszyka pod zamówienie |
| orders | GETPOSTPUT | Tworzenie zamówienia, czytanie statusu, anulowanie |
Czy zaznaczyć wszystkie metody dla danego zasobu? NIE — daj tylko te z tabeli. Im mniej uprawnień, tym bezpieczniejszy klucz. Jeśli BidBil w przyszłości potrzebuje nowych metod, powiadomimy mailem.
- Kliknij Save na dole.
Tabela uprawnień Webservice key z kolumnami View/Modify/Add/Delete/Fast view. Dla products zaznaczone tylko View.
Dodaj integrację w BidBil
- Wejdź na /profile/settings/integrations/new (konto firmowe wymagane).
- Platforma: PrestaShop.
- Nazwa: dowolna, np.
Mój PrestaShop. - URL sklepu: pełen adres bez końcowego slasha i bez
/api, np.https://mojsklep.pl(lubhttps://mojsklep.pl/sklepjeśli PS jest w subfolderze). - API key: wklej 32-znakowy klucz z kroku 2.
- Domyślna stawka VAT: wpisz
23(PL standard). Patrz krok 6 dla mieszanych stawek. - Pozostałe pola (carrier, VAT wysyłki) zostaw puste — wypełnij po teście jeśli zajdzie potrzeba.
- Kliknij Utwórz, potem na liście Test połączenia. Zielone = OK.
Mapowanie kategorii
- Otwórz integrację (przycisk „Konfiguruj" na liście).
- Sekcja „Mapowanie kategorii" → „Pobierz kategorie sklepu".
- Lista pokaże kategorie PS z pełną ścieżką (np. Sprzęt bilardowy → Kije → Kije break).
- Mapuj na BidBil. Pomiń = produkty z tej kategorii nie pójdą.
- Zapisz.
Multi-shop PrestaShop? BidBil bierze widok z pierwszego shop ID. Multi-shop wsparcie planowane na później — na razie skonfiguruj klucz pod jeden konkretny shop.
Mapowanie atrybutów (features)
PrestaShop nazywa atrybuty features (cechy). Definiujesz je w Catalog → Attributes & Features → Features.
- Sekcja „Mapowanie atrybutów" → „Skanuj atrybuty produktów".
- System pobierze próbkę i wyświetli features + sugestie dopasowania.
- Sprawdź, popraw, zapisz.
Brak features? Jeśli nie zdefiniowałeś żadnych features w PS, BidBil zaimportuje produkty bez atrybutów — nadal działa. Możesz dodać features w PS, atrybuty pojawią się przy kolejnym sync.
Opcjonalne ustawienia (VAT, kurier, statusy)
Stawka VAT
PrestaShop zwraca ceny netto. BidBil przelicza na brutto mnożnikiem z pola default_vat_rate.
- Wszystko 23%: wpisz 23 (większość shopów PL)
- Książki, czasopisma (5%): wpisz 5
- Mieszane: wybierz dominującą stawkę. Resztę produktów skoryguj po imporcie.
- VAT na wysyłkę inny niż produkty? Wpisz
default_vat_rate_shippingosobno (np. produkty 5, wysyłka 23 dla księgarni).
Kurier
BidBil domyślnie wybiera pierwszego aktywnego kuriera (pomija „darmową wysyłkę"). Jeśli chcesz wymusić konkretnego:
- PS: Shipping → Carriers.
- Znajdź carriera którego chcesz — w adresie URL zobaczysz
id_carrier=N. Skopiuj N. - W BidBil credentials wpisz w polu
default_carrier_id.
Niestandardowy stan „Anulowane"
Domyślny PS state ID dla „Cancelled" to 6. Jeśli masz custom workflow (np. „Wycofane przez klienta" z innym ID):
- PS: Shop Parameters → Order Settings → Statuses.
- Znajdź swój status „cancel" — w URL
id_order_state=N. - W BidBil credentials:
ps_cancelled_state_id= N.
Aktywacja
- Aktywuj w prawym górnym rogu strony integracji.
- Pierwszy import w ciągu ≤15 minut.
- Pierwsze produkty oczekują na akceptację admina BidBil. Po akceptacji pierwszej partii integracja staje się zaufana — kolejne idą od razu na żywo.
- Push zamówień działa już od momentu aktywacji (od pierwszego zakupu na BidBil).
- Mirror statusu (gdy oznaczysz w PS „Wysłane" → BidBil to zauważy w ≤5 min i powiadomi buyera).
Coś poszło nie tak?
403 na /api/products? „No active carrier"? VAT pokazuje 0?