Підтримка актуальності залишків у всіх системах є важливою для уникнення проблем з замовленнями на товари, які відсутні, та своєчасного поповнення запасів.
Якщо у вас розміщений інтернет - магазин на 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 // загальна кількість зарезервованих залишків
}
]
Якщо у вас залишки вносяться на сайті чи ведуться в окремій складській програмі, ви можете обрати іншу схему для обміну даними.
Тепер ви можете забезпечити актуальність і точність залишків на своїх сайтах, що дозволить ефективно працювати з замовленнями та вести складський облік в одному місці.