Аудит до оцінки
Чотири набори даних, без яких магазин у боті не можна чесно оцінити.
Назви платформ недостатньо. Перед прототипом беремо реальний SKU, тестове замовлення та доступну документацію, щоб знайти межі API, ручні операції й нестабільні місця до того, як вони потраплять у кошторис.
01
Каталог
Товар має один ідентифікатор у вітрині, обліку та замовленні.
Перевіряємо SKU, варіанти, категорії, фото, характеристики, одиниці виміру й ознаку публікації. Окремо фіксуємо, хто змінює назву та ціну, як швидко оновлення доходить до бота і що показувати, коли картка ще доступна за старим прямим посиланням. Якщо сайт, 1С і таблиця мають різні коди одного товару, спочатку створюємо мапінг, а не приховуємо розбіжність у сценарії.
- На вході
- експорт 20–50 реальних SKU
- Результат
- мапа полів і джерело правди
02
Ціна й залишок
«Є в наявності» та «можна зарезервувати» — різні стани.
З’ясовуємо, чи бачить система залишок по складах, скільки часу діє резерв, як працюють акційні ціни, персональні знижки та промокоди. Для останньої одиниці моделюємо дві паралельні покупки й фіксуємо, хто отримує резерв. Перед оплатою кошик повторно звіряє кількість і суму; зміни пояснюються покупцеві, а не перетворюються на мовчазну помилку або ручний дзвінок менеджера.
- На вході
- правила складу, резерву та акцій
- Результат
- TTL резерву й сценарії конфліктів
03
Оплата
Замовлення стає оплаченим лише після серверного підтвердження.
Узгоджуємо валюту, провайдера, фіскалізацію, призначення платежу, часткову оплату, повторний callback і повернення. Перехід покупця на екран «успішно» не є доказом транзакції: backend перевіряє підпис, суму, order ID та фактичний статус у провайдера. Для timeout потрібне фонове звіряння, а для повторного повідомлення — ідемпотентна операція, яка не створить друге замовлення.
- На вході
- тестовий кабінет і правила повернень
- Результат
- таблиця платіжних станів
04
Доставка й команда
Кожний виняток має наступну дію та відповідального.
Перевіряємо пошук відділення, адресну доставку, вагу, кількість місць, післяплату, створення накладної та читання статусів. Потім визначаємо, хто діє, якщо адреса не валідна, відділення стало недоступним, накладна не створилася або замовлення застрягло без події. Менеджер отримує не просто сповіщення, а картку з контекстом, причиною, уже введеними даними та дозволеною ручною дією.
- На вході
- договір, API та операційний регламент
- Результат
- матриця винятків і відповідальних