
Разбор · Опубликовали 08.10.2026
Приложение интернет-магазина должно показывать актуальный остаток до подтверждения покупки
Как принять мобильный канал существующего магазина: отличить сохранённые данные от доступного товара, проверить резерв и не подтвердить покупку при потере сети.
текст собран ИИ-агентами редакции под надзором автора · факты проверены по первоисточникам 08.10.2026
Приложение интернет-магазина должно сверять остаток на сервере до подтверждения покупки, иначе телефон обещает товар, который уже продан на сайте.
Последний чайник уже купили на сайте, а телефон всё ещё показывает «в наличии». Это учебный сценарий: собственного клиентского кейса мобильного магазина у нас нет.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
1. Мобильная витрина хранит копию, а продажу решает сервер.
У магазина уже есть каталог, сайт и учёт остатков. Приложение добавляет ещё один канал чтения. Карточки можно сохранять на телефоне, но решать, доступен ли товар для продажи, должен сервер магазина.
Документация Android описывает приложение, которое читает локальные данные и синхронизирует их с сетью. Это помогает открыть каталог без связи. Актуальность остатка такой экран сам по себе не доказывает.
На vibecoding.ru с агентами инженер ведёт машину агентов. Мы проверяем сохранность данных и результат действий. Эти уроки переносим в условия приёмки магазина; опыта его запуска у нас нет.
Что и как мы проверяли
| Факт | Что известно | Проверено |
|---|---|---|
| Механика платформ | Открыли Android Developers о локальных данных и действиях с сетью, Shopify о предупреждениях корзины и commercetools о проверках остатков и резерве. Это примеры устройства, не выбор платформы для вашего магазина | 2026-10-08 |
| Наши поломки | Сверили исходные записи журналов vibecoding.ru за 31 июля, 9 и 24 сентября 2026. Они описывают сохранность полей, проверку оплаты и несовпадение ответа с валидатором | 2026-10-08 |
| Условия подписки | На живой странице /services тариф «Все проекты»: 500 000 ₽ в месяц, три потока. Это условия работы, не оценка стоимости мобильного магазина | 2026-10-08 |
| Граница опыта | Собственного клиентского кейса мобильного магазина у нас нет. Чайник является учебным сценарием, таблицы являются предлагаемой приёмкой. Испытания готового приложения здесь не проводились | 2026-10-08 |
2. Без ответа сервера остаток неизвестен, а не равен нулю.
Покупатель возвращается к сохранённой карточке чайника. Приложение обновляет остаток на сервере. До ответа прежняя отметка «в наличии» не подтверждает возможность покупки.
Ошибка сети не означает «нет в наличии». Нулевой остаток, устаревшие данные и ожидание ответа требуют разных состояний. Покупатель должен понимать, товар закончился или магазин пока не смог его проверить.
Проверять нужно выбранный вариант и склад выдачи. Общий остаток модели не обещает нужный цвет в выбранном магазине. Смена варианта или места получения требует новой проверки доступности.
Неизвестный остаток закрывает подтверждение, но не означает отсутствие товара.
Авторская модель приёмки, 08.10.2026. Android Developers объясняет локальное чтение и действия, требующие сети. Предзаказ оформляется отдельным сценарием.
3. Свежая проверка не удерживает последний товар.
Чайник может исчезнуть и после обновления карточки. Между чтением остатка и нажатием кнопки другой покупатель завершит покупку на сайте. Повторное чтение сокращает окно ошибки, но не заменяет резерв.
Сервер должен одним неделимым действием проверить доступность и закрепить товар за заказом или резервом. Все каналы продажи учитывают этот резерв. В документации commercetools чтение остатков и резерв разделены. Проверьте эту механику у своего сервера.
Успешный ответ тоже требует разбора. Shopify описывает предупреждение об исчезнувшем товаре внутри успешной операции с корзиной. Наше требование к клиенту: показать изменившиеся условия до подтверждения покупателем.
Покупку подтверждает серверное решение, а не чтение остатка.
commercetools Inventory overview и Shopify Cart warnings, проверены 08.10.2026. Строка о повторе запроса является условием предлагаемой приёмки, не обещанием этих платформ.
4. Данные проверяют на всех путях, а не на одном удачном проходе.
Остаток может потеряться внутри приложения, даже если сервер отдал его верно. Каталог обновился, а корзина продолжает читать прежний объект. Прямой вход в товар, возврат из фона и смена варианта проверяются отдельно.
Похожую ошибку мы разбирали на этом сайте: поле сохранялось не на всех путях. Технический долг в данных лечится общим преобразованием и проверкой каждого входа. Для магазина это повод проверить весь путь остатка до экрана.
Лента ниже относится к vibecoding.ru, а не к мобильному магазину. Истории проверены по исходным записям журналов. Их общий урок: удачный ответ промежуточного шага не доказывает результат для человека.
31.07
Поле сцены обложки новости терялось на части путей записи. Преобразование полей свели в общий модуль и закрепили тестом для всех путей.
09.09
Ревью оплаты курса нашло, что подпись уведомления не доказывает покупку нужного товара. Добавили сверку товара, а повтор отправки письма доступа связали с журналом отправок.
24.09
Новое поле ответа не совпало с валидатором, и страницы новостей без кэша падали при зелёных тестах. Добавили проверку полей ответа против валидатора.
Журналы работы vibecoding.ru, записи 31.07, 09.09 и 24.09.2026, сверены 08.10.2026. Перенос этих уроков на мобильную приёмку является предложением автора.
5. Агенту поручают воспроизвести устаревший остаток.
ИИ-агент здесь пишет код клиента и проверки. Остаток считает сервер магазина по данным учёта. Поручать модели угадывать наличие по описанию товара для этой задачи не нужно.
Правила для ИИ-агентов фиксируют, когда данные считаются проверенными и что закрывает покупку. Агент реализует это поведение. Запись «всегда актуальный остаток» без сценария потери сети не даёт проверяемого результата.
В задаче для агента меняют остаток после открытия карточки и называют ожидаемый ответ. Приёмщик повторяет тот же сценарий на телефоне. Демонстрация покупки неизменного товара эту проверку не заменяет.
Приёмка воспроизводит смену данных и сбои сети.
Сценарии приёмки редакции, 08.10.2026; основаны на официальной механике и собственных поломках. Это план проверки, не отчёт об испытании приложения.
6. Первой поставкой стоит сделать проверку одного товара до покупки.
Первую задачу можно ограничить одним вариантом товара и выбранным складом. В неё входят обновление остатка, серверное подтверждение и ответ при потере сети. После приёмки этот путь расширяют на остальной каталог.
Такой порядок согласует работу мобильного клиента и существующего сервера. Если сервер не умеет резервировать товар, одной правки интерфейса мало. Его API входит в объём работ до обещания покупателю.
В агентной разработке по подписке тариф «Все проекты» стоит 500 000 ₽ в месяц и включает три потока на 08.10.2026. Мобильная витрина и сервер магазина могут развиваться в репозиториях компании. Это формат работы, а не смета готового магазина.
Первая поставка связывает карточку с серверным решением.
Предлагаемый порядок работ, 08.10.2026; условия подписки сверены на /services в тот же день.
Если трудно определить, что считать готовым, разберите задачу разработки до начала работ.
В курсе об агентной разработке эта работа разбирается через правила, задачи и проверки. Для магазина результатом станет принятый сценарий покупки, а не число написанных строк.
7. Частые вопросы
Нужно ли показывать точное количество товара?+
Не обязательно. Можно показывать «в наличии», если сервер подтвердил доступность выбранного варианта для выбранного места получения. Количество для покупки и состояние резерва всё равно проверяются на сервере.
Можно ли оставить каталог доступным без интернета?+
Да, сохранённые карточки помогают выбирать. Подтверждение покупки требует ответа сервера. Сохранение намерения купить и принятый заказ должны иметь разные состояния.
Достаточно ли push-уведомлений об остатках?+
Нет. Уведомления помогают обновлять витрину, но пропавшая сеть оставит клиент со старыми данными. Проверку перед покупкой и серверный резерв они не заменяют.
Нужно ли переписывать существующий магазин?+
Начните с его API. Если сервер уже проверяет товар и создаёт резерв, мобильному каналу нужно корректно использовать этот результат. Если такого действия нет, дорабатывают серверный участок.
Сколько действует резерв?+
Это правило конкретного магазина. Его срок приходит с сервера, а после истечения доступность проверяется снова. Универсального времени для всех товаров и способов оплаты здесь нет.
Что делать с предзаказами?+
Отделить их от продажи товара в наличии. Нулевой остаток может допускать предзаказ, если покупатель видит этот режим и его условия до подтверждения. Ошибку сети нельзя выдавать за разрешение на предзаказ.
Источники
- Android Developers, Build an offline-first app: локальное чтение и online-only writes · проверено 8 октября 2026 — официальная документация
- Shopify, Cart warnings: предупреждения внутри успешного изменения корзины · проверено 8 октября 2026 — официальная документация
- commercetools, Inventory overview: проверка остатков и резерв · проверено 8 октября 2026 — официальная документация
- Журналы машины vibecoding.ru за 31 июля, 9 и 24 сентября 2026; публичный контекст работы на /open · сверено 8 октября 2026 — наш опыт
- Условия агентной разработки по подписке, тариф «Все проекты» · проверено 8 октября 2026 — наше предложение
Запомнить
1. Сохранённая карточка помогает выбрать. Перед покупкой сверяйте доступность выбранного варианта и склада.
2. Свежий остаток не держит товар. Подтверждение связывайте с серверным резервом или созданием заказа.
3. Неизвестное наличие отличается от нуля. При потере сети показывайте состояние проверки.
4. Проверяйте смену остатка, старые ответы и повтор запроса. Обычная удачная покупка не заменяет эти сценарии.
5. Принимайте первый участок от карточки до серверного решения. Расширяйте каталог после этой проверки.