Перейти до вмісту
brainbabyLABSОбговорити проєкт

Brainbaby Labs / Engineering

Каталоги постачальників: зміни, помилки та синхронізація

Синхронізація каталогів постачальників без тихих помилок: ідентифікатори, перевірка файлів, зміни цін, відсутні позиції та повторні імпорти.

Синхронізація каталогів постачальників здається простим завданням, доки перший файл містить несподівані одиниці виміру або неповний перелік товарів. Пряме копіювання рядків у робочий каталог може одночасно змінити ціни, створити дублікати й приховати доступні позиції. Надійніша модель спочатку пояснює зміни, а вже потім робить їх видимими покупцю.

Уявімо вигаданий магазин садового інвентарю з кількома постачальниками. Один надсилає повний щоденний файл, інший — тільки змінені позиції. Артикул лопати в них збігається, хоча товари різні. Магазину потрібне зіставлення в контексті постачальника, а не припущення, що будь-який однаковий текст означає один товар.

Погодьте ключ і значення кожного поля

Запишіть, що є стабільним ідентифікатором, де він унікальний і чи може постачальник використовувати його повторно. Назва товару або номер рядка файлу зазвичай не підходять для цього завдання. Збережіть зовнішній ключ разом із джерелом, а внутрішній ідентифікатор магазину залиште під контролем власної системи.

Уточніть валюту, податки в ціні, одиниці виміру, округлення й значення порожнього поля. Нульовий залишок, невідомий залишок та відсутність оновлення — різні стани. Не намагайтеся виправити неоднозначність здогадкою парсера. Краще відкласти конкретний рядок для перевірки, ніж непомітно опублікувати неправильну ціну чи кількість.

Перевіряйте пакет до зміни робочих даних

Кожному імпорту надайте номер і збережіть результат перевірки. Оператору потрібні кількість нових, змінених, незмінених і відхилених рядків, а також причини помилок із посиланням на вихідний рядок. Визначте, які помилки блокують весь пакет, а які дозволяють обробити незалежні коректні позиції за погодженими правилами.

Попередній перегляд повинен показувати важливі відмінності, а не лише слово «успішно». Значне падіння ціни або раптове зникнення більшої частини каталогу варто направити на перевірку за встановленими бізнесом умовами. Пороги команда визначає на власних даних; універсальний відсоток не захищає всі каталоги однаково.

Повноту файлу не вгадуйте за кількістю рядків

Для повного знімка й набору змін потрібні різні правила. Якщо файл містить тільки оновлення, відсутній товар залишається без змін. Навіть повний файл може обірватися під час передачі. Перед масовим приховуванням позицій перевірте цілісність пакета та явну домовленість про повноту, а не лише дату в назві.

Врахуйте порядок версій: повільний попередній імпорт не повинен перезаписати свіжішу ціну. Повтор того самого пакета має розпізнаватися без повторного створення товарів. Для ручних виправлень магазину визначте окремі поля або пріоритети, щоб чергове оновлення постачальника не знищило відредагований опис чи фотографії без попередження.

Пройдіть шлях від поганого файлу до виправлення

Попросіть показати імпорт із повторним артикулом, неправильною валютою, неповним набором рядків і двома версіями, що приходять у зворотному порядку. Потім повторіть прийнятий пакет. Перевірте кількість товарів, актуальні ціни та журнал: результат має відповідати правилам, а кожна відхилена позиція повинна мати зрозумілого власника подальшої роботи.

Для скасування публікації погодьте, що саме можна повернути, особливо коли покупці вже оформили замовлення. Історичне замовлення має зберігати власну погоджену ціну. Brainbaby Labs може спроєктувати каталог, чергу імпортів та інтеграцію з вашим магазином. Надішліть два знеособлені послідовні файли й приклад ручного виправлення: це дозволить предметно визначити правила синхронізації.

Обговорити проєкт

Форма зв’язку англійською