WooCommerce загружает продукты из стороннего API

Я только начинаю с woocommerce. Согласно документации нам необходимо импортировать продукты в нашу базу данных, которые должны быть перечислены на нашем сайте. В основном приложение, которое мы разрабатываем, действует как приложение, в котором роль базы данных очень минимальна. Приложение Vendor предоставит API для входа в систему, выхода из системы, списка товаров и всего остального. Все, что мне нужно сделать, это интегрировать эти API в мое приложение woocommerce. Каков наилучший способ сделать это? Есть ли какой-нибудь хук woocommerce для этого? Есть ли способ получить продукты из API, а не из базы данных?

2 ответа

Woocommerce имеет REST API, который работает довольно хорошо. Если я правильно понял, что вы хотите получить продукты из внешнего источника и "показать" их в своем приложении Woocommerce, я думаю, что вы должны сначала "импортировать" их в базу данных WP, вы не можете пропустить этот шаг. Я не думаю, что вы можете напрямую подключить Woocommerce к вашей базе данных поставщиков.

Таким образом, для импорта продуктов ваших поставщиков в ваш WC вы можете использовать предоставленный REST API. Вы можете легко создать продукт в Woocommerce, используя Curl:

curl -X POST https://example.com/wp-json/wc/v2/products \
    -u consumer_key:consumer_secret \
    -H "Content-Type: application/json" \
    -d '{
  "name": "Premium Quality",
  "type": "simple",
  "regular_price": "21.99",
  "description": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.",
  "short_description": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.",
  "categories": [
    {
      "id": 9
    },
    {
      "id": 14
    }
  ],
  "images": [
    {
      "src": "http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg",
      "position": 0
    },
    {
      "src": "http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_back.jpg",
      "position": 1
    }
  ]
}'

Смотрите полную документацию API для получения дополнительной информации.

РЕДАКТИРОВАТЬ:

Я только что вспомнил, что есть инструмент под названием WP All Import, который может очень помочь вам в выполнении этой задачи. Насколько я знаю, вы можете запланировать автоматический импорт из внешних источников XML/CSV. Вы можете обновить все виды объектов WP, таких как WC Products. Может быть стоит взглянуть.

Да, есть много способов достичь своей цели. Лучшие и с минимальными усилиями и высокой производительностью. Вы можете получить ответ API в памяти вместо базы данных, а затем сохранить его в кэше Redis.

Redis кеш exipre в указанный интервал времени, затем снова будет сделан вызов API и кеш будет обновлен. Вы можете запланировать частоту кеширования в зависимости от вашей задержки.

Спасибо

Другие вопросы по тегам