Контракт синхронізації залишків між Shopify та CRM
Про проєкт
Рішення про джерело даних. У магазині з кількома складами CRM залишалася системою обліку залишків, а Shopify відповідав за доступність для покупця. Замість двостороннього перезапису налаштував однозначний напрям синхронізації для кожного типу події та зафіксував, як SKU пов’язується з варіантом товару й локацією.
Контракт синхронізації. Оновлення містить ідентифікатор товарного варіанта, склад, кількість, час зміни та ключ події. Повторний webhook не змінює залишок двічі; затримане старіше повідомлення не перезаписує новіше. Нульовий залишок приховує можливість покупки згідно з правилами товару, а резерв замовлення враховується до підтвердження наступного доступного залишку.
Поведінка при збоях. Якщо CRM тимчасово недоступна або повідомлення не проходить перевірку, помилка потрапляє в журнал і може бути повторно оброблена. Невідомий стан не трактується як наявність. Такий режим зменшує ризик продажу товару, якого немає, але не приховує проблему від оператора.
Окремо перевірив кошик, варіанти, знижки, доставку й тестові замовлення. У GA4/GTM звірив View Item, Add to Cart, Begin Checkout та Purchase: суму, валюту, UTM і повторну відправку події. За місяць розбіжність залишків у замовленнях знизилася з 3,6% до 0,4%; дублювання Purchase зникло в контрольній вибірці.
Додано 02.11.2026