Интерфейс, серверная логика и фоновые процессы используют единые правила. Каждый покупатель разворачивает отдельную установку на своей инфраструктуре.
01Панель
Рабочее место команды
Каталог, заказы, обращения, отзывы, контент, почта, аналитика, журнал и сессии.
02API
Интеграции
Версионированный /api/v1, OpenAPI 3.1, ключи с ограниченными правами и TypeScript SDK.
03Задачи
Фоновые процессы
Надёжная очередь, повтор доставки, очистка данных и проверки состояния.
04Поставка
Комплект для запуска
Исходный архив или образ, миграции, Compose, инструкции, SDK, перечень компонентов и согласованные документы.
02 / ПОЛНЫЙ ИНВЕНТАРЬ
Найдите функцию. Проверьте её контракт.
Статус «в поставке» означает, что функция входит в устанавливаемый комплект. Статус демо показывает возможность проверить тот же сценарий на учебных данных; демо не принимает реальные данные и деньги.
⌕
01
Функции панели
94
01Доступ, навигация и безопасность редактированияВход с TOTP, локализация, темы, адаптивность, состояния загрузки и защита несохранённых изменений.7 функций
ACC-SHL-001
Навигация панели и сводка проекта
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Навигация панели и сводка проекта» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Desktop navigation · Mobile drawer · Per-section counts
Что меняется
activeSection · sectionSummaries
Контракт
GET workspace snapshot
Как проверить
Сценарий «Навигация панели и сводка проекта» принят, когда состояние «activeSection · sectionSummaries» остаётся согласованным после повторного чтения, а контракт «GET workspace snapshot» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Тёмная и светлая темы» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Theme toggle
Что меняется
browser theme preference
Контракт
Функция использует общий контракт раздела без отдельной публичной ручки.
Как проверить
Сценарий «Тёмная и светлая темы» принят, когда состояние «browser theme preference» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Локализация на шесть языков» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Locale switcher · Localized dates, numbers and labels
Что меняется
locale
Контракт
Localized errors and CSV headings
Как проверить
Сценарий «Локализация на шесть языков» принят, когда состояние «locale» остаётся согласованным после повторного чтения, а контракт «Localized errors and CSV headings» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Загрузка, обновление и повтор запроса» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Loading · Load error · Retry · Refresh
Что меняется
workspace load state · request id · latency
Контракт
GET /api/admin/catalog, /api/admin/content and /api/admin/operations
Как проверить
Сценарий «Загрузка, обновление и повтор запроса» принят, когда состояние «workspace load state · request id · latency» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/catalog, /api/admin/content and /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Счётчики изменений и защита от потери правок» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Dirty badges · Save all · Discard dialog · beforeunload guard
Что меняется
draft baselines · dirty record ids
Контракт
Функция использует общий контракт раздела без отдельной публичной ручки.
Как проверить
Сценарий «Счётчики изменений и защита от потери правок» принят, когда состояние «draft baselines · dirty record ids» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Доступ по токену и TOTP» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Demo access screen · Token and one-time-code walkthrough
Что меняется
sandbox access challenge · demo operator session
Контракт
POST /api/admin/session · DELETE /api/admin/session
Как проверить
Сценарий «Доступ по токену и TOTP» принят, когда состояние «sandbox access challenge · demo operator session» остаётся согласованным после повторного чтения, а контракт «POST /api/admin/session · DELETE /api/admin/session» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Адаптивная и доступная система взаимодействия» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Функция использует общий контракт раздела без отдельной публичной ручки.
Как проверить
Сценарий «Адаптивная и доступная система взаимодействия» принят, когда состояние «dialog and drawer state» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
02Каталог, SKU и получение заказаШесть рабочих режимов, карточки товаров, варианты, матрица SKU, остатки, категории, атрибуты и CSV.17 функций
ACC-CAT-001
Шесть режимов работы с каталогом
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Шесть режимов работы с каталогом» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Функция использует общий контракт раздела без отдельной публичной ручки.
Как проверить
Сценарий «Шесть режимов работы с каталогом» принят, когда состояние «catalog view» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Серверные фильтры, фасеты и пагинация каталога» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Search · Status filter · Category filter · Brand filter · Load more
Сценарий «Серверные фильтры, фасеты и пагинация каталога» принят, когда состояние «catalog cursor · status/category/brand/query filters · facets» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/catalog/products» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Создание, изменение, удаление и статусы товаров» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Создание, изменение, удаление и статусы товаров» принят, когда состояние «products» остаётся согласованным после повторного чтения, а контракт «catalog.product.create · catalog.product.update · catalog.product.delete · POST/PATCH/DELETE /api/admin/catalog» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Полные данные товара и мерчандайзинг» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Full product card
Что меняется
categoryId · brandId · brand · name · description · priceValue · href · status · defaultVariantId
Контракт
catalog.product.create · catalog.product.update · GET /api/admin/catalog/products/:id
Как проверить
Сценарий «Полные данные товара и мерчандайзинг» принят, когда состояние «categoryId · brandId · brand · name · description · priceValue · href · status · defaultVariantId» остаётся согласованным после повторного чтения, а контракт «catalog.product.create · catalog.product.update · GET /api/admin/catalog/products/:id» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Переводы товаров и каталога» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Переводы товаров и каталога» принят, когда состояние «product translations · category translations · attribute translations · option translations · filter translations» остаётся согласованным после повторного чтения, а контракт «catalog.product.update · catalog.category.upsert · catalog.filters.batch-update · Localized catalog projection» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Изображения товаров и вариантов» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Upload controls · Preview · Alt text · Gallery editor
Сценарий «Изображения товаров и вариантов» принят, когда состояние «uploads · product image · product gallery · variant image · variant gallery» остаётся согласованным после повторного чтения, а контракт «upload.create · upload.delete · catalog.product.update · catalog.variant.update · POST/GET/DELETE /api/admin/uploads» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Общие метки товаров и цветовые образцы» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
catalog.label.create · catalog.product.update · POST /api/admin/catalog
Как проверить
Сценарий «Общие метки товаров и цветовые образцы» принят, когда состояние «productLabels · product label reference · swatches» остаётся согласованным после повторного чтения, а контракт «catalog.label.create · catalog.product.update · POST /api/admin/catalog» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Создание, изменение и удаление вариантов SKU» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Создание, изменение и удаление вариантов SKU» принят, когда состояние «variants · SKU · price · stock · reserved · status» остаётся согласованным после повторного чтения, а контракт «catalog.variant.create · catalog.variant.update · catalog.variant.delete · catalog.variant.batch-update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Универсальная матрица SKU» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Универсальная матрица SKU» принят, когда состояние «variant axes · selected option combinations · matrix drafts» остаётся согласованным после повторного чтения, а контракт «catalog.variant.batch-update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Универсальные атрибуты товара» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Typed product attribute editor
Что меняется
product attribute values · immutable order snapshots
Контракт
catalog.product.update · Catalog and order projections
Как проверить
Сценарий «Универсальные атрибуты товара» принят, когда состояние «product attribute values · immutable order snapshots» остаётся согласованным после повторного чтения, а контракт «catalog.product.update · Catalog and order projections» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Валидация каталога и готовность к сохранению» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Inline errors · Readiness summary · Guided empty state
Что меняется
validation issues · dirty baselines
Контракт
Structured validation errors
Как проверить
Сценарий «Валидация каталога и готовность к сохранению» принят, когда состояние «validation issues · dirty baselines» остаётся согласованным после повторного чтения, а контракт «Structured validation errors» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Создание, изменение, удаление и порядок категорий» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Создание, изменение, удаление и порядок категорий» принят, когда состояние «categories · product counts» остаётся согласованным после повторного чтения, а контракт «catalog.category.upsert · catalog.category.delete · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Схемы атрибутов категорий и библиотеки опций» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Схемы атрибутов категорий и библиотеки опций» принят, когда состояние «schema revision/status · attribute definitions · attribute options» остаётся согласованным после повторного чтения, а контракт «catalog.category.upsert · Catalog metadata projection» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Настройка фильтров витрины» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Настройка фильтров витрины» принят, когда состояние «filterSettings» остаётся согласованным после повторного чтения, а контракт «catalog.filters.batch-update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Пункты выдачи, интервалы и курьерская доставка» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Пункты выдачи, интервалы и курьерская доставка» принят, когда состояние «pickupLocations · timeSlots · courierDeliveryEnabled» остаётся согласованным после повторного чтения, а контракт «catalog.pickup.upsert · catalog.pickup.delete · catalog.fulfillment.update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Атомарное пакетное сохранение каталога» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Атомарное пакетное сохранение каталога» принят, когда состояние «product and variant draft set» остаётся согласованным после повторного чтения, а контракт «catalog.product.batch-update · catalog.variant.batch-update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Серверный экспорт остатков» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Stock CSV download
Что меняется
products · variants
Контракт
POST /api/admin/catalog/export
Как проверить
Сценарий «Серверный экспорт остатков» принят, когда состояние «products · variants» остаётся согласованным после повторного чтения, а контракт «POST /api/admin/catalog/export» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
03Заказы и операционная обработкаСтатусы с учётом резервов, поиск, архив, приоритеты, массовые действия, экспорт и идемпотентное создание.10 функций
ACC-ORD-001
Активные и архивные заказы
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Активные и архивные заказы» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Активные и архивные заказы» принят, когда состояние «orders · archivedAt» остаётся согласованным после повторного чтения, а контракт «order.archive-batch · GET/PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Серверный поиск, фильтры и cursor-история заказов» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Query · Flow · Status · Load more
Что меняется
order filters · history cursor
Контракт
GET /api/admin/operations/history?resource=orders
Как проверить
Сценарий «Серверный поиск, фильтры и cursor-история заказов» принят, когда состояние «order filters · history cursor» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations/history?resource=orders» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Переходы статусов с учётом остатков» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Contextual transition actions
Что меняется
new · processing · completed · delivered · cancelled
Сценарий «Переходы статусов с учётом остатков» принят, когда состояние «new · processing · completed · delivered · cancelled» остаётся согласованным после повторного чтения, а контракт «order.update · order.batch-update · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Приоритет, дедлайн и служебные заметки» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Приоритет, дедлайн и служебные заметки» принят, когда состояние «priority normal/urgent/hold · fulfillmentDeadline · adminNote · customerNote» остаётся согласованным после повторного чтения, а контракт «order.update · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Полные данные клиента и получения заказа» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Полные данные клиента и получения заказа» принят, когда состояние «customer email/profile notes/contact method/messenger · delivery/pickup/address details/time slot/comment/payment» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Позиции заказа и неизменяемые снимки атрибутов» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Line-item list
Что меняется
order items · variant id · quantity · price · attribute snapshots
Контракт
Order response
Как проверить
Сценарий «Позиции заказа и неизменяемые снимки атрибутов» принят, когда состояние «order items · variant id · quantity · price · attribute snapshots» остаётся согласованным после повторного чтения, а контракт «Order response» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Сводка заказа и индикаторы риска» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Command statistics · Urgent and overdue highlights
Что меняется
status/priority/deadline counts · visible revenue
Контракт
Функция использует общий контракт раздела без отдельной публичной ручки.
Как проверить
Сценарий «Сводка заказа и индикаторы риска» принят, когда состояние «status/priority/deadline counts · visible revenue» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Массовые операции с заказами» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Массовые операции с заказами» принят, когда состояние «selected order ids» остаётся согласованным после повторного чтения, а контракт «order.batch-update · order.archive-batch · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Экспорт заказов с серверными фильтрами» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
CSV export
Что меняется
current order filters
Контракт
POST /api/admin/operations/export
Как проверить
Сценарий «Экспорт заказов с серверными фильтрами» принят, когда состояние «current order filters» остаётся согласованным после повторного чтения, а контракт «POST /api/admin/operations/export» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
Идемпотентное создание заказа и резервирование через API
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Идемпотентное создание заказа и резервирование через API» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
API Lab order example
Что меняется
idempotency record · order · variant reserve
Контракт
POST /api/demo/v1/orders
Как проверить
Сценарий «Идемпотентное создание заказа и резервирование через API» принят, когда состояние «idempotency record · order · variant reserve» остаётся согласованным после повторного чтения, а контракт «POST /api/demo/v1/orders» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
04Подписки и обращенияПодтверждение подписки, отписка, обработка обращений, массовые статусы, надёжная доставка ответов и экспорт.8 функций
ACC-COM-001
Записи подписки на рассылку
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Записи подписки на рассылку» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Subscription list and detail
Что меняется
contact identity · source · status · consent and confirmation timestamps
Контракт
contact.update · GET/PATCH /api/admin/operations
Как проверить
Сценарий «Записи подписки на рассылку» принят, когда состояние «contact identity · source · status · consent and confirmation timestamps» остаётся согласованным после повторного чтения, а контракт «contact.update · GET/PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Записи обращений клиентов» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Записи обращений клиентов» принят, когда состояние «name · email · contact · contact method · messenger · message · source · customer key» остаётся согласованным после повторного чтения, а контракт «contact.update · GET/PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Поиск, фильтры и постраничная история контактов» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Search · Status · Load more
Что меняется
section/status/query filters · history cursor
Контракт
GET /api/admin/operations/history?resource=contactRequests
Как проверить
Сценарий «Поиск, фильтры и постраничная история контактов» принят, когда состояние «section/status/query filters · history cursor» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations/history?resource=contactRequests» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Одиночные и массовые статусы контактов» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Select shown · Take in work · Return to new · Archive/unsubscribe
Сценарий «Одиночные и массовые статусы контактов» принят, когда состояние «selected contact ids · contact status» остаётся согласованным после повторного чтения, а контракт «contact.update · contact.batch-update · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«CSV подтверждённых подписчиков и обращений» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Export confirmed · Export feedback
Что меняется
current contact filters
Контракт
POST /api/admin/operations/export
Как проверить
Сценарий «CSV подтверждённых подписчиков и обращений» принят, когда состояние «current contact filters» остаётся согласованным после повторного чтения, а контракт «POST /api/admin/operations/export» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Идемпотентный ответ на обращение» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Subject · Message · Queue feedback
Что меняется
reply subject · reply body · idempotency record · outbox item
Контракт
contact.reply · POST /api/admin/operations
Как проверить
Сценарий «Идемпотентный ответ на обращение» принят, когда состояние «reply subject · reply body · idempotency record · outbox item» остаётся согласованным после повторного чтения, а контракт «contact.reply · POST /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Подтверждение подписки и последствия отписки» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
POST /api/demo/newsletter · POST /api/demo/newsletter/one-click
Как проверить
Сценарий «Подтверждение подписки и последствия отписки» принят, когда состояние «confirmation expiry · confirmedAt · unsubscribedAt» остаётся согласованным после повторного чтения, а контракт «POST /api/demo/newsletter · POST /api/demo/newsletter/one-click» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Надёжная очередь доставки ответов» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
contact.reply · GET /api/admin/operations/history?resource=emailOutbox
Как проверить
Сценарий «Надёжная очередь доставки ответов» принят, когда состояние «pending/sent/failed/skipped · attempt count · next attempt · error · sentAt» остаётся согласованным после повторного чтения, а контракт «contact.reply · GET /api/admin/operations/history?resource=emailOutbox» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
05Отзывы и модерацияОтзывы для главной и товаров, привязка к заказу, изображения, readiness-проверки и массовая модерация.7 функций
ACC-REV-001
Отзывы для главной и товаров
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Отзывы для главной и товаров» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Review type switch
Что меняется
reviewType home/product
Контракт
review.create · review.update · GET /api/admin/operations
Как проверить
Сценарий «Отзывы для главной и товаров» принят, когда состояние «reviewType home/product» остаётся согласованным после повторного чтения, а контракт «review.create · review.update · GET /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Поиск, статусы и постраничная история отзывов» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Search · Type · Status · Load more
Что меняется
type/status/query filters · history cursor
Контракт
GET /api/admin/operations/history?resource=reviews
Как проверить
Сценарий «Поиск, статусы и постраничная история отзывов» принят, когда состояние «type/status/query filters · history cursor» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations/history?resource=reviews» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Создание, редактирование и удаление отзывов» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Создание, редактирование и удаление отзывов» принят, когда состояние «full review record» остаётся согласованным после повторного чтения, а контракт «review.create · review.update · review.delete · POST/PATCH/DELETE /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Привязка товара из выполненного заказа» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Привязка товара из выполненного заказа» принят, когда состояние «delivered product targets · orderId · productId · productName» остаётся согласованным после повторного чтения, а контракт «review.create · review.update · Operations snapshot» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Изображение и предпросмотр отзыва» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Изображение и предпросмотр отзыва» принят, когда состояние «imageSrc · imageAlt · upload ownership» остаётся согласованным после повторного чтения, а контракт «upload.create · upload.delete · review.update · POST/GET/DELETE /api/admin/uploads» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Готовность и сводные метрики отзывов» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Readiness pills · Character count · Summary cards
Что меняется
quality result · status/type/photo/rating counts
Контракт
Функция использует общий контракт раздела без отдельной публичной ручки.
Как проверить
Сценарий «Готовность и сводные метрики отзывов» принят, когда состояние «quality result · status/type/photo/rating counts» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Модерация и массовые действия» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Модерация и массовые действия» принят, когда состояние «selected review ids · review drafts» остаётся согласованным после повторного чтения, а контракт «review.update · review.batch-update · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
06Контент и маркетинговые размещенияСтруктурированные тексты, блоки, призывы к действию, медиа, пакетное сохранение и выдача только опубликованного.8 функций
ACC-CNT-001
Публичные группы и области контента
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Публичные группы и области контента» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
content.entry.create · content.entry.update · GET /api/admin/content
Как проверить
Сценарий «Публичные группы и области контента» принят, когда состояние «home · marketing · catalog · product · cart · footer · legal · consent» остаётся согласованным после повторного чтения, а контракт «content.entry.create · content.entry.update · GET /api/admin/content» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Поиск и фильтры контента» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Search · Group/scope · Status · Reset
Что меняется
query · scope · status
Контракт
GET /api/admin/content
Как проверить
Сценарий «Поиск и фильтры контента» принят, когда состояние «query · scope · status» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/content» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
Создание, изменение, удаление и порядок текстовых записей
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Создание, изменение, удаление и порядок текстовых записей» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Создание, изменение, удаление и порядок текстовых записей» принят, когда состояние «id · scope · title · body · status · position» остаётся согласованным после повторного чтения, а контракт «content.entry.create · content.entry.update · content.entry.delete · POST/PATCH/DELETE /api/admin/content» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Атомарное сохранение текстов и обзор изменений» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Dirty count · Save texts · Content quality overview
Сценарий «Атомарное сохранение текстов и обзор изменений» принят, когда состояние «content drafts and baselines · quality overview» остаётся согласованным после повторного чтения, а контракт «content.entry.batch-update · PATCH /api/admin/content» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Создание, изменение и удаление блоков страницы» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Создание, изменение и удаление блоков страницы» принят, когда состояние «marketingBlocks» остаётся согласованным после повторного чтения, а контракт «marketing.block.create · marketing.block.update · marketing.block.delete · POST/PATCH/DELETE /api/admin/content» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Размещение, вариант, макет и CTA блока» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
marketing.block.create · marketing.block.update · Public marketing projection
Как проверить
Сценарий «Размещение, вариант, макет и CTA блока» принят, когда состояние «home-promotion/cart-advertising · text/image/mixed · fixed/content · title/text/image/alt/href/CTA/status/position» остаётся согласованным после повторного чтения, а контракт «marketing.block.create · marketing.block.update · Public marketing projection» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Пакетное сохранение и загрузка медиа» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Пакетное сохранение и загрузка медиа» принят, когда состояние «marketing drafts · upload ownership · durable orphan cleanup queue» остаётся согласованным после повторного чтения, а контракт «marketing.block.batch-update · upload.create · upload.delete · PATCH /api/admin/content · POST/DELETE /api/admin/uploads» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Публичная выдача только опубликованного контента» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
API Lab content response
Что меняется
content and marketing status
Контракт
GET /api/demo/v1/content
Как проверить
Сценарий «Публичная выдача только опубликованного контента» принят, когда состояние «content and marketing status» остаётся согласованным после повторного чтения, а контракт «GET /api/demo/v1/content» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
07Почтовые кампании и доставкаДиагностика SMTP, аудитории, безопасный предпросмотр, защита от дублей, фоновые задачи и история попыток.12 функций
ACC-EML-001
Диагностика email-конфигурации
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Диагностика email-конфигурации» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Four diagnostics cards
Что меняется
notifications/configuration/from/admin recipient/HELO/TLS state
Контракт
GET operations snapshot
Как проверить
Сценарий «Диагностика email-конфигурации» принят, когда состояние «notifications/configuration/from/admin recipient/HELO/TLS state» остаётся согласованным после повторного чтения, а контракт «GET operations snapshot» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Безопасная проверка транспорта» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Verify/check again
Что меняется
verification status/timestamps/failure code
Контракт
email.transport.verify · POST /api/admin/email-diagnostics
Как проверить
Сценарий «Безопасная проверка транспорта» принят, когда состояние «verification status/timestamps/failure code» остаётся согласованным после повторного чтения, а контракт «email.transport.verify · POST /api/admin/email-diagnostics» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Поиск аудитории среди подписчиков и клиентов» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Audience switch · Search · Pagination
Что меняется
audience · recipient search · recipient page
Контракт
GET /api/admin/email-campaigns
Как проверить
Сценарий «Поиск аудитории среди подписчиков и клиентов» принят, когда состояние «audience · recipient search · recipient page» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/email-campaigns» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Кампания по выбранным или всем получателям» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Selected · All found · Select visible · 500 selection limit
Что меняется
selection mode · selected ids · audience snapshot
Контракт
email.campaign.enqueue · POST /api/admin/email-campaigns
Как проверить
Сценарий «Кампания по выбранным или всем получателям» принят, когда состояние «selection mode · selected ids · audience snapshot» остаётся согласованным после повторного чтения, а контракт «email.campaign.enqueue · POST /api/admin/email-campaigns» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Полный редактор кампании» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
email.campaign.preview · email.campaign.enqueue · POST /api/admin/email-campaigns
Как проверить
Сценарий «Полный редактор кампании» принят, когда состояние «subject · preheader · title · body · CTA · image» остаётся согласованным после повторного чтения, а контракт «email.campaign.preview · email.campaign.enqueue · POST /api/admin/email-campaigns» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Серверный предпросмотр письма» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Desktop/mobile preview · Placeholder and readiness state
email.campaign.preview · POST /api/admin/email-campaigns operation=preview
Как проверить
Сценарий «Серверный предпросмотр письма» принят, когда состояние «preview html/text · sendReady · placeholder fields · draft fingerprint» остаётся согласованным после повторного чтения, а контракт «email.campaign.preview · POST /api/admin/email-campaigns operation=preview» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Явное подтверждение аудитории» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Confirmation checkbox and recipient count
Что меняется
confirmed draft fingerprint
Контракт
Функция использует общий контракт раздела без отдельной публичной ручки.
Как проверить
Сценарий «Явное подтверждение аудитории» принят, когда состояние «confirmed draft fingerprint» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Идемпотентная постановка кампании в очередь» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Queue campaign
Что меняется
campaign · idempotency key and request fingerprint
Контракт
email.campaign.enqueue · POST /api/admin/email-campaigns
Как проверить
Сценарий «Идемпотентная постановка кампании в очередь» принят, когда состояние «campaign · idempotency key and request fingerprint» остаётся согласованным после повторного чтения, а контракт «email.campaign.enqueue · POST /api/admin/email-campaigns» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Монитор подготовки кампании» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
GET /api/admin/email-campaigns?mode=status · POST /api/admin/email-campaigns operation=process
Как проверить
Сценарий «Монитор подготовки кампании» принят, когда состояние «preparing/queued/failed/sent/partial · per-campaign recipient progress · attempt/next-at/error retry metadata» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/email-campaigns?mode=status · POST /api/admin/email-campaigns operation=process» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«История доставки и отображение повторных попыток» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
GET /api/admin/operations/history?resource=emailOutbox
Как проверить
Сценарий «История доставки и отображение повторных попыток» принят, когда состояние «kind/recipient/subject/status/error/attempt/max/next/sent timestamps» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations/history?resource=emailOutbox» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Исключение отписавшихся и работа фоновых задач» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Campaign status projection · RFC one-click unsubscribe · Sandbox worker process
Как проверить
Сценарий «Исключение отписавшихся и работа фоновых задач» принят, когда состояние «audience snapshot · unsubscribe status · per-campaign delivery counters · retry schedule» остаётся согласованным после повторного чтения, а контракт «Campaign status projection · RFC one-click unsubscribe · Sandbox worker process» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Загрузка изображения кампании» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Загрузка изображения кампании» принят, когда состояние «campaign image upload reference» остаётся согласованным после повторного чтения, а контракт «upload.create · upload.delete · POST/DELETE /api/admin/uploads» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
08Продажи и складская аналитикаМетрики и динамика продаж, остатки, коммерческие разрезы, показатели готовности и выгрузки.7 функций
ACC-ANA-001
Переключение фокуса продаж и склада
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Переключение фокуса продаж и склада» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Sales/stock switch
Что меняется
analytics focus
Контракт
Функция использует общий контракт раздела без отдельной публичной ручки.
Как проверить
Сценарий «Переключение фокуса продаж и склада» принят, когда состояние «analytics focus» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Целостность производной аналитики» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Live metrics
Что меняется
orders/products/content/reviews/subscriptions
Контракт
Workspace snapshot
Как проверить
Сценарий «Целостность производной аналитики» принят, когда состояние «orders/products/content/reviews/subscriptions» остаётся согласованным после повторного чтения, а контракт «Workspace snapshot» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Полный набор метрик продаж» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Nine sales metric cards
Что меняется
revenue/delivered/backlog/cancelled · orders/rates · unit and basket averages
Контракт
Analytics projection
Как проверить
Сценарий «Полный набор метрик продаж» принят, когда состояние «revenue/delivered/backlog/cancelled · orders/rates · unit and basket averages» остаётся согласованным после повторного чтения, а контракт «Analytics projection» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Динамика продаж и коммерческие разрезы» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Sales chart and six breakdown panels
Что меняется
dated sales series · order/revenue status · fulfillment/payment · category revenue · top products
Контракт
Analytics projection
Как проверить
Сценарий «Динамика продаж и коммерческие разрезы» принят, когда состояние «dated sales series · order/revenue status · fulfillment/payment · category revenue · top products» остаётся согласованным после повторного чтения, а контракт «Analytics projection» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Полный набор складских метрик» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Eight stock metric cards
Что меняется
stock value/available/reserved/share · SKU states · risk value · low/out · publish readiness · review rating
Контракт
Analytics projection
Как проверить
Сценарий «Полный набор складских метрик» принят, когда состояние «stock value/available/reserved/share · SKU states · risk value · low/out · publish readiness · review rating» остаётся согласованным после повторного чтения, а контракт «Analytics projection» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Разрезы склада, контента, отзывов и подписок» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Eight stock and readiness panels
Что меняется
category stock/value · variant status · availability/risk · content/review/subscription status
Контракт
Analytics projection
Как проверить
Сценарий «Разрезы склада, контента, отзывов и подписок» принят, когда состояние «category stock/value · variant status · availability/risk · content/review/subscription status» остаётся согласованным после повторного чтения, а контракт «Analytics projection» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Экспорт продаж, динамики и остатков» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Экспорт продаж, динамики и остатков» принят, когда состояние «analytics snapshot» остаётся согласованным после повторного чтения, а контракт «POST catalog export for stock» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
09Журнал действий и административные сессииТипизированный журнал изменений, фильтры, постраничная выдача, отзыв сессий, защита от конфликтов и лимиты.8 функций
ACC-AUD-001
Типизированное событие аудита для каждой мутации
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Типизированное событие аудита для каждой мутации» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Audit event list
Что меняется
action · entityType · entityId · actor · createdAt
Контракт
Operations snapshot/history
Как проверить
Сценарий «Типизированное событие аудита для каждой мутации» принят, когда состояние «action · entityType · entityId · actor · createdAt» остаётся согласованным после повторного чтения, а контракт «Operations snapshot/history» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Структурированная ограниченная запись журнала» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Localized payload detail
Что меняется
bounded before/after/domain metadata
Контракт
Audit history
Как проверить
Сценарий «Структурированная ограниченная запись журнала» принят, когда состояние «bounded before/after/domain metadata» остаётся согласованным после повторного чтения, а контракт «Audit history» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Поиск и фильтр по сущностям журнала» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Search · Object filter · Reset
Что меняется
query · entity type
Контракт
GET /api/admin/operations/history?resource=auditEvents
Как проверить
Сценарий «Поиск и фильтр по сущностям журнала» принят, когда состояние «query · entity type» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations/history?resource=auditEvents» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Сводка журнала и постраничная выдача» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Four summary cards · Entity insights · Load more
Что меняется
total/entity/latest summaries · history cursor
Контракт
GET /api/admin/operations/history
Как проверить
Сценарий «Сводка журнала и постраничная выдача» принят, когда состояние «total/entity/latest summaries · history cursor» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations/history» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Список административных сессий» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Список административных сессий» принят, когда состояние «session id/current/actor/IP/user agent/created/seen/expires» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/sessions» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Отзыв других или всех административных сессий» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Revoke others · Revoke all · Danger confirmation
Что меняется
active/revoked session state · independent HttpOnly access marker
Сценарий «Отзыв других или всех административных сессий» принят, когда состояние «active/revoked session state · independent HttpOnly access marker» остаётся согласованным после повторного чтения, а контракт «session.revoke · PATCH /api/admin/sessions · POST/DELETE /api/admin/session» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Защита от конфликтов и восстановление после них» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Conflict notice · Reload and retry
Что меняется
D1 workspace revision · domain drafts
Контракт
D1 compare-and-swap revision and 409 envelope
Как проверить
Сценарий «Защита от конфликтов и восстановление после них» принят, когда состояние «D1 workspace revision · domain drafts» остаётся согласованным после повторного чтения, а контракт «D1 compare-and-swap revision and 409 envelope» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Контроль origin, payload, частоты и ёмкости» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Limit feedback
Что меняется
rate buckets · workspace mutation count · expiry
Контракт
Exact-origin writes · Strict JSON · 429 and Retry-After
Как проверить
Сценарий «Контроль origin, payload, частоты и ёмкости» принят, когда состояние «rate buckets · workspace mutation count · expiry» остаётся согласованным после повторного чтения, а контракт «Exact-origin writes · Strict JSON · 429 and Retry-After» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
10Публичный API v1 и примеры запросовOpenAPI 3.1, ключи с ограниченными правами, список CORS, единые ошибки, ограничения частоты и TypeScript SDK.10 функций
ACC-API-001
Discovery, health и OpenAPI 3.1
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Discovery, health и OpenAPI 3.1» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
API Lab links
Что меняется
API version and sandbox capability summary
Контракт
GET /api/demo/v1 · GET /api/demo/v1/health · GET /api/demo/v1/openapi.json
Как проверить
Сценарий «Discovery, health и OpenAPI 3.1» принят, когда состояние «API version and sandbox capability summary» остаётся согласованным после повторного чтения, а контракт «GET /api/demo/v1 · GET /api/demo/v1/health · GET /api/demo/v1/openapi.json» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Временные API-ключи с ограниченными правами» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
API Lab key/scopes · Create/revoke/delete · One-time secret reveal
Что меняется
one-time API key secret · SHA-256 digest · id · scopes · lastUsedAt · revokedAt
Контракт
Authorization Bearer · X-API-Key
Как проверить
Сценарий «Временные API-ключи с ограниченными правами» принят, когда состояние «one-time API key secret · SHA-256 digest · id · scopes · lastUsedAt · revokedAt» остаётся согласованным после повторного чтения, а контракт «Authorization Bearer · X-API-Key» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Точный список CORS и предварительная проверка» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
CORS example
Что меняется
demo CORS allow-list
Контракт
OPTIONS and protected v1 responses
Как проверить
Сценарий «Точный список CORS и предварительная проверка» принят, когда состояние «demo CORS allow-list» остаётся согласованным после повторного чтения, а контракт «OPTIONS and protected v1 responses» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Контракт выборки публичного каталога» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Контракт выборки публичного каталога» принят, когда состояние «category · repeated brand · search · price min/max · availability · sort · page · attr.*» остаётся согласованным после повторного чтения, а контракт «GET /api/demo/v1/catalog» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Контракт публичного контента» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
API Lab content request
Что меняется
published content and marketing
Контракт
GET /api/demo/v1/content?scope=
Как проверить
Сценарий «Контракт публичного контента» принят, когда состояние «published content and marketing» остаётся согласованным после повторного чтения, а контракт «GET /api/demo/v1/content?scope=» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Контракт публичного поиска» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
API Lab search request
Что меняется
public categories and products
Контракт
GET /api/demo/v1/search?q=&limit=
Как проверить
Сценарий «Контракт публичного поиска» принят, когда состояние «public categories and products» остаётся согласованным после повторного чтения, а контракт «GET /api/demo/v1/search?q=&limit=» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Идемпотентный публичный контракт заказа» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Editable API Lab POST
Что меняется
order idempotency and reservation
Контракт
POST /api/demo/v1/orders · DELETE /api/demo/v1/workspace
Как проверить
Сценарий «Идемпотентный публичный контракт заказа» принят, когда состояние «order idempotency and reservation» остаётся согласованным после повторного чтения, а контракт «POST /api/demo/v1/orders · DELETE /api/demo/v1/workspace» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
Единые ошибки, идентификатор запроса и ограничения частоты
в поставкев демо
ПодробнееСвернуть↓
Назначение
«Единые ошибки, идентификатор запроса и ограничения частоты» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Сценарий «Единые ошибки, идентификатор запроса и ограничения частоты» принят, когда состояние «rate bucket» остаётся согласованным после повторного чтения, а контракт «error envelope · X-Request-Id · X-API-Key-Id · X-RateLimit-* · Retry-After» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Примеры API с реальными сетевыми запросами» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
GET resource/query editor · POST order body and Idempotency-Key editor · Bearer/X-API-Key switch · Run · Status/duration/request-id/rate-limit/body · Open created order in Studio
Что меняется
editable query/body/token/idempotency key · live response trace · created order handoff
Контракт
GET catalog/content/search · POST orders · GET discovery/health/OpenAPI
Как проверить
Сценарий «Примеры API с реальными сетевыми запросами» принят, когда состояние «editable query/body/token/idempotency key · live response trace · created order handoff» остаётся согласованным после повторного чтения, а контракт «GET catalog/content/search · POST orders · GET discovery/health/OpenAPI» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
«Примеры TypeScript SDK без внешних зависимостей» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
Интерфейс
Copyable typed examples
Что меняется
Состояние не мутируется: проверяется чтение или системный сигнал.
Контракт
Kept aligned with the OpenAPI 3.1 contract and compile-tested
Как проверить
Сценарий «Примеры TypeScript SDK без внешних зависимостей» принят, когда read model или системный сигнал повторно возвращает согласованный результат, а контракт «Kept aligned with the OpenAPI 3.1 contract and compile-tested» не создаёт частичной или дублирующей мутации.
Граница демо
Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Публичная проекция каталога. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Пакетная выборка товаров. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POST/api/analytics/eventsПриём разрешённых first-party событий после явного согласия без IP, User-Agent и полного referrer.ПодробнееСвернуть↓
Назначение
Приём разрешённых first-party событий после явного согласия без IP, User-Agent и полного referrer.
Доступ и scope
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Приём разрешённых first-party событий после явного согласия без IP, User-Agent и полного referrer. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Создание обращения. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Публичный контент. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Текущая локаль интерфейса. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POST/api/newsletterПодписка с double opt-in.ПодробнееСвернуть↓
Назначение
Подписка с double opt-in.
Доступ и scope
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Подписка с double opt-in. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Однокликовая отписка. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POST/api/order-accessВыдача ограниченного доступа к заказу.ПодробнееСвернуть↓
Назначение
Выдача ограниченного доступа к заказу.
Доступ и scope
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Выдача ограниченного доступа к заказу. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPOST/api/ordersЧтение и создание заказа.ПодробнееСвернуть↓
Назначение
Чтение и создание заказа.
Доступ и scope
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Чтение и создание заказа. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPOST/api/orders/:orderId/paymentСтатус и переход к защищённой оплате.ПодробнееСвернуть↓
Назначение
Статус и переход к защищённой оплате.
Доступ и scope
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметры из маршрута: orderId. Остальная схема остаётся внутренним контрактом обработчика.
Успешный ответ
Статус и переход к защищённой оплате. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POST/api/orders/:orderId/payment/syncПовторная сверка платежа с провайдером.ПодробнееСвернуть↓
Назначение
Повторная сверка платежа с провайдером.
Доступ и scope
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметры из маршрута: orderId. Остальная схема остаётся внутренним контрактом обработчика.
Успешный ответ
Повторная сверка платежа с провайдером. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Поиск по витрине. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Серверная поверхность готовой витрины; включается и адаптируется под проект.
Параметры и body
Path-параметры из маршрута: file. Остальная схема остаётся внутренним контрактом обработчика.
Успешный ответ
Выдача разрешённого медиа товара. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Cookie-сессия покупателя, CSRF/origin-защита и проектная OAuth-интеграция.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Обращение авторизованного покупателя. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Cookie-сессия покупателя, CSRF/origin-защита и проектная OAuth-интеграция.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Обновление профиля. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POST/api/account/reviewsОтзыв из кабинета.ПодробнееСвернуть↓
Назначение
Отзыв из кабинета.
Доступ и scope
Cookie-сессия покупателя, CSRF/origin-защита и проектная OAuth-интеграция.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Отзыв из кабинета. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPOSTDELETE/api/account/sessionПроверка, создание и завершение сессии.ПодробнееСвернуть↓
Назначение
Проверка, создание и завершение сессии.
Доступ и scope
Cookie-сессия покупателя, CSRF/origin-защита и проектная OAuth-интеграция.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Проверка, создание и завершение сессии. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POST/api/account/sessionsУправление другими сессиями.ПодробнееСвернуть↓
Назначение
Управление другими сессиями.
Доступ и scope
Cookie-сессия покупателя, CSRF/origin-защита и проектная OAuth-интеграция.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Управление другими сессиями. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POSTDELETE/api/account/yandexПодключение и отключение Yandex ID.ПодробнееСвернуть↓
Назначение
Подключение и отключение Yandex ID.
Доступ и scope
Cookie-сессия покупателя, CSRF/origin-защита и проектная OAuth-интеграция.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Подключение и отключение Yandex ID. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Cookie-сессия покупателя, CSRF/origin-защита и проектная OAuth-интеграция.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
OAuth callback Yandex ID. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
04Служебные маршруты панелиНе внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.22 маршрутов
GET/api/admin/analytics/trafficPrivacy-first агрегаты посещаемости за 7, 30 или 90 дней и равный предыдущий период.ПодробнееСвернуть↓
Назначение
Privacy-first агрегаты посещаемости за 7, 30 или 90 дней и равный предыдущий период.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Privacy-first агрегаты посещаемости за 7, 30 или 90 дней и равный предыдущий период. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPOSTPATCHDELETE/api/admin/catalogСнимок и мутации каталога.ПодробнееСвернуть↓
Назначение
Снимок и мутации каталога.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Снимок и мутации каталога. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POST/api/admin/catalog/exportЭкспорт каталога и остатков.ПодробнееСвернуть↓
Назначение
Экспорт каталога и остатков.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Экспорт каталога и остатков. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GET/api/admin/catalog/metadataМетаданные категорий и фильтров.ПодробнееСвернуть↓
Назначение
Метаданные категорий и фильтров.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Метаданные категорий и фильтров. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GET/api/admin/catalog/productsФильтруемый список товаров.ПодробнееСвернуть↓
Назначение
Фильтруемый список товаров.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Фильтруемый список товаров. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметры из маршрута: productId. Остальная схема остаётся внутренним контрактом обработчика.
Успешный ответ
Полная карточка товара. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GET/api/admin/catalog/sku-registryПострочный реестр SKU с фильтрами, сортировкой и cursor-пагинацией.ПодробнееСвернуть↓
Назначение
Построчный реестр SKU с фильтрами, сортировкой и cursor-пагинацией.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Построчный реестр SKU с фильтрами, сортировкой и cursor-пагинацией. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPOSTPATCHDELETE/api/admin/contentКонтент и маркетинговые блоки.ПодробнееСвернуть↓
Назначение
Контент и маркетинговые блоки.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Контент и маркетинговые блоки. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPOST/api/admin/email-campaignsАудитории, предпросмотр, постановка и наблюдение за кампаниями.ПодробнееСвернуть↓
Назначение
Аудитории, предпросмотр, постановка и наблюдение за кампаниями.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Аудитории, предпросмотр, постановка и наблюдение за кампаниями. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Безопасная диагностика email-транспорта. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPOSTPATCHDELETE/api/admin/operationsЗаказы, контакты, отзывы и аудит.ПодробнееСвернуть↓
Назначение
Заказы, контакты, отзывы и аудит.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Заказы, контакты, отзывы и аудит. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Серверные CSV-выгрузки операций. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Cursor-история операционных сущностей. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPOST/api/admin/paymentsСписок платежей и совместимый action endpoint.ПодробнееСвернуть↓
Назначение
Список платежей и совместимый action endpoint.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Список платежей и совместимый action endpoint. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметры из маршрута: paymentId. Остальная схема остаётся внутренним контрактом обработчика.
Успешный ответ
Карточка платежа. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметры из маршрута: paymentId. Остальная схема остаётся внутренним контрактом обработчика.
Успешный ответ
Идемпотентная отмена платежа. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметры из маршрута: paymentId. Остальная схема остаётся внутренним контрактом обработчика.
Успешный ответ
Подтверждение двухстадийного платежа. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POST/api/admin/payments/:paymentId/refundsПолный или частичный возврат.ПодробнееСвернуть↓
Назначение
Полный или частичный возврат.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметры из маршрута: paymentId. Остальная схема остаётся внутренним контрактом обработчика.
Успешный ответ
Полный или частичный возврат. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POST/api/admin/payments/:paymentId/syncСверка статуса с ЮKassa.ПодробнееСвернуть↓
Назначение
Сверка статуса с ЮKassa.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметры из маршрута: paymentId. Остальная схема остаётся внутренним контрактом обработчика.
Успешный ответ
Сверка статуса с ЮKassa. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
POSTDELETE/api/admin/sessionВход по токену/TOTP и выход.ПодробнееСвернуть↓
Назначение
Вход по токену/TOTP и выход.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Вход по токену/TOTP и выход. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPATCH/api/admin/sessionsСписок и отзыв административных сессий.ПодробнееСвернуть↓
Назначение
Список и отзыв административных сессий.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Список и отзыв административных сессий. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GETPOSTDELETE/api/admin/uploadsЗагрузка, список и удаление медиа.ПодробнееСвернуть↓
Назначение
Загрузка, список и удаление медиа.
Доступ и scope
Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Загрузка, список и удаление медиа. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
05Интеграции и эксплуатацияВнешние события и проверки состояния для поставщика, балансировщика, системы развёртывания и мониторинга.4 маршрутов
POST/api/webhooks/payments/yookassaСигнал ЮKassa с обязательной повторной сверкой через API.ПодробнееСвернуть↓
Назначение
Сигнал ЮKassa с обязательной повторной сверкой через API.
Доступ и scope
Внешние события и проверки состояния для поставщика, балансировщика, системы развёртывания и мониторинга.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Сигнал ЮKassa с обязательной повторной сверкой через API. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GET/healthПроверка работы процесса.ПодробнееСвернуть↓
Назначение
Проверка работы процесса.
Доступ и scope
Внешние события и проверки состояния для поставщика, балансировщика, системы развёртывания и мониторинга.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Проверка работы процесса. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GET/health/readyПроверка готовности приложения и зависимостей.ПодробнееСвернуть↓
Назначение
Проверка готовности приложения и зависимостей.
Доступ и scope
Внешние события и проверки состояния для поставщика, балансировщика, системы развёртывания и мониторинга.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Проверка готовности приложения и зависимостей. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
GET/humans.txtПубличная информация о поставке.ПодробнееСвернуть↓
Назначение
Публичная информация о поставке.
Доступ и scope
Внешние события и проверки состояния для поставщика, балансировщика, системы развёртывания и мониторинга.
Параметры и body
Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
Успешный ответ
Публичная информация о поставке. Точный status/body определяется обработчиком текущего релиза.
Ошибки
Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
Важная граница
Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
Публичный API отделён от служебных маршрутов панели. Договор версионирован, описан в OpenAPI 3.1 и сопровождается TypeScript-клиентом без внешних зависимостей.
ОперацияПраваЛимитНазначениеДемо
GET/api/v1public—Обнаружение версии, аутентификации и ресурсов API./api/demo/v1ПодробнееСвернуть↓
Назначение
Обнаружение версии, аутентификации и ресурсов API.
Доступ и scope
Публичная операция: API-ключ и scope не требуются.
Параметры и body
Параметры и тело запроса не объявлены.
Успешный ответ
200 · Обнаружение версии, аутентификации и ресурсов API.
Ошибки
Для операции OpenAPI не объявляет отдельные error responses.
Важная граница
Публичная операция без ключа. Используйте ответ для знакомства с возможностями API, но не для хранения секретов.
import { FoundryClient } from "@foundry/sdk";
const foundry = new FoundryClient({
baseUrl: "https://api.example.com",
apiKey: process.env.FOUNDRY_API_KEY,
timeoutMs: 10_000,
});
const result = await foundry.createOrder(order, {
idempotencyKey: crypto.randomUUID(),
});
SDK входит в комплект и устанавливается из локального пакета или архива поставки; публичная публикация в npm пока не заявлена.
04 / ИНТЕГРАЦИИ И СТАТУС
Готовое, подключаемое и не выданное за готовое.
Здесь разделены готовые функции, безопасные сценарии демо и дополнительные работы. Настройка поставщика или инфраструктуры согласуется для конкретного проекта.
Готово
TypeScript SDK
Fetch, URL, Headers и AbortController, типизированные ошибки, ограничение времени, отмена, каталог, контент, поиск и заказы.
Готово
ЮKassa
Переход на защищённую оплату, подтверждение, отмена, возврат, проверка события через API и данные для чека. Доступные способы определяет подключённый магазин.
Готово
SMTP и S3
Проверка почты, надёжная очередь с повторами и совместимое с S3 хранилище файлов; учётные данные предоставляет владелец установки.
Демо
Внешние события и автоматизации
Создание, изменение, включение и тестовые запуски сохраняются в демо, но произвольный внешний адрес не вызывается.
Отдельно
Расширенные роли и единый вход
Проектируются и принимаются отдельно с учётом структуры команды и требований безопасности.
STATUS MATRIX
Коммерческие расширения
Доступно в демо — можно проверить на учебных данных без внешней доставки. Дополнительное расширение входит в проект только после согласования.
Базовая модель — отдельная установка для одного клиента. Сайт, миграции и фоновые задачи выполняют разные роли; PostgreSQL остаётся источником истины.
01
Первый запуск
Создаёт локальные секреты, ключ администратора, TOTP и ключ API; существующая конфигурация не перезаписывается без предупреждения.
02
Миграции
Отдельный одноразовый процесс применяет неизменяемые миграции PostgreSQL до запуска приложения.
03
Работа
Сайт обслуживает панель и API, а выделенный процесс выполняет фоновые задачи и повторы доставки.
04
Проверка
Проверки процесса, готовности, фоновых задач, PostgreSQL/TLS, SMTP и S3 входят в приёмку.
Матрица совместимости
Среда
Node.js 22–24
Контейнеры
Docker + Compose plugin
Данные
PostgreSQL; отдельная база на установку
Медиа
S3-compatible storage, опционально
Почта
SMTP с TLS-проверкой
Облако
Timeweb Cloud или другая инфраструктура с Docker и частной сетью
06 / БЕЗОПАСНОСТЬ
Защита встроена. Сертификаты не симулируются.
Фуражир поставляет технические контроли, но сам по себе не подтверждает соответствие конкретному закону или стандарту: это зависит от данных, региона, договоров и эксплуатации клиента.
BASELINE
В базовом контуре
ключ + TOTP, серверные сессии и отзыв активных сессий
проверки CSRF и источника, точный список CORS и ограниченный размер данных
ограничение частоты, защита от дублей и конфликтов изменений
типизированный журнал без секретов и исходных двоичных данных
проверка подписи внешнего события и повторное чтение объекта через API
PostgreSQL с TLS, частное S3, резервное копирование, восстановление и откат
BOUNDARY
Честная граница v1
отдельная установка для каждого клиента
расширенные роли, корпоративный вход и повышенная отказоустойчивость — отдельные работы
публичное демо использует только учебные данные и отдельное хранилище
рабочая установка использует бренд проекта, подтверждённые реквизиты и проверенные настройки безопасности
07 / ЛИЦЕНЗИЯ И ПОСТАВКА
Модель «Ядра». Одна рабочая установка.
Предполагается бессрочное право использовать переданную версию в одной изолированной рабочей установке; 30 дней относятся к поддержке запуска и обновлениям. Точный состав, права и условия фиксируются в лицензии, заказе и договоре до оплаты.
версионированный архив исходного кода или подписанные образы OCI — по договору
Compose-конфигурация, миграции и .env.example без секретов
инструкции первого запуска, проверки состояния, резервного копирования, восстановления и отката
OpenAPI, TypeScript SDK и примеры интеграции
лицензионное подтверждение, описание версии, перечень компонентов, NOTICE и контрольные суммы
30 дней поддержки запуска и обновлений ядра
Права возникают из лицензии и согласованного заказа. Описание на этой странице помогает оценить комплект, но само по себе не даёт права получить или копировать исходники и не является офертой.
ПРОВЕРИТЬ ДО ЗАЯВКИ
Вся поверхность доступна для честной оценки.
Начните с полной панели, затем сверяйте нужные операции с этой страницей и OpenAPI. Оставьте заявку на техническую консультацию: до начала работ согласуем состав поставки, условия и договор.