Полное руководство по REST API для WooCommerce

Руководство по REST API для WooCommerce

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

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

Данная статья дает полное представление о WooCommerce REST API, предоставляя возможность программно автоматизировать и улучшать операции онлайн-продаж. Она содержит практические сведения, примеры использования и код для облегчения беспрепятственной интеграции и кастомизации интернет-магазинов ВуКомерс.

Предварительные условия

Чтобы начать работу с WooCommerce REST API, вы должны использовать:

  • ВуКомерс версии 3.5 или выше.
  • WordPress версии 4.4 или выше.
  • Postman или Insomnia для тестирования и взаимодействия с АПИ.

Хотя поддерживается доступ к API по HTTP или HTTPS, в целях безопасности настоятельно рекомендуется использовать HTTPS.

Генерация учетных данных API в WooCommerce

Чтобы сгенерировать учетные данные API в WC, выполните следующие действия:

  1. Перейдите на дашборд ВордПресс. Далее выберите «Плагины > Установленные» на сайдбаре и активируйте расширение ВуКомерс.
  2. После нажмите «WooCommerce > Настройки». Затем перейдите на вкладку «Расширенные», чтобы открыть страницу дополнительных настроек WC.
  3. Далее выберите REST API.
    Окно ввода учетных данных ключа АПИ
  4. Нажмите кнопку «Создать ключ АПИ» или «Добавить ключ», чтобы сгенерировать его.
  5. Далее будет предложено ввести данные ключа. Это описание, пользователь и разрешения. Введите детали ключа. Измените пользователя, если требуется, и выберите «Чтение/Запись» для разрешений.
    Генерация учетных данных ключа АПИ
  6. Нажмите кнопку «Сгенерировать ключ API». С помощью них вы сможете программно получать доступ к данным интернет-магазина и управлять ими. Запомните ключ и секрет пользователя. В следующем разделе вы будете использовать их для выполнения API-запросов.
    Сгенерированные учетные данные АПИ ключа

Понимание архитектуры REST API WooCommerce

API WooCommerce построен на архитектуре REST. Это позволяет вам читать и выполнять операции записи данных ВуКомерс, таких как заказы, товары и клиенты, отправляя запросы соответствующими методами (GET, POST, PUT, DELETE) на конечную точку. Она состоит из способов запроса и стандартного URL. С помощью конечной точки можно использовать выбранный инструмент (Postman или Insomnia) для доступа к различным хранимым данным.

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

Прежде чем получить список товаров, убедитесь, что добавили несколько продуктов в интернет-магазин. Вы должны изменить структуру пермалинка на что-то отличное от Plain.

Нажмите «Настройки > Постоянные ссылки» на сайдбаре. Далее поменяйте структуру ссылок. Если не внесете это изменение, стандартная конечная точка URL будет работать не так, как должна. Нажмите кнопку «Сохранить изменения».

Затем откройте Postman и добавьте новый запрос. В разделе URL используйте https:///wp-json/wc/v3/products. Убедитесь, что заменили <yourdomain> на домен вашего сайта WooCommerce.

На вкладке входа выберите Basic Auth и введите ключ пользователя в качестве имени и секрет, как пароль. Вы должны добавлять эту авторизацию к каждому запросу, который делаете к WooCommerce REST API. Отправьте его. Далее вы должны получить список всех товаров в интернет-магазине.

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

Управление товарами через REST API

Объект товара имеет список атрибутов. Они позволяют легко группировать продукты, управлять запасами и устанавливать цены — и все это программно.

Допустим, вы хотите добавить новый товар в созданную группу. Все, что нужно, это идентификатор в атрибуте grouped_products.

Для управления запасами используйте manage_stock и stock_status, которые устанавливаются в true или false, а также в instock, onbackorder и outofstock соответственно.

Давайте рассмотрим, как можно добавить и обновить существующую деталь продукта.

