WooCommerce
Łączymy się z natywnym REST API WooCommerce w Twoim WordPressie. Potrzebujesz pary kluczy (consumer_key + consumer_secret), które wygenerujesz w panelu WP.
0. Co musisz mieć
- WooCommerce 3.5+ (sprawdź w WP Admin → Plugins → WooCommerce)
- Sklep dostępny po HTTPS — Woo REST API odrzuca klucze nad zwykłym HTTP od wersji 3.0+
- Konto WordPress z rolą Administrator (zwykły Sklep Manager wystarczy)
- Permalinks ustawione na Post name lub inne „ładne" (WP Admin → Settings → Permalinks) — bez tego REST API zwróci 404
Wygeneruj klucze REST API
- WP Admin → WooCommerce → Settings.
- Zakładka Advanced → podzakładka REST API.
- Kliknij „Add key".
- Wypełnij:
- Description:
BidBil integration - User: wybierz siebie (lub dedykowanego usera „bidbil-api")
- Permissions: Read/Write (Write jest konieczne — push zamówień modyfikuje stany)
- Description:
- Kliknij „Generate API key".
- WP pokaże dwie wartości:
Consumer key: ck_xxxxxxxxxxxxxxxxxxxConsumer secret: cs_xxxxxxxxxxxxxxxxxxx
- Skopiuj obie. Secret pokaże się TYLKO raz — jeśli zgubisz, trzeba wygenerować nowy.
WP Admin → WooCommerce → Settings → Advanced → REST API → przycisk „Add key" w prawym górnym rogu.
Tylko Read? Jeśli wybierzesz tylko Read, import produktów będzie działać, ale push zamówień się NIE uda. Daj Read/Write.
Dodaj integrację w BidBil
- Wejdź na /profile/settings/integrations/new (konto firmowe wymagane).
- Platforma: WooCommerce.
- Nazwa: dowolna, np.
Mój sklep WP. - URL sklepu: pełen adres bez slasha na końcu, np.
https://twojsklep.pl. Nie doklejaj/wp-jsonani/wp-admin— sami doklejamy. - Consumer key: wklej
ck_...z kroku 1. - Consumer secret: wklej
cs_...z kroku 1. - Kliknij Utwórz, potem na liście integracji Test połączenia.
HTTPS jest twardy. Jeśli sklep chodzi tylko po HTTP, Woo zwróci 401 mimo poprawnych kluczy. Postaw certyfikat (Let's Encrypt jest darmowy, większość hostingów ma w panelu).
Mapowanie kategorii
- Na stronie integracji: sekcja „Mapowanie kategorii" → „Pobierz kategorie sklepu".
- Lista pokaże wszystkie kategorie WooCommerce z pełną ścieżką (np. Sprzęt → Kije bilardowe).
- Dla każdej wybierz pasujący odpowiednik z BidBil. Pomiń = produkty z tej kategorii nie pójdą.
- Min. 1 mapowanie wymagane do aktywacji.
- Zapisz.
Mapowanie atrybutów
Woo ma atrybuty produktów (kolor, rozmiar, marka itd.) — te które zdefiniowałeś jako globalne lub per produkt.
- Sekcja „Mapowanie atrybutów" → „Skanuj atrybuty produktów".
- System pobierze próbkę produktów i wyświetli wykryte atrybuty + propozycje (auto-match po nazwie).
- Sprawdź sugestie. Atrybuty BidBil dla wybranej kategorii zobaczysz w dropdownie.
- Zapisz.
Brand jako atrybut? Jeśli używasz pluginu typu „Perfect Brands" lub natywnego pola brand, BidBil widzi to jako atrybut o nazwie „Marka". Auto-match podpowie do BidBil-owego „Marka" jeśli kategoria taki ma.
Aktywacja
- Aktywuj w prawym górnym rogu strony integracji.
- Pierwszy import startuje w ciągu ≤15 minut.
- Pierwsze produkty trafiają jako oczekujące na akceptację. Admin BidBil sprawdza pierwszą partię i oznacza Twoją integrację jako zaufaną.
- Po tym kolejne importy idą od razu na żywo.
Bonus: numery przesyłek do buyera
Woo natywnie nie ma pola „tracking number" na zamówieniu. BidBil odczytuje je z meta_data pod kluczami które dodają popularne pluginy:
- Advanced Shipment Tracking (AST): klucz
_aftership_tracking_number+_aftership_tracking_provider_name - WC Shipment Tracking (oficjalny Woo plugin): klucz
_tracking_number+_tracking_provider
Gdy oznaczysz w Woo paczkę jako wysłaną (status Completed) i wpiszesz tracking, BidBil w cyklu mirror (~5 min) automatycznie:
- Ustawi
Sale.Status = 20(Wysłane) na BidBil - Skopiuje tracking number + nazwę kuriera
- Wyśle email do buyera z numerem przesyłki
Jeśli nie używasz żadnego z plugin-ów, tracking nie trafi do buyera. Możesz wpisać go ręcznie w BidBil-owej karcie zamówienia (na liście „Sprzedane").
Coś poszło nie tak?
HTTP 401 mimo poprawnych kluczy? 403 na /wp-json/wc/v3/products?