Zastanawiałeś się kiedyś, skąd sklep WooCommerce wie, dokąd skierować klientów po zalogowaniu lub złożeniu zamówienia? Albo jak dane sklepu stają się dostępne dla aplikacji mobilnych i innych usług? Odpowiedź tkwi w funkcji, którą łatwo przeoczyć: endpointach WooCommerce. Niezależnie od tego, czy prowadzisz mały butik, czy rozwijasz zaawansowany ekosystem e-commerce, zrozumienie endpointów może poprawić Twoje podejście do rozwoju WooCommerce.
W tym poradniku wyjaśniamy, czym są endpointy WooCommerce, jaką rolę pełnią we współczesnych aplikacjach e-commerce i jak je wykorzystać, by budować bardziej elastyczne sklepy.
W skrócie: endpointy WooCommerce to adresy URL reprezentujące funkcję lub zasób. Są trzy rodzaje: endpointy konta i zamówienia (adresy widoczne dla klienta, np. /my-account/orders/), endpointy REST API (/wp-json/wc/v3/…, dla sprzedawców i integracji, z uwierzytelnianiem) oraz endpointy Store API (/wp-json/wc/store/v1/…, dla sklepów i frontendów headless).
Czym są endpointy WooCommerce? Wprowadzenie
Zanim przejdziemy do szczegółów technicznych, wyjaśnijmy, czym właściwie są endpointy. W tworzeniu stron endpoint to po prostu konkretny adres URL reprezentujący funkcję lub zasób w aplikacji. Wyobraź sobie endpointy jako drzwi, które dają dostęp do różnych pokoi w domu e-commerce.
W WooCommerce endpointy służą trzem głównym celom:
- definiują adresy widoczne dla klienta: strony konta, proces zamówienia i inne interakcje
- udostępniają punkty dostępu do programistycznej wymiany danych przez REST API
- dają sklepom i frontendom headless dostęp do koszyka, kasy i produktów przez Store API
Dlaczego warto się nimi zająć? Bo są fundamentem współpracy sklepu WooCommerce z użytkownikami i systemami zewnętrznymi. Znajomość endpointów pozwala:
- dostosować ścieżki użytkowników w sklepie
- budować rozwiązania headless commerce
- integrować się z aplikacjami mobilnymi i usługami zewnętrznymi
- tworzyć własną funkcjonalność wykraczającą poza standardowe funkcje WooCommerce
Wraz z rosnącym powiązaniem e-commerce umiejętność pracy z endpointami jest nie tylko przydatna, ale ważna dla konkurencyjnego rozwoju sklepu.
Czym są endpointy WooCommerce REST API?
WooCommerce REST API to interfejs, który pozwala developerom programistycznie korzystać z danych sklepu. REST (Representational State Transfer) to styl architektury API oparty na standardowych metodach HTTP. Wszystkie zasoby wymienia oficjalna dokumentacja REST API (po angielsku).
Endpointy WooCommerce REST API to konkretne adresy URL o spójnym wzorcu:
/wp-json/wc/v3/[zasób]
Gdzie [zasób] oznacza typ danych, do których chcesz uzyskać dostęp: produkty, zamówienia, klienci itd. Żądania muszą być uwierzytelnione kluczami API (klucz konsumenta i sekret) utworzonymi w WooCommerce > Ustawienia > Zaawansowane > REST API i wysyłanymi przez HTTPS.
Te endpointy pozwalają developerom:
- pobierać dane sklepu (żądania GET)
- tworzyć nowe zasoby, np. produkty lub zamówienia (żądania POST)
- aktualizować istniejące zasoby (żądania PUT)
- usuwać zasoby (żądania DELETE)
REST API jest szczególnie cenne w scenariuszach headless commerce, gdzie warstwa prezentacji jest oddzielona od zaplecza WooCommerce. Takie podejście pozwala tworzyć własne doświadczenia zakupowe na stronach, w aplikacjach mobilnych i innych punktach styku, wszystkie oparte na tym samym rdzeniu WooCommerce. W takich układach sklep zwykle używa Store API do koszyka i kasy, a REST API obsługuje integracje zaplecza, takie jak synchronizacja z ERP czy PIM. Kontekst headless opisuje artykuł czy WooCommerce działa bez WordPressa.
WooCommerce REST API nie tylko daje dostęp do danych, ale otwiera nowe możliwości działania sklepu i integracji z szerszym ekosystemem cyfrowym.
Czym jest WooCommerce Store API?
Store API udostępnia endpointy dla sklepów widocznych dla klientów pod adresem /wp-json/wc/store/v1/, takie jak koszyk, kasa i produkty. Zasila bloki Koszyka i Kasy i jest właściwym wyborem dla frontendów headless, które mają pokazywać produkty i umożliwiać zakupy. W przeciwieństwie do REST API nie używa kluczy API. Korzysta z własnego mechanizmu nonce lub tokenu koszyka, więc kupujący może zmieniać tylko własny koszyk. Aktualne trasy opisuje dokumentacja Store API (po angielsku).
Podstawowe endpointy WooCommerce i ich funkcje
WooCommerce ma wbudowany szereg endpointów. Można je podzielić na trzy kategorie: endpointy URL widoczne dla klienta, endpointy REST API i endpointy Store API.
| Typ endpointu | Przykłady | Funkcja |
|---|---|---|
| Endpointy konta klienta | orders, view-order, downloads, edit-address, payment-methods, edit-account | Kontrolują adresy stron konta klienta |
| Endpointy procesu zamówienia | order-pay, order-received, add-payment-method | Obsługują kroki płatności i potwierdzenia zamówienia |
| Endpointy API produktów | /wp-json/wc/v3/products | Zarządzanie danymi produktów |
| Endpointy API zamówień | /wp-json/wc/v3/orders | Przetwarzanie i zarządzanie zamówieniami |
| Endpointy API klientów | /wp-json/wc/v3/customers | Zarządzanie danymi klientów |
| Endpointy Store API | /wp-json/wc/store/v1/cart, /wp-json/wc/store/v1/checkout | Koszyk i kasa w sklepie |
Każda z tych kategorii odgrywa ważną rolę w działaniu sklepu WooCommerce. Na przykład endpointy produktów pozwalają developerom programistycznie tworzyć, odczytywać, aktualizować i usuwać produkty, a endpointy zamówień umożliwiają zaawansowane procesy zarządzania zamówieniami. Same strony koszyka i kasy są stronami WordPressa, a nie endpointami.
Znajomość podstawowych endpointów daje fundament zarówno do dostosowywania standardowego działania WooCommerce, jak i do rozszerzania go o własną funkcjonalność. Dla sklepów łączących się z systemami ERP, CRM lub PIM zobacz nasze integracje WooCommerce.
Jak działają endpointy konta WooCommerce?
Endpointy konta to adresy URL, które kontrolują, co klienci widzą, przechodząc do różnych sekcji swojego konta. Domyślnie WooCommerce rejestruje kilka endpointów konta:
- Kokpit: główna strona konta
- Zamówienia (
orders): historia zamówień klienta - Pliki do pobrania (
downloads): produkty cyfrowe - Adresy (
edit-address): adresy wysyłki i rozliczeniowe - Metody płatności (
payment-methods): zapisane dane płatności - Szczegóły konta (
edit-account): dane osobowe - Wylogowanie (
customer-logout): zakończenie bieżącej sesji
Te endpointy działają przez system reguł przepisywania WordPressa. Gdy klient odwiedza na przykład /my-account/orders/, WooCommerce przechwytuje żądanie i wczytuje odpowiednią treść z zamówieniami. Wszystkie endpointy wymienia oficjalna dokumentacja (po angielsku).
Endpointy konta są szczególnie interesujące, bo można je dostosowywać. Możesz:
- zmienić strukturę adresów (np. „historia-zakupow” zamiast „orders”) w WooCommerce > Ustawienia > Zaawansowane, w sekcji endpointów konta
- dodać zupełnie nowe sekcje konta
- usunąć domyślne sekcje, których nie potrzebujesz
- zmienić kolejność sekcji w menu konta
Ta elastyczność pozwala tworzyć doświadczenia dopasowane do wymagań biznesowych. Na przykład firma subskrypcyjna może dodać własny endpoint „Subskrypcje”, a sklep B2B endpoint „Dane firmy”.
Tworzenie własnych endpointów WooCommerce
Jedną z najbardziej użytecznych cech architektury WooCommerce jest możliwość tworzenia własnych endpointów. Pozwala to rozszerzyć funkcjonalność poza to, co dostępne domyślnie.
Oto podstawowy przykład dodania własnego endpointu konta:
// Rejestracja endpointu
function custom_add_my_account_endpoint() {
add_rewrite_endpoint( 'my-custom-endpoint', EP_ROOT | EP_PAGES );
}
add_action( 'init', 'custom_add_my_account_endpoint' );
// Dodanie pozycji w menu konta, przed „Wyloguj”
function custom_add_my_account_menu_item( $items ) {
$logout = $items['customer-logout'] ?? null;
unset( $items['customer-logout'] );
$items['my-custom-endpoint'] = 'Moja strona';
if ( $logout ) {
$items['customer-logout'] = $logout;
}
return $items;
}
add_filter( 'woocommerce_account_menu_items', 'custom_add_my_account_menu_item' );
// Treść własnego endpointu
function custom_my_account_endpoint_content() {
echo '<h3>Moja treść</h3>';
echo '<p>Treść mojej własnej sekcji konta.</p>';
}
add_action( 'woocommerce_account_my-custom-endpoint_endpoint', 'custom_my_account_endpoint_content' );
// Jednorazowe odświeżenie reguł przepisywania przy aktywacji wtyczki
function custom_flush_rewrite_rules() {
custom_add_my_account_endpoint();
flush_rewrite_rules();
}
register_activation_hook( __FILE__, 'custom_flush_rewrite_rules' );
Po dodaniu kodu jednorazowo odśwież reguły przepisywania: aktywuj wtyczkę albo wejdź w Ustawienia > Bezpośrednie odnośniki i kliknij Zapisz. Nigdy nie wywołuj flush_rewrite_rules() przy każdym żądaniu, bo jest to kosztowne. Ten podstawowy wzorzec można rozbudować o zaawansowaną funkcjonalność w obszarze konta. Przy bardziej złożonych wymaganiach warto współpracować ze specjalistą od rozwoju WooCommerce, który zadba o bezpieczne i wydajne wdrożenie własnych endpointów.
Tworzenie własnych endpointów REST API
Podobnie możesz tworzyć własne endpointy REST API, aby udostępniać nową funkcjonalność programistycznie:
add_action( 'rest_api_init', function () {
// Użyj własnej przestrzeni nazw, nigdy wc/v3
register_rest_route( 'my-plugin/v1', '/custom-data', array(
'methods' => 'GET',
'callback' => 'my_custom_endpoint_handler',
'permission_callback' => function() {
return current_user_can( 'manage_options' );
}
));
});
function my_custom_endpoint_handler( $request ) {
// Przetwórz żądanie i zwróć dane
$data = array( 'status' => 'success', 'message' => 'Custom data retrieved' );
return new WP_REST_Response( $data, 200 );
}
Takie podejście pozwala rozszerzać możliwości WooCommerce na wiele sposobów, od własnych systemów raportowania po integracje z usługami zewnętrznymi. Szerszy opis znajdziesz w artykule jak zbudować własne API w WooCommerce.
Dobre praktyki bezpieczeństwa przy tworzeniu endpointów WooCommerce
Przy pracy z endpointami WooCommerce bezpieczeństwo powinno być priorytetem. Oto podstawowe praktyki:
| Zagrożenie | Dobra praktyka | Sposób wdrożenia |
|---|---|---|
| Uwierzytelnianie | Zawsze weryfikuj tożsamość użytkownika przed dostępem do wrażliwych danych | Używaj kluczy API WooCommerce przez HTTPS lub haseł aplikacji dla użytkowników WordPressa |
| Autoryzacja | Sprawdzaj, czy uwierzytelnieni użytkownicy mają odpowiednie uprawnienia | Wdrażaj poprawne kontrole uprawnień (np. current_user_can()) w każdym permission_callback |
| Walidacja danych | Nigdy nie ufaj danym od użytkowników ani systemów zewnętrznych | Waliduj i oczyszczaj wszystkie dane funkcjami WordPressa, np. sanitize_text_field(), a dane wyjściowe escapuj funkcją esc_html() |
| Ograniczanie liczby żądań | Zapobiegaj nadużyciom przez nadmierną liczbę wywołań API | Wdróż ograniczanie liczby żądań dla endpointów API, np. na poziomie serwera lub zapory |
| Obsługa błędów | Nie ujawniaj wrażliwych informacji w komunikatach o błędach | Używaj ogólnych komunikatów w środowisku produkcyjnym |
Dla endpointów API używaj kluczy tylko do odczytu wszędzie tam, gdzie integracja nie musi zapisywać danych, i odwołuj nieużywane klucze. WooCommerce ma wbudowaną obsługę kluczy API, którymi zarządzasz w panelu administracyjnym.
Pamiętaj, że endpointy mogą ujawniać wrażliwe dane klientów i zamówień, więc odpowiednie zabezpieczenia są niezbędne dla zaufania klientów i zgodności z przepisami o ochronie danych. Nasze podejście do hardeningu opisuje strona bezpieczeństwo WordPress.
Najważniejsze wnioski: endpointy WooCommerce w praktyce
Jak pokazuje ten poradnik, endpointy WooCommerce są fundamentalnymi elementami elastycznych doświadczeń e-commerce. Warto zapamiętać:
- endpointy obsługują nawigację widoczną dla klienta, programistyczny dostęp przez API i dostęp sklepu przez Store API
- zrozumienie architektury endpointów pozwala dostosować doświadczenie klienta
- własne endpointy rozszerzają WooCommerce poza możliwości domyślne
- bezpieczeństwo jest kluczowe, szczególnie przy endpointach ujawniających wrażliwe dane
- REST API i Store API otwierają możliwości headless commerce i zintegrowanych doświadczeń
Dla tych, którzy chcą wynieść swoje sklepy WooCommerce na wyższy poziom, endpointy dają ramy architektoniczne do budowy rozwiązań na zamówienie. Niezależnie od tego, czy chcesz usprawnić obszar konta klienta, zbudować integracje z aplikacjami mobilnymi, czy stworzyć unikalne doświadczenia zakupowe, znajomość endpointów daje potrzebne narzędzia.
Gotowy, by wykorzystać tę wiedzę? Zacznij od przeglądu obecnej konfiguracji WooCommerce i znajdź miejsca, w których własne endpointy mogłyby poprawić doświadczenie klientów lub działanie firmy. Przy złożonych wdrożeniach rozważ współpracę z doświadczonymi specjalistami od rozwoju WooCommerce, którzy bezpiecznie i skutecznie wdrożą te rozwiązania.
Najczęstsze pytania o endpointy WooCommerce
Czym są endpointy WooCommerce?
Endpointy WooCommerce to adresy URL reprezentujące funkcję lub zasób. Obejmują endpointy konta i zamówienia widoczne dla klienta, takie jak /my-account/orders/, endpointy REST API pod /wp-json/wc/v3/ oraz endpointy Store API pod /wp-json/wc/store/v1/.
Jaki jest bazowy adres WooCommerce REST API?
Adres bazowy to /wp-json/wc/v3/ w Twojej domenie, a po nim zasób, taki jak products, orders lub customers. Na przykład /wp-json/wc/v3/orders zwraca zamówienia dla uwierzytelnionych żądań.
Czym różni się WooCommerce REST API od Store API?
REST API (wc/v3) służy sprzedawcom i integracjom i wymaga uwierzytelnienia. Store API (wc/store/v1) obsługuje sklepy widoczne dla klientów, zasila bloki Koszyka i Kasy i używa własnego mechanizmu nonce lub tokenu koszyka zamiast kluczy API.
Jak uwierzytelnić się w WooCommerce REST API?
Utwórz klucze API w WooCommerce > Ustawienia > Zaawansowane > REST API i wysyłaj klucz konsumenta i sekret przez HTTPS. Dla każdego klucza wybierz uprawnienia odczytu lub odczytu i zapisu. Alternatywą są hasła aplikacji dla użytkowników WordPressa.
Jak dodać własny endpoint do strony Moje konto?
Zarejestruj go przez add_rewrite_endpoint(), dodaj pozycję menu filtrem woocommerce_account_menu_items, wyświetl treść w akcji woocommerce_account_{endpoint}_endpoint i jednorazowo odśwież reguły przepisywania.
Dlaczego mój własny endpoint WooCommerce zwraca błąd 404?
Zwykle reguły przepisywania nie zostały odświeżone. Wejdź w Ustawienia > Bezpośrednie odnośniki i kliknij Zapisz albo jednorazowo odśwież reguły przy aktywacji wtyczki. Nigdy nie odświeżaj ich przy każdym żądaniu.



