REST API WooCommerce and Store API

Публичный REST API WooCommerce (Store API)

Платформа WooCommerce предоставляет несколько способов взаимодействия с данными магазина через API. Наиболее важные из них:

  • Store API (публичный REST API)
  • Классический WooCommerce REST API (непубличный)

В этой статье разберём:

  • что такое Store API
  • как он работает
  • примеры запросов
  • чем он отличается от приватного REST API

Что такое Store API

Store API — это публичный REST API, встроенный в WooCommerce (начиная с блоков Cart/Checkout), который позволяет получать данные магазина без аутентификации.

📌 Основная идея:

Store API предназначен для клиентской части (frontend), а не для управления магазином.

Он используется в:

  • React/Vue фронтендах
  • headless-commerce решениях
  • WooCommerce Blocks (новая корзина и оформление заказа)

Основные характеристики

  • ✅ Не требует API-ключей
  • ✅ Работает через cookie/сессию пользователя
  • ✅ Ограничен только безопасными операциями
  • ❌ Не даёт доступ к админским данным

Базовый URL

Store API доступен по следующему пути:

/wp-json/wc/store/

Пример:

https://example.com/wp-json/wc/store/products

Основные эндпоинты Store API

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

Запрос

GET /wp-json/wc/store/products

Пример ответа

[
  {
    "id": 123,
    "name": "T-shirt",
    "price": "20.00",
    "images": [
      {
        "src": "https://example.com/image.jpg"
      }
    ]
  }
]

Фильтрация

GET /wp-json/wc/store/products?search=shirt&min_price=1000

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

GET /wp-json/wc/store/products/123

Работа с корзиной

Получить корзину

GET /wp-json/wc/store/cart

Добавить товар

POST /wp-json/wc/store/cart/add-item

Пример body:

{
  "id": 123,
  "quantity": 2
}

Оформление заказа

POST /wp-json/wc/store/checkout

📌 Здесь используется сессия пользователя, а не API-ключи.

Как работает аутентификация

Store API использует:

  • cookies
  • nonce (в WordPress)
  • сессии пользователя

📌 Это значит:

  • пользователь «идентифицируется» как браузерный клиент
  • API нельзя использовать для админских задач

 

Непубличный REST API WooCommerce

Теперь рассмотрим второй тип API.

Что это такое

Классический WooCommerce REST API:

/wp-json/wc/v3/

Пример:

GET /wp-json/wc/v3/products

Особенности

  • ❗ Требует API-ключи (consumer key + secret)
  • ❗ Даёт полный доступ к данным магазина
  • ❗ Используется для интеграций

Пример запроса

GET /wp-json/wc/v3/orders
Authorization: Basic base64(consumer_key:consumer_secret)

Возможности

С помощью приватного API можно:

  • управлять товарами
  • получать заказы
  • создавать клиентов
  • управлять доставкой и налогами

Ключевые отличия Store API и REST API

Характеристика Store API REST API (wc/v3)
Доступ Публичный Приватный
Аутентификация Cookie / Session API ключи
Назначение Frontend Backend / интеграции
Работа с заказами Только checkout Полный контроль
Безопасность Ограниченная Полный доступ
CRUD операции Ограничены Полные

Архитектурная разница

Store API

  • ориентирован на UX
  • безопасен для клиента
  • не даёт критических данных

REST API

  • ориентирован на интеграции
  • используется сервер-сервер
  • требует строгой защиты

Расширенное сравнение Store API и WooCommerce REST API

Критерий Store API (публичный) REST API WooCommerce (wc/v3, приватный)
📌 Назначение Работа фронтенда (витрина, корзина, checkout) Интеграции, администрирование
🌐 Базовый URL /wp-json/wc/store/ /wp-json/wc/v3/
🔐 Аутентификация Не требуется (cookie + session) Обязательна (API keys)
👤 Контекст пользователя Текущий пользователь (сессия браузера) Любой пользователь (через ключи)
🛒 Работа с корзиной ✅ Да ❌ Нет
💳 Checkout ✅ Да ❌ Нет (создание заказов только вручную)
📦 Получение товаров ✅ Да ✅ Да
📦 Управление товарами ❌ Нет ✅ Полный CRUD
📑 Заказы (просмотр) ❌ Нет ✅ Да
📑 Заказы (создание) Только через checkout ✅ Да (прямое создание)
👥 Пользователи ❌ Нет ✅ Да
🚚 Доставка / налоги ❌ Нет ✅ Да
🔄 CRUD операции Ограниченные Полные
🧠 Архитектура Headless / frontend-first Backend / server-to-server
⚡ Безопасность Ограниченный доступ Полный доступ (нужно защищать)
📡 Использование в браузере ✅ Да ❌ Нельзя (утечка ключей)
🔧 Использование на сервере ⚠️ Ограничено ✅ Основной сценарий
🧩 Подходит для SPA (React/Vue) ✅ Идеально ❌ Нет
🔗 Подходит для CRM/ERP ❌ Нет ✅ Да
📉 Риск компрометации Низкий Высокий при утечке ключей

Вывод

Store API — это современный, безопасный способ работы с WooCommerce на фронтенде, особенно в headless-архитектуре.

Классический REST API остаётся мощным инструментом для серверных интеграций, но его нельзя использовать напрямую в клиентских приложениях из-за требований безопасности.

Подписаться
Уведомить о
guest

0 комментариев
Популярные
Новые Старые