✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Szybki przewodnik po WooCommerce REST API

354

Czy chcesz wejść w interakcję z API REST WooCommerce? WooCommerce zapewnia interfejs API REST, który dostarcza dane w czasie rzeczywistym z zaplecza, które można umieścić w dowolnym miejscu w zewnętrznej aplikacji. Za pośrednictwem interfejsu API REST można zarządzać danymi WooCommerce, docierając do punktów końcowych. W tym artykule dowiemy się, jak korzystać z WooCommerce REST API i wysyłać żądania HTTP do WooCommerce.

Jeśli chcesz zbudować własny sklep, możesz użyć WooCommerce jako zaplecza do zarządzania Twoimi produktami, zdjęciami produktów, galerią itp. A następnie korzystając z REST API, pobierz dane produktu i wyświetl je w zewnętrznej aplikacji. WooCommerce udostępnia dokumentację API REST do interakcji z backendem. Tutaj otrzymasz szczegółowe informacje o wszystkim, takich jak produkty, klienci, zamówienia, podatki itp. W tym artykule będziemy wchodzić w interakcje z punktami końcowymi produktu. W podobny sposób możesz zintegrować inne opcje, takie jak klienci, zamówienia itp.

Uzyskaj klucz klienta i tajemnicę klienta

Aby rozpocząć korzystanie z WooCommerce REST API, musisz najpierw uzyskać klucz klienta i tajny klucz klienta. Klucze te służą do identyfikacji sklepu i są niezbędne przy wywołaniu API do WooCommerce.

Musisz zainstalować WooCommerce na swoim zapleczu WordPress. Następnie przejdź do strony WooCommerce->Ustawienia. Kliknij na zakładkę Zaawansowane, a następnie na link REST API.

Szybki przewodnik po WooCommerce REST API

Na tej stronie kliknij przycisk „Utwórz klucz API".

Szybki przewodnik po WooCommerce REST API

Wprowadź opis, wybierz uprawnienia „Odczyt/zapis” i naciśnij przycisk Generuj klucz API. Możesz również wybrać uprawnienie do odczytu. To zależy od Twoich wymagań. Jeśli potrzebujesz tylko odczytać dane z WooCommerce, wybierz opcję „Czytaj”. A jeśli chcesz wykonywać zarówno operacje odczytu, jak i zapisu, twoją opcją będzie „Odczyt/zapis”.

Szybki przewodnik po WooCommerce REST API

Skopiuj klucz klienta i tajny klucz klienta, które będą wymagane podczas wywoływania API.

Szybki przewodnik po WooCommerce REST API

Wejdź w interakcję z WooCommerce REST API

Gdy będziesz gotowy z kluczem klienta i tajnym kluczem klienta, możemy zacząć od kodu, który wchodzi w interakcję z WooCommerce. Ponieważ musimy wysyłać żądania HTTP, zainstaluj bibliotekę Guzzle za pomocą poniższego polecenia.

composer require guzzlehttp/guzzle

Guzzle to klient PHP HTTP, który ułatwia wysyłanie żądań HTTP i banalne do integracji z usługami internetowymi.

Teraz weźmy kilka punktów końcowych, takich jak pobierz wszystkie produkty, pobierz jeden produkt, zaktualizuj produkt i zintegruj go.

Pobierz produkty

Podczas wywoływania punktów końcowych API WooCommerce musisz ustawić nagłówek autoryzacji, który jest zakodowanym w base64 łańcuchem klucza klienta i tajnego klucza klienta.

