Відмінності між партіями: після підтвердження заявки
Чому дані попередньої партії не можна автоматично переносити на нову. Великий практичний матеріал для ситуації «після підтвердження заявки».
Контекст і мета перевірки
Матеріал про «Відмінності між партіями» у ситуації «після підтвердження заявки» потрібен для того, щоб пройти конкретний етап покупки без поспіху та здогадок. Чому дані попередньої партії не можна автоматично переносити на нову. Почніть із визначення того, які дані вже є в каталозі, а які залежать від конкретної упаковки або маршруту. Це дозволяє не змішувати рекламний опис, технічні поля сайту й фактичне маркування. Сайт не повинен підміняти фактичне маркування припущеннями про виробника, походження, склад, строк придатності чи температурний режим.
Що відомо з каталогу
З каталогу можна брати назву позиції, фасування, поточну серверну ціну, доступність і службовий ідентифікатор товару. Але навіть ці дані потрібно повторно перевірити перед створенням заявки, тому checkout не довіряє значенням із DOM або localStorage. Якщо кількість змінилася, сервер має перерахувати рядок і загальну суму заново. Якщо товар більше недоступний, активна позиція не повинна залишатися у фінальному підсумку. Номер заявки варто зберігати до завершення контакту з оператором, щоб легко відрізнити поточне звернення від попередніх.
Що потрібно читати на етикетці
Фактична етикетка є джерелом змінних відомостей конкретної упаковки. Склад, алергени, строк придатності, умови зберігання, виробник, походження та номер партії не слід переносити зі старого замовлення або сторонньої фотографії. Якщо певне поле нечітке, попросіть оператора звірити саме ту упаковку, яку планують відправити. Якщо значення не підтверджено, краще залишити його невідомим, ніж заповнювати правдоподібним припущенням. Платіжні реквізити на сайті не збираються: спосіб оплати погоджується після перевірки заявки.
Підготовка контактних даних
Для сценарію «після підтвердження заявки» перевірте ім'я, телефон, місто, адресу доставки, бажаний часовий проміжок і, за бажанням, email. Авторизований акаунт може підставити частину цих полів автоматично, але перед відправленням їх потрібно переглянути вручну. Коментар використовуйте для конкретної деталі заявки, а не для платіжних реквізитів або зайвих персональних даних. Якщо телефон або адреса змінилися, оновіть їх до відправлення форми або повідомте оператора до старту маршруту.
Робота з корзиною
Корзина — це інструмент вибору товару й кількості. Додавання позиції записує локально лише productId та quantity, а сторінка корзини звертається до серверного каталогу й заново зіставляє кожну позицію. Збільшення, зменшення, пряме редагування кількості та видалення мають приводити до нового перерахунку. Після перезавантаження сторінки лічильник у шапці відновлюється з localStorage. Якщо упаковка пошкоджена, здута, протікає або під час передачі відчутно нагріта, продукт не варто використовувати до з'ясування ситуації.
Підготовка checkout
Перед checkout перегляньте серверний підсумок і переконайтеся, що корзина не порожня. Поля форми повинні бути заповнені реальними контактними даними, checkbox згоди не встановлюється автоматично, а повторна відправка блокується на час запиту. CSRF-токен захищає сесію форми, а idempotencyKey допомагає уникнути дублювання заявки при повторному натисканні або нестабільній мережі. Корзина очищається тільки після успішної відповіді сервера з номером заявки.
Контакт з оператором
Коли оператор зв'язується з покупцем у ситуації «після підтвердження заявки», корисно ставити питання, які можна перевірити. Попросіть підтвердити наявність вибраної позиції, читабельність маркування конкретної упаковки, адресу та можливий часовий проміжок. Якщо важлива певна змінна характеристика, попросіть прочитати її безпосередньо з етикетки. Не вимагайте узагальненої відповіді там, де інформація може відрізнятися між партіями. Корзина браузера зберігає тільки productId і quantity, а ціна, назва, доступність та підсумок повторно перевіряються сервером.
Перевірка перед маршрутом
Перед відправленням повторно звірте адресу, контактний телефон, кількість і те, що заявка стосується потрібної позиції. Умови маршруту мають погоджуватися на підставі реально доступного способу доставки й маркування конкретної упаковки. Не підставляйте універсальне температурне значення, якщо воно не підтверджене для цієї упаковки. Якщо час або адреса змінилися, краще оновити маршрут до відправлення, а не розв'язувати проблему вже під час передачі.
Контроль у день доставки
У день доставки, особливо після підтвердження заявки, тримайте телефон доступним і перевірте останнє підтвердження. Підготуйте можливість оглянути упаковку без поспіху. Якщо доставку перенесено, отримайте нове погодження часу; старий проміжок не варто вважати чинним автоматично. Якщо замовлення прийматиме інша людина, передайте їй короткий список перевірки: цілісність, читабельність етикетки та відсутність очевидних проблем зі станом упаковки.
Огляд під час отримання
При отриманні спочатку огляньте зовнішній стан упаковки, а вже потім завершуйте приймання. Зверніть увагу на кришку, корпус, сліди протікання, здуття, тріщини й читабельність основних полів маркування. Якщо упаковка відчутно нагріта або стан викликає сумнів, не використовуйте продукт до звернення в магазин. За потреби зафіксуйте проблему фотографією, але не публікуйте разом із нею контактні дані з накладної. У цьому проєкті постійні дані каталогу відокремлені від змінних характеристик конкретної партії.
Дії при невідповідності
Якщо очікувані та фактичні дані відрізняються, спочатку визначте конкретний пункт розбіжності. Це може бути кількість, адреса, час, реквізит етикетки або фізичний стан упаковки. Не виправляйте невідповідність припущенням і не переносіть дані іншої партії. Передайте оператору номер заявки та коротко опишіть, що саме потрібно перевірити. Якщо питання стосується безпечності або стану продукту, не використовуйте його до з'ясування подальших дій.
Акаунт та історія
Акаунт потрібен для зручності повторних заявок: у профілі можна зберегти базові контакти й побачити історію замовлень, створених в авторизованій сесії. Пароль зберігається через password_hash, а зміна пароля потребує перевірки поточного пароля та CSRF-захисту. Історія допомагає знайти старий номер заявки, але не є джерелом актуальних характеристик нової партії. Перед кожним checkout перевіряйте автоматично підставлені контакти.
Помилки, яких варто уникати
Типові помилки у темі «Відмінності між партіями» — довіряти старій етикетці, вважати localStorage джерелом ціни, надсилати форму кілька разів після повільної відповіді, не перевіряти автоматично підставлену адресу та приймати пошкоджену упаковку без фіксації проблеми. Ще одна помилка — публікувати на сторінці факти про конкретну партію без джерела. Правильніше залишити невідоме поле невідомим і перенести його перевірку на етап звірки конкретної упаковки.
Підсумковий алгоритм
Підсумковий алгоритм для сценарію «після підтвердження заявки» та теми «Відмінності між партіями»: відкрити актуальну картку товару; вибрати кількість; перевірити корзину; звірити контакти; створити одну заявку; зберегти номер; дочекатися перевірки конкретної упаковки; уточнити змінні характеристики за етикеткою; погодити адресу й час; оглянути упаковку при передачі; зупинити приймання при очевидній проблемі; використати акаунт та історію лише як навігацію; не переносити дані попередньої партії; завершити питання з оператором. Такий порядок залишається корисним без вигаданих властивостей товару.
Перевірити товар і заявку
Перейдіть до каталогу, додайте товар у корзину або відкрийте тематичний розділ із додатковими матеріалами.
До каталогу Ще матеріали теми →