Добавление товара с помощью API WooCommerce

  1. В Postman добавьте новый запрос и измените метод на POST. Повторно примените URL конечной точки, использованный в предыдущем разделе. Перейдите на вкладку Body , выберите raw и JSON в качестве формата тела. В полезной нагрузке JSON содержатся название продукта, его тип (простой, переменный или сгруппированный), детали и краткое описание. В нем также есть категории, теги и изображения, которые можно добавить по мере необходимости.
    {
      "name": "iPhone 15 Pro Max",
      "type": "simple",
      "description": "",
      "short_description": "",
      "categories": [],
      "tags": [],
      "images": []
    }
  2. Выполните запрос. Если продукт успешно создан, в ответ вы должны получить объект товара. Обратите внимание на его идентификатор, так как он понадобится в следующем разделе.
    Создание продукта

Редактирование продукта с помощью WooCommerce API

Давайте отредактируем только что созданную запись.

  1. На вкладке «Body» добавьте это JSON-тело:
    { "name": "iPhone 15 Pro" }

    Поскольку вы обновляете только поле имени, не нужно включать другие атрибуты. В данном случае измените его на «iPhone 15 Pro». URL конечной точки должен иметь вид https://yourdomain/wp-json/wc/v3/products/.

  2. Замените id на ID продукта, который создали в предыдущем разделе. Не забудьте изменить метод запроса на PUT. Выполните его. В ответ вы должны получить объект продукта. Можете проверить название в ответе, чтобы убедиться в его успешном обновлении.
    Редактирование товара

Управление заказами с помощью REST API

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

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

Через АПИ можно управлять возвратами, включая обработку запросов, автоматический процесс и обновление статусов после них.

Давайте рассмотрим, как получить информацию о последних заказах и изменить их состояние до «завершен».

Получение последних заказов с помощью API WooCommerce

  1. В Postman добавьте новый запрос на получение заказов с помощью GET. URL конечной точки должен быть следующим:
    https:///wp-json/wc/v3/orders
  2. На вкладке Params введите ключ after и значение даты, после которой были созданы заказы. В данном случае применяется 2024-03-08T00:00:00. Не стесняйтесь изменять ее по своему усмотрению. Это позволит отфильтровать заказы только по тем, которые были созданы после указанной даты. Остальные настройки Postman оставьте по умолчанию.
  3. Убедитесь, что сделали несколько заказов в своем интернет-магазине WC. Это позволит избежать возвращения пустого списка. Выполните запрос. Вы получите список всех заказов, сделанных в интернет-магазине и соответствующих заданным критериям.
    Получение последних заказов после заданной даты

Обновление статуса заказа

Чтобы обновить статус, возьмите идентификатор уже сделанного заказа. Добавьте новый запрос в Postman и измените его на PUT. Используйте данную конечную точку для обновления: https://yourdomain/wp-json/wc/v3/orders/. На вкладке Body добавьте это JSON-тело:

{ "status": "completed" }

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

Обновление статуса заказа

Управление и привлечение клиентов

С помощью WooCommerce REST API компании могут эффективно создавать новые профили клиентов, редактировать данные о существующих покупателях и получать полную информацию, например, историю покупок и предпочтения.

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

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

Добавить клиента с помощью API WooCommerce

  1. Отправьте POST-запрос на эту конечную точку URL: https:///wp-json/wc/v3/customers. Не забудьте включить авторизацию, как делали ранее.
  2. На вкладке «Body» используйте этот JSON-объект для создания клиента:
    {
      "email": "[email protected]",
      "first_name": "Brian",
      "last_name": "Abraham",
      "role": "customer",
      "username": "briann.abraham",
      "billing": {
        "first_name": "Brian",
        "last_name": "Abraham",
        "company": "",
        "address_1": "969 Market",
        "address_2": "",
        "city": "San Francisco",
        "state": "CA",
        "postcode": "94103",
        "country": "US",
        "email": "[email protected]",
        "phone": "(555) 555-5555"
      },
      "shipping": {
        "first_name": "Brian",
        "last_name": "Abraham",
        "company": "",
        "address_1": "969 Market",
        "address_2": "",
        "city": "San Francisco",
        "state": "CA",
        "postcode": "94103",
        "country": "US"
      }
    }

    Объект JSON содержит основные сведения о клиенте, такие как электронная почта, имя, роль и логин. Он также имеет информацию о выставлении счета и доставке, включая адрес, местоположение и номер телефона.

  3. Выполните запрос. Вы должны получить ответ, содержащий объект customer. Запомните его идентификатор, который будете использовать в следующем разделе для извлечения клиента.

