Как работать с товарами и остатками в API

Рассказываем, как создавать товар и варианты товары и передавать по ним остатки
Автор Анастасія Останіна
Обновлено 3 недели назад

С помощью API можно создать категории, товары, варианты (свойства) к товарам, а также обновлять остатки товаров.

Обратите внимание! В API KeyCRM есть ограничение до 60 запросов в минуту с одного IP-адреса по API-ключу. Поэтому рекомендуем настраивать паузу между запросами в 1 секунду, для предотвращения превышения лимита.

Как создать категорию и подкатегорию товара 

Если категории созданы в кабинете, то получите их GET запросом или создайте нужные по API:  

  • Для новой категории нужно только указать ее название;
  • Чтобы добавить подкатегорию, в запросе передайте название и параметр «parent_id» (родительскую категорию).

Как создать товар по API

Создать товары можно по одному или списком до 100 шт. за один запрос и сразу передать данные в кастомные поля.

Учитывайте основные моменты

  • Каждый товар должен иметь свой уникальный артикул, название и штрихкод, поскольку выступает отдельной единицей складского учета;
  • Если товар с вариантами, то название товара общее, а каждый вариант имеет уникальный артикул и штрихкод;
  • Синхронизация данных между системами происходит по артикулу товара. Поэтому убедитесь, что он одинаковый в одном товаре во всех системах и передайте его в параметре sku;
  • Чтобы поле штрихкод было доступно, сначала нужно включить в разделе «Настройки» → «Товары» переключатель «Использовать штрихкоды».

После создания товара в ответе вы получите идентификатор товара (productId), который можно использовать для обновления товаров или создания вариантов к ним.

Если в системе, с которой вы делаете интеграцию нет уникальных артикулов, то вы можете их сгенерировать или использовать идентификатор варианта товара с KeyCRM и создать отдельное поле в системе где нужно хранить этот идентификатор, чтобы в дальнейшем использовать в запросах.

Как создать вариант товара

Чтобы создать вариант товара, нужно:

  1. Получить идентификатор товара (productId) к которому планируете добавить вариант товара. Вы получаете его в параметре «id» в ответе после создания товара или можно получить список товаров используя фильтры, чтобы найти нужный и сохранить его «id»;
  2. Отправить запрос для добавления вариантов к этому товару (до 100 шт. в запросе), указав идентификатор товара (productId) в формате JSON.
    Пример URL для товара №12:
    POST https://openapi.keycrm.app/v1/products/12/offers

Как обновить остатки по API

Для работы с остатками, прежде всего активируйте складской учет и добавьте склады.

В одном запросе доступна передача остатков для до 10000 товаров с одного склада.

Остатки можно обновить только передав артикул (sku) и количество:

{
  "warehouse_id": 1,     // идентификатор склада, отображается в списке складов
  "stocks": [
    {
      "sku": "001-242",     // артикул товара
      "quantity": 3     // количество остатков
    },
   {
      "sku": "002-242",     // артикул товара
      "quantity": 5      // количество остатков
    }
  ]
}

Для обновления остатков по идентификаторам вариантов нужно: 

  1. Получить из списка вариантов товаров offer_id (идентификатор варианта товара);
  2. Отправить запрос на обновление остатков указав offer_id в параметре «id». Если передать также артикул (sku), то система сначала будет искать нужный товар по «id», а если не найдет попытается найти по «sku».
Важно! Нужно передавать именно offer_id - идентификатор варианта товара, он не равен product_id (идентификатор товара).

Даже если у вас товары без вариантов, каждый из них имеет offer_id. Поскольку для системы товар без вариантов означает товар в одном варианте.

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

Теги: создать товар по Апи, API, добавить варианты к товару, обновить остатки, создание категории, подкатегории
Оцените эту статью