Синхронизация остатков из KeyCRM на собственный сайт

Рассказываем, как настроить передачу остатков, чтобы во всех используемых системах были актуальные данные.
Автор Анастасія Останіна
Обновлено 5 месяцев назад

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

С некоторыми конструкторами есть встроенная передача остатков, в частности на Wix, Хорошоп и Shopify. Если у вас самописный сайт или другой конструктор сайтов, то для передачи остатков на сайт вы можете воспользоваться помощью программиста и реализовать обмен данными с помощью нашего API.

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

Подготовка к передаче данных

Независимо от варианта синхронизации данных, прежде всего необходимо:

  1. Создать товары с артикулами в CRM: вручную, импортом из файла, из публикаций или по API;
  2.  Активировать и настроить складской учет;
  3. Загрузить начальные остатки в KeyCRM.

При этом учитывайте основные моменты: 

  • Синхронизация товарв между системами происходит по артикулу. Поэтому убедитесь, что он одинаковый в одном товаре в каталоге CRM и на сайте;
  • Каждый товар и вариант товара должен иметь свой уникальный артикул, поскольку выступает отдельной единицей складского учета. Поэтому убедитесь, что каждая вариация товара на сайте тоже имеет свой уникальный артикул;
  • Для работы с товарами по API вам может понадобиться идентификатор товара (productId) и вариант товара (offerId) с CRM. Их можно получить в экспортном файле или запросами на получение списка товаров или вариантов товаров по API.
Обратите внимание! В API KeyCRM есть ограничение до 60 запросов в минуту с одного IP-адреса по API-ключу. Поэтому рекомендуем настраивать паузу между запросами в 1 секунду, для предотвращения превышения лимита.

Передача остатков из KeyCRM на сайт

Вы можете использовать два основных метода реализации:

  1. Получать все остатки с определенной периодичностью: для этого нужно разместить на сайте скрипт, который будет обращаться по API в KeyCRM, получать остатки по товарам и записывать их соответствующим товарам на сайте;
  2. Получать информацию об изменении остатков в конкретном заказе: для этого можно настроить отправку вебхука с KeyCRM на сайт на статус резерва или списания товаров в заказе и соответственно изменять остатки на сайте этих товаров.

Особенности получения списка остатков

В методе получении списка остатков есть несколько возможных фильтров при формировании запроса:

  • Фильтр по идентификатору варианта товара  при указании «offers_id» или нескольких через запятую (идентификатор варианта товара в KeyCRM), будут получены остатки только по указанным вариантам;
  • Фильтр по sku варианта товара  при указании  «offers_sku» или нескольких через запятую (артикул варианта товара), будут получены остатки только по вариантам с этими артикулами;
  • Получать остатки по каждому складу отдельно  добавляется массив «warehouse» с детализацией остатков по каждому складу.

Как при получении общих остатков по всем складам, так и при получении остатков по каждому складу отдельно вы получаете количество в двух полях:

  1. «quantity» — общее количество остатков;
  2. «reserve» — общее количество зарезервированных остатков.

Соответственно вы можете на стороне сайта от общего остатка отнимать резерв, чтобы записывать количество с учетом резерва по товарам.

Пример объекта получения остатков по каждому складу:

"warehouse": [
        {
          "id": 1,  // идентификатор склада
          "name": "Основной",  // название склада в CRM
          "quantity": 98,    // общее количество остатков 
          "reserve": 8    // общее количество зарезервированных остатков
        },
       {
          "id": 2,  // идентификатор склада
          "name": "Магазин",  // название склада в CRM
          "quantity": 35,    // общее количество остатков
          "reserve": 3    // общее количество зарезервированных остатков
        }
      ]  

Если у вас остатки вносятся на сайте или ведутся в отдельной складской программе, вы можете выбрать другую схему для обмена данными.

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

Теги: остатки, передача остатков на сайт, лендинг, конструктор сайтов, обновление остатка, обновить количество, товары по апи, остатки апи, синхронизация товаров, синхронизация остатков, скрипт получения остатков на сайте
Оцените эту статью