Стаття · · 6 хв читання
Від складської програми до трьох каналів продажу: 85 SKU, 53 моделі
Як залишки невеликого магазину в УкрСкладі стали картками товарів на Хорошопі, Розетці й у Facebook: безпечне читання бази Firebird, відновлення варіантів з назв і AI-описи із затвердженням у Telegram.
Магазин рибальських товарів веде залишки в УкрСкладі — десктопній програмі з базою Firebird. Він хотів мати ті самі товари на своєму сайті на Хорошопі, на Розетці й у каталозі Facebook, кожен з нормальним описом. Дані були; просто не в тому вигляді, який підійшов би хоч одному каналу.
Ніколи не чіпати робочу базу
Перше правило — безпека. Конвеєр читає копію бази УкрСкладу, ніколи не робочий файл, і вивантажує її в JSON: 85 SKU. Якщо далі щось піде не так, облік магазину не постраждає.
Варіанти ховаються в назвах
Склад зберігає кожен розмір і колір як окремий товар. Магазину потрібна батьківська модель з варіантами. Єдине місце, де цей зв'язок існує, — назва товару, тож парсер назв групує SKU в батьківські моделі та їхні варіанти. З 85 SKU він знайшов 53 моделі з 81 варіантом, прив'язаним до батьківських.
AI пише, людина затверджує
Кожній батьківській моделі потрібен опис, і ні в кого немає часу писати 53 тексти. Gemini 2.5 пише по одному на модель, близько 22 на день у межах безкоштовної квоти; коли квота закінчується, черга просто продовжується наступного дня. Кожен текст спершу йде в Telegram-бот, де власник натискає /approve, /reject або /regen. Нічого не потрапляє в магазин, поки людина цього не побачила.
Одне джерело, три генератори
Затверджені дані записуються в SQLite, а фото прив'язуються до кодів товарів. Далі окремі генератори будують XML для Хорошопу, Розетки й каталогу Facebook. Додати четвертий канал — це написати ще один генератор, не чіпаючи решту.
- 53 моделі знайдено в 85 SKU
- 81 варіант прив'язано до батьківських моделей
- 3 канали з одного джерела
- ~22 AI-описи на день, кожен затверджує людина
Що я зробив би так само знову
Читати копію, тримати один внутрішній формат і ставити затвердження людиною перед усім, що AI пише для покупців. Темп задає денна квота, і це виявилось нормальним: невеликий каталог не треба переписувати за годину.