<?php require_once "vendor/autoload.php";    use GuzzleHttpClient;   define('WC_CONSUMER_KEY', 'PASTE_CONSUMER_KEY'); define('WC_CONSUMER_SECRET', 'PASTE_CONSUMER_SECRET');    $client = new Client([     // Base URI is used with relative requests     'base_uri' => 'YOUR_DOMAIN_BASE_URL', ]);   try {     $response = $client->request('GET', '/wp-json/wc/v3/products', [         'headers' => [             "Authorization" => "Basic ". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)         ],         'query' => [             'per_page' => 18,         ],         'verify' => false, //only needed if you are facing SSL certificate issue     ]);           $body = $response->getBody();     $arr_body = json_decode($body);     print_r($arr_body); } catch (Exception $e) {     echo $e->getMessage(); }

W powyższym kodzie nazwałem punkt końcowy, który podaje listę produktów. Tutaj przekazałem 18 jako wartość „per_page”, która w odpowiedzi da 18 danych produktu. Możesz przekazać tę wartość zgodnie z wymaganiami. Pamiętaj, aby zastąpić symbole zastępcze rzeczywistymi wartościami przed trafieniem do punktu końcowego.

Zdobądź jeden produkt

Jeśli chcesz pobrać dane pojedynczego produktu, Twój punkt końcowy będzie następujący.

$response = $client->request('GET', '/wp-json/wc/v3/products/PRODUCT_ID_HERE', [     'headers' => [         "Authorization" => "Basic ". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)     ],     'verify' => false, ]);

Zaktualizuj produkt

Możesz zaktualizować produkt, wysyłając żądanie PUT do punktu końcowego API. Załóżmy, że chcesz zaktualizować regular_price swojego produktu.

$response = $client->request('PUT', '/wp-json/wc/v3/products/PRODUCT_ID_HERE', [     'headers' => [         "Authorization" => "Basic ". base64_encode(WC_CONSUMER_KEY.':'.WC_CONSUMER_SECRET)     ],     'json' => [         'regular_price' => '12.20',     ],     'verify' => false, ]);

Oto kilka podstawowych połączeń. W ten sam sposób użytkownik może wysyłać zapytania HTTP dla Klientów, Zamówienia, Kupony itp. Więcej na ten temat można przeczytać w ich oficjalnej dokumentacji.

Wejdź w interakcję z API REST WooCommerce za pomocą JavaScript

WooCommerce wydaje własną bibliotekę JavaScript, która jest przydatna do wysyłania wywołań API do WooCommerce z frameworka JavaScript. Załóżmy, że chcesz wchodzić w interakcję z REST API z aplikacji opartej na React.

W takim przypadku zainstaluj bibliotekę „@woocommerce/woocommerce-rest-api” za pomocą polecenia:

npm install --save @woocommerce/woocommerce-rest-api

Następnie w swoim komponencie React możesz uzyskać listę produktów za pomocą poniższego kodu.

import React from 'react'; import ReactDOM from 'react-dom'; import WooCommerceRestApi from "@woocommerce/woocommerce-rest-api";   class ProductsComponent extends React.Component {   constructor(props) {     super(props);     this.state = {       products: []     };   }     componentDidMount() {     const api = new WooCommerceRestApi({       url: "YOUR_DOMAIN_BASE_URL",       consumerKey: "PASTE_CONSUMER_KEY",       consumerSecret: "PASTE_CONSUMER_SECRET",       version: "wc/v3"     });       // List products     api.get("products", {       per_page: 18, // 18 products per page     })       .then((response) => {         // Successful request         this.setState({           products: response.data         });       })       .catch((error) => {         // Invalid request, for 4xx and 5xx statuses       })       .finally(() => {         // Always executed.       });   }     render() {     return (      <div>         <h2>Products</h2>         <ul>         {this.state.products.map(product => (          <li key={product.id}>{product.name} - ${product.regular_price}</li>         ))}         </ul>       </div>     );   } }   const element = <ProductsComponent></ProductsComponent>   ReactDOM.render(element, document.getElementById("root"));

Tutaj drukuję listę nazw produktów oraz cenę produktu. Użytkownik może również wydrukować inne dane. Jeśli chcesz zobaczyć wszystkie dane w konsoli, zarejestruj response.data w metodzie success. Podobnie jak w powyższym przykładzie, możesz wysyłać inne żądania HTTP z aplikacji React.

Wniosek

W tym samouczku uczymy się wywoływania API REST WooCommerce za pomocą PHP i JavaScript. Przeszliśmy przez kilka punktów końcowych API WooCommerce. Użytkownik może bawić się z drugim punktem końcowym postępując zgodnie z dokumentacją i wysyłając wymagane żądania HTTP.

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów