Czym są endpointy WooCommerce?

9 minuta
What are WooCommerce endpoints?

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:

  1. definiują adresy widoczne dla klienta: strony konta, proces zamówienia i inne interakcje
  2. udostępniają punkty dostępu do programistycznej wymiany danych przez REST API
  3. 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 endpointuPrzykładyFunkcja
Endpointy konta klientaorders, view-order, downloads, edit-address, payment-methods, edit-accountKontrolują adresy stron konta klienta
Endpointy procesu zamówieniaorder-pay, order-received, add-payment-methodObsługują kroki płatności i potwierdzenia zamówienia
Endpointy API produktów/wp-json/wc/v3/productsZarządzanie danymi produktów
Endpointy API zamówień/wp-json/wc/v3/ordersPrzetwarzanie i zarządzanie zamówieniami
Endpointy API klientów/wp-json/wc/v3/customersZarządzanie danymi klientów
Endpointy Store API/wp-json/wc/store/v1/cart, /wp-json/wc/store/v1/checkoutKoszyk 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:

  1. zmienić strukturę adresów (np. „historia-zakupow” zamiast „orders”) w WooCommerce > Ustawienia > Zaawansowane, w sekcji endpointów konta
  2. dodać zupełnie nowe sekcje konta
  3. usunąć domyślne sekcje, których nie potrzebujesz
  4. 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żenieDobra praktykaSposób wdrożenia
UwierzytelnianieZawsze weryfikuj tożsamość użytkownika przed dostępem do wrażliwych danychUżywaj kluczy API WooCommerce przez HTTPS lub haseł aplikacji dla użytkowników WordPressa
AutoryzacjaSprawdzaj, czy uwierzytelnieni użytkownicy mają odpowiednie uprawnieniaWdrażaj poprawne kontrole uprawnień (np. current_user_can()) w każdym permission_callback
Walidacja danychNigdy nie ufaj danym od użytkowników ani systemów zewnętrznychWaliduj 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ń APIWdróż ograniczanie liczby żądań dla endpointów API, np. na poziomie serwera lub zapory
Obsługa błędówNie ujawniaj wrażliwych informacji w komunikatach o błędachUż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.

Pwel Zmyslowski

Paweł Zmysłowski

CEO WLC.team

W WLC odpowiada za proces sprzedaży i zespół sprzedaży, a w przypadku bardziej złożonych projektów pełnię również rolę analityczną i doradczą.

Strona autora

Czy Twój WordPress „działa, ale jest wolny”?

WIĘCEJ ARTYKUŁÓW

Czytaj także

  • Why do my comparison tables cause layout shift?
    10 minuta

    Dlaczego moje tabele porównawcze powodują przesunięcia układu?

    Tabele porównawcze często powodują przesunięcia układu, bo ich części ładują się bez zarezerwowanego miejsca, więc treść skacze w trakcie renderowania strony. Dzieje się tak, gdy obrazy nie mają wymiarów, dane dynamiczne ładują się bez placeholderów lub własne czcionki przeformatowują tekst po pierwszym renderowaniu. Przesunięcia układu szkodzą doświadczeniu użytkownika i Core Web Vitals, które wpływają na…

    Czytaj

  • How do you implement multiple payment gateways in iGaming platforms?
    11 minuta

    Bramka płatności iGaming: integracja wielu bramek, poradnik

    Wdrożenie wielu bramek płatności w platformach iGaming polega na zintegrowaniu kilku procesorów płatności, aby oferować różne opcje płatności, zapewnić zgodność z przepisami i zmaksymalizować wskaźniki sukcesu transakcji. To podejście wymaga starannego planowania technicznego, silnych zabezpieczeń i inteligentnych systemów routingu. Proces zwykle obejmuje integracje API, zarządzanie bazą danych i dokładne testy, aby stworzyć płynne doświadczenia płatnicze…

    Czytaj

  • 1 minuta

    Rozwój działalności eksportowej na nowych rynkach zagranicznych

    White Label Coders sp. z o.o. otrzymała dofinansowanie z Unii Europejskiej na projekt „Rozwój działalności eksportowej na nowych rynkach zagranicznych”. Wsparcie w formie bonu eksportowego pochodzi z projektu „InterGlobal – internacjonalizacja przedsiębiorstw sektora MŚP z województwa śląskiego”, realizowanego przez Fundusz Górnośląski S.A. w ramach programu Fundusze Europejskie dla Śląskiego 2021–2027. Cele projektu Wejście z nowym…

    Czytaj