WooCommerce

Что это

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

Требования

  • Сайт на WordPress с установленным WooCommerce, доступный из интернета по HTTPS.
  • Доступ администратора к админке WordPress.
  • Ключ REST API WooCommerce с правами Чтение/Запись.

Как подключить

  1. В админке WordPress откройте WooCommerce → Настройки → Дополнительно → REST API.
  2. Нажмите Добавить ключ, выберите пользователя-администратора и права Чтение/Запись, затем Создать API-ключ.
  3. Скопируйте Consumer Key (ck_…) и Consumer Secret (cs_…). Secret показывается один раз.
  4. В конструкторе откройте Интеграции → найдите карточку WooCommerce → Подключить.
  5. Укажите адрес магазина с https://, Consumer Key и Consumer Secret.
  6. Сохраните подключение и нажмите Проверить соединение. В ответе будут название магазина и версия WooCommerce.

Доступные операции

Операция Что делает
Выгрузить каталог Страница опубликованных товаров (до 100): ID, название, тип, цены, фото, ссылка, наличие, остаток, число вариаций. Поиск по слову, фильтр по категории, постраничная выгрузка через next_page
Товар и его вариации Описание товара и все вариации: ID, атрибуты («Размер: M, Цвет: Red»), SKU, цена, наличие, остаток
Проверить наличие По ID товара/вариации или SKU и нужному количеству отвечает available = 1/0, показывает остаток и цену
Создать заказ Позиции ID:количество, контакты, адрес, комментарий, статус и отметка об оплате. Возвращает номер заказа и payment_url — ссылку на оплату
Информация о заказе По ID или номеру: статус, состав, сумма, ссылка на оплату, комментарий покупателя
Заказы клиента Последние заказы по email или телефону покупателя, включая гостевые, или по ID покупателя
Отменить заказ Переводит заказ в «Отменён», причину сохраняет заметкой. Остатки WooCommerce возвращает сам
Добавить заметку к заказу Внутренняя заметка к заказу или заметка, которая уйдёт клиенту письмом

Ограничения

  • Только HTTPS: по HTTP WooCommerce требует другую схему подписи, и ключи ушли бы открытым текстом. Адрес должен быть публичным сайтом — локальные и внутренние адреса не принимаются.
  • Botconsole не следует за редиректами. Указывайте итоговый адрес магазина: с www или без — как открывается сайт.
  • Если хостинг вырезает заголовок Authorization (бывает на Apache в режиме CGI), WooCommerce ответит 401, хотя ключи верные. Это решается настройкой сервера — см. документацию WooCommerce.
  • Остатки списываются, когда заказ переходит в статус «Обработка» или «На удержании». Заказ «Ожидает оплаты» остатки не резервирует — перед созданием проверьте наличие.
  • Поиск по SKU находит товары. Для вариации надёжнее передавать её ID из операции «Товар и его вариации».
  • Каталог и заказы выгружаются страницами до 100 записей.

Особенности и примечания

Типичный сценарий продажи: «Выгрузить каталог» → «Товар и его вариации» → «Проверить наличие» → «Создать заказ» → бот отправляет клиенту номер заказа и ссылку payment_url на оплату.

Заказы из бота получают скрытую метку _botconsole в метаданных — по ней их можно отличить от заказов с сайта.

«Отметить как оплаченный» ставьте, только если оплата уже прошла в боте. Иначе оставьте статус «Ожидает оплаты» и отправьте клиенту payment_url.

Поиск заказов по телефону сравнивает только цифры, поэтому +7 (900) 123-45-67 и 79001234567 считаются одним номером.