Поддержание актуальности остатков во всех системах важно для избежания проблем с заказами на товары, которые отсутствуют, и своевременного пополнения запасов.
Если у вас размещен интернет - магазин на CMS (Wordpress, Opencart, PrestaShop, CS-Cart, другие) или своя разработка, то для передачи остатков на интернет - магазин вы можете воспользоваться помощью программиста и реализовать обмен данными с помощью нашего API.
Подготовка к передаче данных
Независимо от варианта синхронизации данных, прежде всего необходимо:
- Создать товары с артикулами в CRM: вручную, импортом из файла, из публикаций или по API;
- Активировать и настроить складской учет;
- Загрузить начальные остатки в KeyCRM.
При этом учитывайте основные моменты:
- Синхронизация товарв между системами происходит по артикулу. Поэтому убедитесь, что он одинаковый в одном товаре в каталоге CRM и на сайте;
- Каждый товар и вариант товара должен иметь свой уникальный артикул, поскольку выступает отдельной единицей складского учета. Поэтому убедитесь, что каждая вариация товара на сайте тоже имеет свой уникальный артикул;
- Для работы с товарами по API вам может понадобиться идентификатор товара (productId) и вариант товара (offerId) с CRM. Их можно получить в экспортном файле или запросами на получение списка товаров или вариантов товаров по API.
Передача остатков из KeyCRM на интернет - магазин
Вы можете использовать два основных метода реализации:
- Получать все остатки с определенной периодичностью: для этого нужно разместить на сайте скрипт, который будет обращаться по API в KeyCRM, получать остатки по товарам и записывать их соответствующим товарам на сайте;
- Получать информацию об изменении остатков в конкретном заказе: для этого можно настроить отправку вебхука с KeyCRM на сайт на статус резерва или списания товаров в заказе и соответственно изменять остатки на сайте этих товаров.
Особенности получения списка остатков
В методе получении списка остатков есть несколько возможных фильтров при формировании запроса:
- Фильтр по идентификатору варианта товара — при указании «offers_id» или нескольких через запятую (идентификатор варианта товара в KeyCRM), будут получены остатки только по указанным вариантам;
- Фильтр по sku варианта товара — при указании «offers_sku» или нескольких через запятую (артикул варианта товара), будут получены остатки только по вариантам с этими артикулами;
- Получать остатки по каждому складу отдельно — добавляется массив «warehouse» с детализацией остатков по каждому складу.
Как при получении общих остатков по всем складам, так и при получении остатков по каждому складу отдельно вы получаете количество в двух полях:
- «quantity» — общее количество остатков;
- «reserve» — общее количество зарезервированных остатков.
Соответственно вы можете на стороне сайта от общего остатка отнимать резерв, чтобы записывать количество с учетом резерва по товарам.
Пример объекта получения остатков по каждому складу:
"warehouse": [
{
"id": 1, // идентификатор склада
"name": "Основной", // название склада в CRM
"quantity": 98, // общее количество остатков
"reserve": 8 // общее количество зарезервированных остатков
},
{
"id": 2, // идентификатор склада
"name": "Магазин", // название склада в CRM
"quantity": 35, // общее количество остатков
"reserve": 3 // общее количество зарезервированных остатков
}
]
Если у вас остатки вносятся на сайте или ведутся в отдельной складской программе, вы можете выбрать другую схему для обмена данными.
Теперь вы можете обеспечить актуальность и точность остатков на своих сайтах, что позволит эффективно работать с заказами и вести складской учет в одном месте.