Чтобы передавать остатки товаров на другие системы - ERP, CMS, самописные сайты и т.д. - в KeyCRM можно настроить вебхук. Система автоматически отправляет обновленные данные об остатках каждый раз, когда они изменяются.
Добавление вебхука
Перейдите в «Настройки» → «Товары» → вкладка «Склад» и в блоке «Webhooks» нажмите «+Добавить Webhook».
В открывшемся окне заполните поля:
- Название — напишите понятное название, лучше указать куда именно отправляются данные из этого вебхука;
- Ссылка на Webhook — введите URL -адрес вебхука, куда будут отправляться данные методом POST;
- Склады — выберите склад с которого будут отправляться остатки. Если выбрать несколько, то будут браться суммарные по ним. Если оставить пустым, то будут браться общие, по всем складам.
Нажмите «Добавить», вебхук сохранится в списке с возможностью отредактировать или удалить.
Чтобы сохранить настройки, нажмите «Сохранить» внизу страницы, и данные начнут отправляться на добавленный вебхук:
Как работает передача остатков на вебхук
Остатки отправляются в момент их изменения в KeyCRM, а именно после:
- перевод заказа в статус, в котором товар резервируется или списывается со склада или отмена резерва и списания;
- создание или редактирование документов: оприходование, перемещение, инвентаризация товаров;
- импорта остатков (можно использовать загрузку начальных остатков);
- изменения остатков через API;
- редактирование остатков вручную.
После добавления нового вебхука остатки, которые уже сохранены в товарах, не будут переданы. Только при последующих изменениях по указанному списку событий обновленные данные об остатках будут передаваться.
Информация отправляемая по изменению остатков в формате JSON:
[
{
"offer_id": 130827, // идентификатор варианта товара
"sku": "a001-56", // артикул
"in_stock": 16, // всего остаток товара
"in_reserve": 3 // какое количество из всего остатка находится в резерве
}
]
Чтобы определить доступный остаток товаров для продажи с учетом резерва, вы можете при получении данных из общего остатка "in_stock" отнимать резерв "in_reserve".