Получение клиента по идентификатору с помощью WooCommerce API

Давайте получим только что созданного пользователя по его ID.

  1. Создайте новый запрос с методом GET .
  2. Используйте тот же URL конечной точки, https:///wp-json/wc/v3/customers/ и добавьте ID клиента, которыйт хотите получить.

Дополнительные возможности использования WooCommerce REST API

Помимо управления ресурсами интернет-магазина, вы можете использовать WooCommerce REST API для решения других сложных задач. Например интеграции с CRM, автоматизации управления запасами, пользовательской аналитики и отчетности.

Встраивание интернет-магазина WC в выбранную платформу с помощью РЕСТ АПИ гарантирует, что при добавлении клиента он будет мгновенно отражен на дашборде как лид. Это позволяет легко работать с синхронизацией информации о покупателях и истории заказов.

REST API дает возможность автоматизировать управление запасами. Интегрировав внешний контроль, можно в режиме реального времени получать информацию о наличии товара на складе. Это относится к пользовательским отчетам и аналитике.

С помощью ВуКомерс REST API вы можете создавать сводки, которые дадут возможность лучше видеть ситуацию. Это поможет в принятии решений, выявлении тенденций и прогнозировании.

Вот фрагмент кода для синхронизации данных о клиентах WooCommerce с CRM-платформой:

<?php
require __DIR__ . '/vendor/autoload.php';

use Automattic\WooCommerce\Client;

$woocommerce = new Client(
    'https://', // Your store URL
    'consumer_key', // Your consumer key
    'consumer_secret', // Your consumer secret
    [
        'version' => 'wc/v3' // WooCommerce WP REST API version
    ]
);

// CRM API endpoint and key
$crm_api_url = 'https://your-crm-api-url/api';
$crm_api_key = 'YOUR_CRM_API_KEY';

try {
    // Fetch customers from WooCommerce store
    $customers = $woocommerce->get('customers');

    // Initialize cURL
    $ch = curl_init();

    // Check if cURL initialization succeeded
    if ($ch === false) {
        throw new Exception('Failed to initialize cURL');
    }

    foreach ($customers as $customer) {
        $crm_customer_data = [
            'first_name' => $customer->first_name,
            'last_name'  => $customer->last_name,
            'email'      => $customer->email,
            // Other fields
        ];

        // cURL options
        curl_setopt($ch, CURLOPT_URL, $crm_api_url . '/customers');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($crm_customer_data));
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'Authorization: Bearer ' . $crm_api_key,
            'Content-Type: application/json',
        ]);

        // Execute cURL request
        $crm_response = curl_exec($ch);

        // Check for cURL errors
        if ($crm_response === false) {
            throw new Exception('cURL error: ' . curl_error($ch));
        }

        // Check HTTP status code
        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        if ($http_code !== 200) {
            throw new Exception('Failed to sync customer data with CRM: ' . $http_code);
        }

        echo 'Customer data synced with CRM successfully.';
    }

    curl_close($ch);
} catch (Exception $e) {
    echo 'Error: ' . $e->getMessage();
}

Это фрагмент PHP-кода, который сначала устанавливает соединение с WooCommerce REST API, а затем извлекает клиентов из интернет-магазина WC. Наконец, он отправляет их в CRM с помощью URL. Код включает обработку ошибок для управления сбоями потока. Он использует библиотеку PHP под названием automattic/woocommerce, которую можно установить с помощью Composer.

CRM применяется здесь в демонстрационных целях, чтобы показать общий подход к синхронизации данных о клиентах с любой платформой.

Заключение

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

Чтобы начать работу, установите плагин ВуКомерс в ВордПресс и изучите REST API, используя примеры, приведенные в этом руководстве. Они послужат основой для ваших собственных решений.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Александр/ автор статьи

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

Загрузка ...
Шаблоны для WordPress
×
Сделай подарок своему сайту
-15% на шаблоны и
плагины WordPress
Выбрать подарок