WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Краткое руководство по WooCommerce REST API

2 139

Вы хотите взаимодействовать с WooCommerce REST API? WooCommerce предоставляет REST API, который будет получать данные в реальном времени из серверной части, которые можно разместить в любом месте вашего внешнего приложения. Через его REST API можно управлять своими данными WooCommerce, обращаясь к конечным точкам. В этой статье мы изучаем, как использовать WooCommerce REST API и отправлять HTTP-запросы в WooCommerce.

Если вы хотите создать свой собственный магазин, вы можете использовать WooCommerce в качестве бэкэнда для управления своими продуктами, изображениями продуктов, галереей и т.д. А затем, используя REST API, получить данные о продукте и отобразить их во внешнем приложении. WooCommerce предоставляет документацию по REST API для взаимодействия с серверной частью. Здесь вы получите подробную информацию обо всем, например о продуктах, клиентах, заказах, налогах и т.д. В этой статье мы собираемся взаимодействовать с конечными точками продукта. Аналогичным образом вы можете интегрировать другие параметры, такие как клиенты, заказы и т.д.

Получите свой ключ клиента и секрет потребителя

Чтобы начать работу с WooCommerce REST API, вам сначала нужно получить свой ключ клиента и секрет потребителя. Эти ключи являются идентификатором магазина и необходимы при вызове API в WooCommerce.

Вы должны установить WooCommerce на свой сервер WordPress. Затем перейдите на страницу WooCommerce-> Настройки. Перейдите на вкладку «Дополнительно», а затем на ссылку REST API.

Краткое руководство по WooCommerce REST API

На этой странице нажмите кнопку «Создать ключ API».

Краткое руководство по WooCommerce REST API

Введите описание, выберите разрешения «Чтение / запись» и нажмите кнопку «Создать ключ API». Вы также можете выбрать разрешение на чтение. Это зависит от ваших требований. Если вам просто нужно прочитать данные из WooCommerce, выберите вариант «Читать». И если вы хотите выполнять и чтение, и запись, тогда ваш вариант будет «Чтение / запись».

Краткое руководство по WooCommerce REST API

Скопируйте свой ключ потребителя и секрет потребителя, которые потребуются при выполнении вызовов API.

Краткое руководство по WooCommerce REST API

Взаимодействовать с WooCommerce REST API

Как только вы будете готовы указать свой ключ потребителя и секрет потребителя, мы можем начать с кода, который взаимодействует с WooCommerce. Поскольку нам нужно отправлять HTTP-запросы, установите библиотеку Guzzle, используя команду ниже.

composer require guzzlehttp/guzzle

Guzzle — это HTTP-клиент PHP, который упрощает отправку HTTP-запросов и упрощает интеграцию с веб-службами.

Теперь давайте возьмем некоторые конечные точки, такие как получение всех продуктов, получение одного продукта, обновление продукта и его интеграция.

Получить продукты

При вызове конечных точек API WooCommerce вам необходимо установить заголовок авторизации, который представляет собой строку в кодировке base64 вашего ключа потребителя и секрета потребителя.

<?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(); }

В приведенном выше коде я вызвал конечную точку, которая дает список продуктов. Здесь я передал 18 в качестве значения per_page, которое в ответ даст 18 данных о продукте. Вы можете передать это значение в соответствии с вашими требованиями. Не забудьте заменить заполнители фактическими значениями, прежде чем попадать в конечную точку.

Получите единый продукт

Если вы хотите получить данные об одном продукте, ваша конечная точка будет следующей.

$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, ]);

Обновить продукт

Вы можете обновить продукт, отправив запрос PUT в конечную точку API. Допустим, вы хотите обновить regular_price вашего продукта.

$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, ]);

Это некоторые основные призывы. Таким же образом пользователь может отправить HTTP-запрос для клиентов, заказов, купонов и т.д. Подробнее об этом можно прочитать в их официальной документации.

Взаимодействовать с WooCommerce REST API с помощью JavaScript.

WooCommerce выпускает собственную библиотеку JavaScript, которая полезна для отправки вызова API в WooCommerce из фреймворка JavaScript. Допустим, вы хотите взаимодействовать с REST API из своего приложения на React.

В этом случае установите библиотеку @ woocommerce / woocommerce-rest-api с помощью команды:

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

Затем в вашем компоненте React вы можете получить список продуктов, используя приведенный ниже код.

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"));

Здесь я печатаю список наименований продуктов и их цену. Пользователь также может распечатать другие данные. Если вы хотите увидеть все данные в консоли, зарегистрируйте response.data в методе успеха. Как и в приведенном выше примере, вы можете отправлять другие HTTP-запросы из своего приложения React.

Заключение

В этом руководстве мы изучаем вызов WooCommerce REST API с помощью PHP и JavaScript. Мы рассмотрели несколько конечных точек API WooCommerce. Пользователь может играть с другой конечной точкой, следуя документации и отправляя необходимые HTTP-запросы.

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее