Как использовать WooCommerce REST API для автоматизации магазина на WordPress

WooCommerce — это самый популярный плагин для создания интернет-магазина на WordPress. Если вы управляете магазином и хотите автоматизировать задачи, например, обновление товаров, обработку заказов или интеграцию с внешними сервисами, REST API WooCommerce — это мощный инструмент для разработчика.

Что такое WooCommerce REST API и зачем он нужен

WooCommerce REST API предоставляет программный интерфейс для взаимодействия с данными магазина — товарами, заказами, клиентами и т.д. Это HTTP API, которое позволяет получать, создавать, изменять и удалять данные из магазина с помощью стандартных HTTP методов (GET, POST, PUT, DELETE).

REST API полезен для автоматизации рутинных задач, интеграции с CRM, ERP, системами аналитики или мобильными приложениями. Вместо ручного управления через админку вы можете написать скрипты или плагины, которые управляют магазином программно.

Важно понимать, что для работы с API нужно настроить правильную аутентификацию, обычно с помощью ключей API (Consumer Key и Consumer Secret), которые создаются в настройках WooCommerce.

Настройка WooCommerce REST API на сайте WordPress

Для начала работы с WooCommerce REST API нужно:

  • Установить и активировать плагин WooCommerce.
  • Перейти в админке WordPress в WooCommerce → Настройки → Расширенные → REST API.
  • Нажать «Добавить ключ» и указать пользователя, уровень доступа (например, «Чтение/Запись») и описание ключа.
  • Сохранить и сохранить сгенерированные Consumer Key и Consumer Secret.

Эти ключи нужны для аутентификации запросов к API. Без них вы не сможете получить доступ к данным магазина.

Пример авторизованного запроса с помощью PHP и wpbook

Для работы с REST API можно использовать библиотеку Guzzle или стандартные функции PHP. Ниже пример простой функции wpbook_get_woocommerce_products на PHP с использованием cURL для получения списка товаров:

function wpbook_get_woocommerce_products() {
    $url = 'https://your-site.ru/wp-json/wc/v3/products';
    $consumer_key = 'ck_your_consumer_key';
    $consumer_secret = 'cs_your_consumer_secret';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url . '?consumer_key=' . $consumer_key . '&consumer_secret=' . $consumer_secret);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);
    curl_close($ch);

    return json_decode($response, true);
}

Эта функция отправляет GET-запрос к API и возвращает массив товаров. В реальном проекте ключи лучше хранить в настройках или переменных окружения.

Основные методы и примеры работы с товарами через API

WooCommerce API поддерживает полный CRUD (создание, чтение, обновление, удаление) для товаров.

Получение товаров

GET-запрос к /wp-json/wc/v3/products вернёт список товаров. Можно использовать параметры фильтрации, например, per_page, category, search и т.д.

Создание товара

Для создания товара отправляем POST-запрос с JSON-данными. Пример функции wpbook_create_product:

function wpbook_create_product($data) {
    $url = 'https://your-site.ru/wp-json/wc/v3/products';
    $consumer_key = 'ck_your_consumer_key';
    $consumer_secret = 'cs_your_consumer_secret';

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url . '?consumer_key=' . $consumer_key . '&consumer_secret=' . $consumer_secret);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

    $response = curl_exec($curl);
    curl_close($curl);

    return json_decode($response, true);
}

Пример данных для создания простого товара:

{
    "name": "Новый продукт",
    "type": "simple",
    "regular_price": "1500",
    "description": "Описание продукта",
    "short_description": "Краткое описание"
}

Обновление товара

Для обновления товара используйте PUT-запрос к /wp-json/wc/v3/products/{id}. Пример:

function wpbook_update_product_price($product_id, $new_price) {
    $url = 'https://your-site.ru/wp-json/wc/v3/products/' . $product_id;
    $consumer_key = 'ck_your_consumer_key';
    $consumer_secret = 'cs_your_consumer_secret';

    $data = array('regular_price' => (string)$new_price);

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url . '?consumer_key=' . $consumer_key . '&consumer_secret=' . $consumer_secret);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

    $response = curl_exec($curl);
    curl_close($curl);

    return json_decode($response, true);
}

Работа с заказами через WooCommerce REST API

Заказы — важная часть магазина. Через API можно получать список заказов, менять статус, добавлять заметки и т.д.

Пример получения заказов:

function wpbook_get_orders($status = 'processing') {
    $url = 'https://your-site.ru/wp-json/wc/v3/orders';
    $consumer_key = 'ck_your_consumer_key';
    $consumer_secret = 'cs_your_consumer_secret';

    $params = '?status=' . $status . '&consumer_key=' . $consumer_key . '&consumer_secret=' . $consumer_secret;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url . $params);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);
    curl_close($ch);

    return json_decode($response, true);
}

Можно автоматизировать обработку заказов, например, менять статус после оплаты или отправлять уведомления.

Плагины для удобной работы с WooCommerce REST API

Если писать код с нуля не хочется, используйте полезные плагины, расширяющие возможности API или упрощающие интеграции:

  • WooCommerce API Manager — расширяет возможности API, добавляет поддержку цифровых продуктов и лицензий.
  • WP OAuth Server — для более гибкой и безопасной аутентификации через OAuth 2.0.
  • WooCommerce Zapier — интеграция с Zapier для автоматизации без программирования.

Эти инструменты помогут ускорить разработку и интеграцию.

Советы и лучшие практики при работе с WooCommerce REST API

При работе с WooCommerce REST API учитывайте следующие моменты:

  • Безопасность: Никогда не храните ключи в открытом виде в коде, используйте переменные окружения или защищённые настройки.
  • Ограничение запросов: WooCommerce может ограничивать частоту запросов, учитывайте это при написании скриптов, добавляйте паузы и обработку ошибок.
  • Версии API: Используйте актуальную версию API, чтобы получать новые возможности и исправления.
  • Логирование и отладка: Добавляйте логирование запросов и ответов для быстрого поиска проблем.

Следуя этим рекомендациям, вы создадите надёжные и удобные интеграции для вашего магазина.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как использовать хуки для автоматического изменения стоимости товара в WooCommerce
09.05.2026
Как создать автоматический импорт видео в WordPress из YouTube
08.02.2026
Как сделать автоматический rollback обновлений WordPress при ошибках
25.03.2026
Как создать динамическую таблицу в WordPress с помощью шорткода
26.11.2025
Как создать собственный шорткод в WordPress: практическое руководство
04.11.2025
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее