Фуражир / технический справочник

Панель, API и поставка — в одной документации.

Проверяемый справочник по функциям панели, публичному API v1, интеграциям, безопасности, развёртыванию и составу поставки.

Сверено с перечнем функций и исходным кодом · 2026-08-09

furazhir.reference.json

01platformincluded

02public_apiv1

03openapi3.1

04deploymentsingle_tenant

05delivery_modelby_contract

source-aligned reference
94
функции панели
54
серверных маршрутов
39
контрактов команд
отдельная установка
01 / СОСТАВ

Что связано в одной поставке.

Интерфейс, серверная логика и фоновые процессы используют единые правила. Каждый покупатель разворачивает отдельную установку на своей инфраструктуре.

01Панель

Рабочее место команды

Каталог, заказы, обращения, отзывы, контент, почта, аналитика, журнал и сессии.

02API

Интеграции

Версионированный /api/v1, OpenAPI 3.1, ключи с ограниченными правами и TypeScript SDK.

03Задачи

Фоновые процессы

Надёжная очередь, повтор доставки, очистка данных и проверки состояния.

04Поставка

Комплект для запуска

Исходный архив или образ, миграции, Compose, инструкции, SDK, перечень компонентов и согласованные документы.

02 / ПОЛНЫЙ ИНВЕНТАРЬ

Найдите функцию.
Проверьте её контракт.

Статус «в поставке» означает, что функция входит в устанавливаемый комплект. Статус демо показывает возможность проверить тот же сценарий на учебных данных; демо не принимает реальные данные и деньги.

94 функций · 54 маршрутов
01

Функции панели

94
01Доступ, навигация и безопасность редактированияВход с TOTP, локализация, темы, адаптивность, состояния загрузки и защита несохранённых изменений.7 функций
  1. ACC-SHL-001

    Навигация панели и сводка проекта

    в поставкев демо
    Назначение
    «Навигация панели и сводка проекта» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Desktop navigation · Mobile drawer · Per-section counts
    Что меняется
    activeSection · sectionSummaries
    Контракт
    GET workspace snapshot
    Как проверить
    • Сценарий «Навигация панели и сводка проекта» принят, когда состояние «activeSection · sectionSummaries» остаётся согласованным после повторного чтения, а контракт «GET workspace snapshot» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-SHL-002

    Тёмная и светлая темы

    в поставкев демо
    Назначение
    «Тёмная и светлая темы» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Theme toggle
    Что меняется
    browser theme preference
    Контракт
    Функция использует общий контракт раздела без отдельной публичной ручки.
    Как проверить
    • Сценарий «Тёмная и светлая темы» принят, когда состояние «browser theme preference» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-SHL-003

    Локализация на шесть языков

    в поставкев демо
    Назначение
    «Локализация на шесть языков» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Locale switcher · Localized dates, numbers and labels
    Что меняется
    locale
    Контракт
    Localized errors and CSV headings
    Как проверить
    • Сценарий «Локализация на шесть языков» принят, когда состояние «locale» остаётся согласованным после повторного чтения, а контракт «Localized errors and CSV headings» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-SHL-004

    Загрузка, обновление и повтор запроса

    в поставкев демо
    Назначение
    «Загрузка, обновление и повтор запроса» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-SHL-005

    Счётчики изменений и защита от потери правок

    в поставкев демо
    Назначение
    «Счётчики изменений и защита от потери правок» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Dirty badges · Save all · Discard dialog · beforeunload guard
    Что меняется
    draft baselines · dirty record ids
    Контракт
    Функция использует общий контракт раздела без отдельной публичной ручки.
    Как проверить
    • Сценарий «Счётчики изменений и защита от потери правок» принят, когда состояние «draft baselines · dirty record ids» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-SHL-006

    Доступ по токену и TOTP

    в поставкев демо
    Назначение
    «Доступ по токену и 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-SHL-007

    Адаптивная и доступная система взаимодействия

    в поставкев демо
    Назначение
    «Адаптивная и доступная система взаимодействия» закрывает самостоятельную операцию в контуре «Доступ, навигация и безопасность редактирования» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Focus trap · Focus restore · Keyboard operation · Accessible confirmations
    Что меняется
    dialog and drawer state
    Контракт
    Функция использует общий контракт раздела без отдельной публичной ручки.
    Как проверить
    • Сценарий «Адаптивная и доступная система взаимодействия» принят, когда состояние «dialog and drawer state» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
02Каталог, SKU и получение заказаШесть рабочих режимов, карточки товаров, варианты, матрица SKU, остатки, категории, атрибуты и CSV.17 функций
  1. ACC-CAT-001

    Шесть режимов работы с каталогом

    в поставкев демо
    Назначение
    «Шесть режимов работы с каталогом» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    operations · simple · card · categories · pickup · filters
    Что меняется
    catalog view
    Контракт
    Функция использует общий контракт раздела без отдельной публичной ручки.
    Как проверить
    • Сценарий «Шесть режимов работы с каталогом» принят, когда состояние «catalog view» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-CAT-002

    Серверные фильтры, фасеты и пагинация каталога

    в поставкев демо
    Назначение
    «Серверные фильтры, фасеты и пагинация каталога» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Search · Status filter · Category filter · Brand filter · Load more
    Что меняется
    catalog cursor · status/category/brand/query filters · facets
    Контракт
    GET /api/admin/catalog/products
    Как проверить
    • Сценарий «Серверные фильтры, фасеты и пагинация каталога» принят, когда состояние «catalog cursor · status/category/brand/query filters · facets» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/catalog/products» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-CAT-003

    Создание, изменение, удаление и статусы товаров

    в поставкев демо
    Назначение
    «Создание, изменение, удаление и статусы товаров» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Create · Edit · Delete · Active/draft/archive
    Что меняется
    products
    Контракт
    catalog.product.create · catalog.product.update · catalog.product.delete · POST/PATCH/DELETE /api/admin/catalog
    Как проверить
    • Сценарий «Создание, изменение, удаление и статусы товаров» принят, когда состояние «products» остаётся согласованным после повторного чтения, а контракт «catalog.product.create · catalog.product.update · catalog.product.delete · POST/PATCH/DELETE /api/admin/catalog» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-CAT-004

    Полные данные товара и мерчандайзинг

    в поставкев демо
    Назначение
    «Полные данные товара и мерчандайзинг» закрывает самостоятельную операцию в контуре «Каталог, 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-CAT-005

    Переводы товаров и каталога

    в поставкев демо
    Назначение
    «Переводы товаров и каталога» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    RU/EN/FR/ZH-CN/DE/ES translation editors
    Что меняется
    product translations · category translations · attribute translations · option translations · filter translations
    Контракт
    catalog.product.update · catalog.category.upsert · catalog.filters.batch-update · Localized catalog projection
    Как проверить
    • Сценарий «Переводы товаров и каталога» принят, когда состояние «product translations · category translations · attribute translations · option translations · filter translations» остаётся согласованным после повторного чтения, а контракт «catalog.product.update · catalog.category.upsert · catalog.filters.batch-update · Localized catalog projection» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-CAT-006

    Изображения товаров и вариантов

    в поставкев демо
    Назначение
    «Изображения товаров и вариантов» закрывает самостоятельную операцию в контуре «Каталог, 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
    Как проверить
    • Сценарий «Изображения товаров и вариантов» принят, когда состояние «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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-CAT-007

    Общие метки товаров и цветовые образцы

    в поставкев демо
    Назначение
    «Общие метки товаров и цветовые образцы» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Shared label picker · Create label · Swatch editor
    Что меняется
    productLabels · product label reference · swatches
    Контракт
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  8. ACC-CAT-008

    Создание, изменение и удаление вариантов SKU

    в поставкев демо
    Назначение
    «Создание, изменение и удаление вариантов SKU» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Add · Duplicate · Remove · Quick edit · Default variant
    Что меняется
    variants · SKU · price · stock · reserved · status
    Контракт
    catalog.variant.create · catalog.variant.update · catalog.variant.delete · catalog.variant.batch-update · PATCH /api/admin/catalog
    Как проверить
    • Сценарий «Создание, изменение и удаление вариантов SKU» принят, когда состояние «variants · SKU · price · stock · reserved · status» остаётся согласованным после повторного чтения, а контракт «catalog.variant.create · catalog.variant.update · catalog.variant.delete · catalog.variant.batch-update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  9. ACC-CAT-009

    Универсальная матрица SKU

    в поставкев демо
    Назначение
    «Универсальная матрица SKU» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Axis selection · Matrix rebuild · Bulk price/stock/status · Matrix paging
    Что меняется
    variant axes · selected option combinations · matrix drafts
    Контракт
    catalog.variant.batch-update · PATCH /api/admin/catalog
    Как проверить
    • Сценарий «Универсальная матрица SKU» принят, когда состояние «variant axes · selected option combinations · matrix drafts» остаётся согласованным после повторного чтения, а контракт «catalog.variant.batch-update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  10. ACC-CAT-010

    Универсальные атрибуты товара

    в поставкев демо
    Назначение
    «Универсальные атрибуты товара» закрывает самостоятельную операцию в контуре «Каталог, 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  11. ACC-CAT-011

    Валидация каталога и готовность к сохранению

    в поставкев демо
    Назначение
    «Валидация каталога и готовность к сохранению» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Inline errors · Readiness summary · Guided empty state
    Что меняется
    validation issues · dirty baselines
    Контракт
    Structured validation errors
    Как проверить
    • Сценарий «Валидация каталога и готовность к сохранению» принят, когда состояние «validation issues · dirty baselines» остаётся согласованным после повторного чтения, а контракт «Structured validation errors» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  12. ACC-CAT-012

    Создание, изменение, удаление и порядок категорий

    в поставкев демо
    Назначение
    «Создание, изменение, удаление и порядок категорий» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Category manager
    Что меняется
    categories · product counts
    Контракт
    catalog.category.upsert · catalog.category.delete · PATCH /api/admin/catalog
    Как проверить
    • Сценарий «Создание, изменение, удаление и порядок категорий» принят, когда состояние «categories · product counts» остаётся согласованным после повторного чтения, а контракт «catalog.category.upsert · catalog.category.delete · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  13. ACC-CAT-013

    Схемы атрибутов категорий и библиотеки опций

    в поставкев демо
    Назначение
    «Схемы атрибутов категорий и библиотеки опций» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Attribute and option schema editor
    Что меняется
    schema revision/status · attribute definitions · attribute options
    Контракт
    catalog.category.upsert · Catalog metadata projection
    Как проверить
    • Сценарий «Схемы атрибутов категорий и библиотеки опций» принят, когда состояние «schema revision/status · attribute definitions · attribute options» остаётся согласованным после повторного чтения, а контракт «catalog.category.upsert · Catalog metadata projection» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  14. ACC-CAT-014

    Настройка фильтров витрины

    в поставкев демо
    Назначение
    «Настройка фильтров витрины» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Filter label/status/order/translation editor
    Что меняется
    filterSettings
    Контракт
    catalog.filters.batch-update · PATCH /api/admin/catalog
    Как проверить
    • Сценарий «Настройка фильтров витрины» принят, когда состояние «filterSettings» остаётся согласованным после повторного чтения, а контракт «catalog.filters.batch-update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  15. ACC-CAT-015

    Пункты выдачи, интервалы и курьерская доставка

    в поставкев демо
    Назначение
    «Пункты выдачи, интервалы и курьерская доставка» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Pickup manager · Time-slot editor · Courier toggle
    Что меняется
    pickupLocations · timeSlots · courierDeliveryEnabled
    Контракт
    catalog.pickup.upsert · catalog.pickup.delete · catalog.fulfillment.update · PATCH /api/admin/catalog
    Как проверить
    • Сценарий «Пункты выдачи, интервалы и курьерская доставка» принят, когда состояние «pickupLocations · timeSlots · courierDeliveryEnabled» остаётся согласованным после повторного чтения, а контракт «catalog.pickup.upsert · catalog.pickup.delete · catalog.fulfillment.update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  16. ACC-CAT-016

    Атомарное пакетное сохранение каталога

    в поставкев демо
    Назначение
    «Атомарное пакетное сохранение каталога» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Save all · Dirty count
    Что меняется
    product and variant draft set
    Контракт
    catalog.product.batch-update · catalog.variant.batch-update · PATCH /api/admin/catalog
    Как проверить
    • Сценарий «Атомарное пакетное сохранение каталога» принят, когда состояние «product and variant draft set» остаётся согласованным после повторного чтения, а контракт «catalog.product.batch-update · catalog.variant.batch-update · PATCH /api/admin/catalog» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  17. ACC-CAT-017

    Серверный экспорт остатков

    в поставкев демо
    Назначение
    «Серверный экспорт остатков» закрывает самостоятельную операцию в контуре «Каталог, SKU и получение заказа» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Stock CSV download
    Что меняется
    products · variants
    Контракт
    POST /api/admin/catalog/export
    Как проверить
    • Сценарий «Серверный экспорт остатков» принят, когда состояние «products · variants» остаётся согласованным после повторного чтения, а контракт «POST /api/admin/catalog/export» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
03Заказы и операционная обработкаСтатусы с учётом резервов, поиск, архив, приоритеты, массовые действия, экспорт и идемпотентное создание.10 функций
  1. ACC-ORD-001

    Активные и архивные заказы

    в поставкев демо
    Назначение
    «Активные и архивные заказы» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Active flow · Archive flow · Restore
    Что меняется
    orders · archivedAt
    Контракт
    order.archive-batch · GET/PATCH /api/admin/operations
    Как проверить
    • Сценарий «Активные и архивные заказы» принят, когда состояние «orders · archivedAt» остаётся согласованным после повторного чтения, а контракт «order.archive-batch · GET/PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-ORD-002

    Серверный поиск, фильтры и cursor-история заказов

    в поставкев демо
    Назначение
    «Серверный поиск, фильтры и 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-ORD-003

    Переходы статусов с учётом остатков

    в поставкев демо
    Назначение
    «Переходы статусов с учётом остатков» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Contextual transition actions
    Что меняется
    new · processing · completed · delivered · cancelled
    Контракт
    order.update · order.batch-update · PATCH /api/admin/operations
    Как проверить
    • Сценарий «Переходы статусов с учётом остатков» принят, когда состояние «new · processing · completed · delivered · cancelled» остаётся согласованным после повторного чтения, а контракт «order.update · order.batch-update · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-ORD-004

    Приоритет, дедлайн и служебные заметки

    в поставкев демо
    Назначение
    «Приоритет, дедлайн и служебные заметки» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Priority · Planned date · Internal note · Customer message · Overdue warning
    Что меняется
    priority normal/urgent/hold · fulfillmentDeadline · adminNote · customerNote
    Контракт
    order.update · PATCH /api/admin/operations
    Как проверить
    • Сценарий «Приоритет, дедлайн и служебные заметки» принят, когда состояние «priority normal/urgent/hold · fulfillmentDeadline · adminNote · customerNote» остаётся согласованным после повторного чтения, а контракт «order.update · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-ORD-005

    Полные данные клиента и получения заказа

    в поставкев демо
    Назначение
    «Полные данные клиента и получения заказа» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Order detail card
    Что меняется
    customer email/profile notes/contact method/messenger · delivery/pickup/address details/time slot/comment/payment
    Контракт
    GET /api/admin/operations
    Как проверить
    • Сценарий «Полные данные клиента и получения заказа» принят, когда состояние «customer email/profile notes/contact method/messenger · delivery/pickup/address details/time slot/comment/payment» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-ORD-006

    Позиции заказа и неизменяемые снимки атрибутов

    в поставкев демо
    Назначение
    «Позиции заказа и неизменяемые снимки атрибутов» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Line-item list
    Что меняется
    order items · variant id · quantity · price · attribute snapshots
    Контракт
    Order response
    Как проверить
    • Сценарий «Позиции заказа и неизменяемые снимки атрибутов» принят, когда состояние «order items · variant id · quantity · price · attribute snapshots» остаётся согласованным после повторного чтения, а контракт «Order response» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-ORD-007

    Сводка заказа и индикаторы риска

    в поставкев демо
    Назначение
    «Сводка заказа и индикаторы риска» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Command statistics · Urgent and overdue highlights
    Что меняется
    status/priority/deadline counts · visible revenue
    Контракт
    Функция использует общий контракт раздела без отдельной публичной ручки.
    Как проверить
    • Сценарий «Сводка заказа и индикаторы риска» принят, когда состояние «status/priority/deadline counts · visible revenue» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  8. ACC-ORD-008

    Массовые операции с заказами

    в поставкев демо
    Назначение
    «Массовые операции с заказами» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Select shown · Limit 500 · Bulk status/archive/restore · Confirmation dialog
    Что меняется
    selected order ids
    Контракт
    order.batch-update · order.archive-batch · PATCH /api/admin/operations
    Как проверить
    • Сценарий «Массовые операции с заказами» принят, когда состояние «selected order ids» остаётся согласованным после повторного чтения, а контракт «order.batch-update · order.archive-batch · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  9. ACC-ORD-009

    Экспорт заказов с серверными фильтрами

    в поставкев демо
    Назначение
    «Экспорт заказов с серверными фильтрами» закрывает самостоятельную операцию в контуре «Заказы и операционная обработка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    CSV export
    Что меняется
    current order filters
    Контракт
    POST /api/admin/operations/export
    Как проверить
    • Сценарий «Экспорт заказов с серверными фильтрами» принят, когда состояние «current order filters» остаётся согласованным после повторного чтения, а контракт «POST /api/admin/operations/export» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  10. ACC-ORD-010

    Идемпотентное создание заказа и резервирование через 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 функций
  1. 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-COM-002

    Записи обращений клиентов

    в поставкев демо
    Назначение
    «Записи обращений клиентов» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Feedback list and detail
    Что меняется
    name · email · contact · contact method · messenger · message · source · customer key
    Контракт
    contact.update · GET/PATCH /api/admin/operations
    Как проверить
    • Сценарий «Записи обращений клиентов» принят, когда состояние «name · email · contact · contact method · messenger · message · source · customer key» остаётся согласованным после повторного чтения, а контракт «contact.update · GET/PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-COM-003

    Поиск, фильтры и постраничная история контактов

    в поставкев демо
    Назначение
    «Поиск, фильтры и постраничная история контактов» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-COM-004

    Одиночные и массовые статусы контактов

    в поставкев демо
    Назначение
    «Одиночные и массовые статусы контактов» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Select shown · Take in work · Return to new · Archive/unsubscribe
    Что меняется
    selected contact ids · contact status
    Контракт
    contact.update · contact.batch-update · PATCH /api/admin/operations
    Как проверить
    • Сценарий «Одиночные и массовые статусы контактов» принят, когда состояние «selected contact ids · contact status» остаётся согласованным после повторного чтения, а контракт «contact.update · contact.batch-update · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-COM-005

    CSV подтверждённых подписчиков и обращений

    в поставкев демо
    Назначение
    «CSV подтверждённых подписчиков и обращений» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Export confirmed · Export feedback
    Что меняется
    current contact filters
    Контракт
    POST /api/admin/operations/export
    Как проверить
    • Сценарий «CSV подтверждённых подписчиков и обращений» принят, когда состояние «current contact filters» остаётся согласованным после повторного чтения, а контракт «POST /api/admin/operations/export» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-COM-006

    Идемпотентный ответ на обращение

    в поставкев демо
    Назначение
    «Идемпотентный ответ на обращение» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-COM-007

    Подтверждение подписки и последствия отписки

    в поставкев демо
    Назначение
    «Подтверждение подписки и последствия отписки» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Lifecycle metadata · Sandbox confirmation action
    Что меняется
    confirmation expiry · confirmedAt · unsubscribedAt
    Контракт
    POST /api/demo/newsletter · POST /api/demo/newsletter/one-click
    Как проверить
    • Сценарий «Подтверждение подписки и последствия отписки» принят, когда состояние «confirmation expiry · confirmedAt · unsubscribedAt» остаётся согласованным после повторного чтения, а контракт «POST /api/demo/newsletter · POST /api/demo/newsletter/one-click» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  8. ACC-COM-008

    Надёжная очередь доставки ответов

    в поставкев демо
    Назначение
    «Надёжная очередь доставки ответов» закрывает самостоятельную операцию в контуре «Подписки и обращения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Outbox history
    Что меняется
    pending/sent/failed/skipped · attempt count · next attempt · error · sentAt
    Контракт
    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 функций
  1. 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-REV-002

    Поиск, статусы и постраничная история отзывов

    в поставкев демо
    Назначение
    «Поиск, статусы и постраничная история отзывов» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-REV-003

    Создание, редактирование и удаление отзывов

    в поставкев демо
    Назначение
    «Создание, редактирование и удаление отзывов» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Create mode · Moderation editor · Delete confirmation
    Что меняется
    full review record
    Контракт
    review.create · review.update · review.delete · POST/PATCH/DELETE /api/admin/operations
    Как проверить
    • Сценарий «Создание, редактирование и удаление отзывов» принят, когда состояние «full review record» остаётся согласованным после повторного чтения, а контракт «review.create · review.update · review.delete · POST/PATCH/DELETE /api/admin/operations» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-REV-004

    Привязка товара из выполненного заказа

    в поставкев демо
    Назначение
    «Привязка товара из выполненного заказа» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Order source and product selectors
    Что меняется
    delivered product targets · orderId · productId · productName
    Контракт
    review.create · review.update · Operations snapshot
    Как проверить
    • Сценарий «Привязка товара из выполненного заказа» принят, когда состояние «delivered product targets · orderId · productId · productName» остаётся согласованным после повторного чтения, а контракт «review.create · review.update · Operations snapshot» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-REV-005

    Изображение и предпросмотр отзыва

    в поставкев демо
    Назначение
    «Изображение и предпросмотр отзыва» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Image URL · Upload · Alt text · Preview
    Что меняется
    imageSrc · imageAlt · upload ownership
    Контракт
    upload.create · upload.delete · review.update · POST/GET/DELETE /api/admin/uploads
    Как проверить
    • Сценарий «Изображение и предпросмотр отзыва» принят, когда состояние «imageSrc · imageAlt · upload ownership» остаётся согласованным после повторного чтения, а контракт «upload.create · upload.delete · review.update · POST/GET/DELETE /api/admin/uploads» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-REV-006

    Готовность и сводные метрики отзывов

    в поставкев демо
    Назначение
    «Готовность и сводные метрики отзывов» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Readiness pills · Character count · Summary cards
    Что меняется
    quality result · status/type/photo/rating counts
    Контракт
    Функция использует общий контракт раздела без отдельной публичной ручки.
    Как проверить
    • Сценарий «Готовность и сводные метрики отзывов» принят, когда состояние «quality result · status/type/photo/rating counts» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-REV-007

    Модерация и массовые действия

    в поставкев демо
    Назначение
    «Модерация и массовые действия» закрывает самостоятельную операцию в контуре «Отзывы и модерация» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Publish · Hide · Select shown · Save all
    Что меняется
    selected review ids · review drafts
    Контракт
    review.update · review.batch-update · PATCH /api/admin/operations
    Как проверить
    • Сценарий «Модерация и массовые действия» принят, когда состояние «selected review ids · review drafts» остаётся согласованным после повторного чтения, а контракт «review.update · review.batch-update · PATCH /api/admin/operations» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
06Контент и маркетинговые размещенияСтруктурированные тексты, блоки, призывы к действию, медиа, пакетное сохранение и выдача только опубликованного.8 функций
  1. ACC-CNT-001

    Публичные группы и области контента

    в поставкев демо
    Назначение
    «Публичные группы и области контента» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Content group navigation
    Что меняется
    home · marketing · catalog · product · cart · footer · legal · consent
    Контракт
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-CNT-002

    Поиск и фильтры контента

    в поставкев демо
    Назначение
    «Поиск и фильтры контента» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Search · Group/scope · Status · Reset
    Что меняется
    query · scope · status
    Контракт
    GET /api/admin/content
    Как проверить
    • Сценарий «Поиск и фильтры контента» принят, когда состояние «query · scope · status» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/content» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-CNT-003

    Создание, изменение, удаление и порядок текстовых записей

    в поставкев демо
    Назначение
    «Создание, изменение, удаление и порядок текстовых записей» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Composer · Inline editor · Advanced ID · Delete
    Что меняется
    id · scope · title · body · status · position
    Контракт
    content.entry.create · content.entry.update · content.entry.delete · POST/PATCH/DELETE /api/admin/content
    Как проверить
    • Сценарий «Создание, изменение, удаление и порядок текстовых записей» принят, когда состояние «id · scope · title · body · status · position» остаётся согласованным после повторного чтения, а контракт «content.entry.create · content.entry.update · content.entry.delete · POST/PATCH/DELETE /api/admin/content» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-CNT-004

    Атомарное сохранение текстов и обзор изменений

    в поставкев демо
    Назначение
    «Атомарное сохранение текстов и обзор изменений» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Dirty count · Save texts · Content quality overview
    Что меняется
    content drafts and baselines · quality overview
    Контракт
    content.entry.batch-update · PATCH /api/admin/content
    Как проверить
    • Сценарий «Атомарное сохранение текстов и обзор изменений» принят, когда состояние «content drafts and baselines · quality overview» остаётся согласованным после повторного чтения, а контракт «content.entry.batch-update · PATCH /api/admin/content» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-CNT-005

    Создание, изменение и удаление блоков страницы

    в поставкев демо
    Назначение
    «Создание, изменение и удаление блоков страницы» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Marketing editor · Delete · Placement preview
    Что меняется
    marketingBlocks
    Контракт
    marketing.block.create · marketing.block.update · marketing.block.delete · POST/PATCH/DELETE /api/admin/content
    Как проверить
    • Сценарий «Создание, изменение и удаление блоков страницы» принят, когда состояние «marketingBlocks» остаётся согласованным после повторного чтения, а контракт «marketing.block.create · marketing.block.update · marketing.block.delete · POST/PATCH/DELETE /api/admin/content» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-CNT-006

    Размещение, вариант, макет и CTA блока

    в поставкев демо
    Назначение
    «Размещение, вариант, макет и CTA блока» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Complete marketing editor
    Что меняется
    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
    Как проверить
    • Сценарий «Размещение, вариант, макет и 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-CNT-007

    Пакетное сохранение и загрузка медиа

    в поставкев демо
    Назначение
    «Пакетное сохранение и загрузка медиа» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Save marketing · Upload and preview
    Что меняется
    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
    Как проверить
    • Сценарий «Пакетное сохранение и загрузка медиа» принят, когда состояние «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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  8. ACC-CNT-008

    Публичная выдача только опубликованного контента

    в поставкев демо
    Назначение
    «Публичная выдача только опубликованного контента» закрывает самостоятельную операцию в контуре «Контент и маркетинговые размещения» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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 функций
  1. 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-EML-002

    Безопасная проверка транспорта

    в поставкев демо
    Назначение
    «Безопасная проверка транспорта» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-EML-003

    Поиск аудитории среди подписчиков и клиентов

    в поставкев демо
    Назначение
    «Поиск аудитории среди подписчиков и клиентов» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Audience switch · Search · Pagination
    Что меняется
    audience · recipient search · recipient page
    Контракт
    GET /api/admin/email-campaigns
    Как проверить
    • Сценарий «Поиск аудитории среди подписчиков и клиентов» принят, когда состояние «audience · recipient search · recipient page» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/email-campaigns» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-EML-004

    Кампания по выбранным или всем получателям

    в поставкев демо
    Назначение
    «Кампания по выбранным или всем получателям» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-EML-005

    Полный редактор кампании

    в поставкев демо
    Назначение
    «Полный редактор кампании» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Composer fields · CTA toggle · Image toggle/upload
    Что меняется
    subject · preheader · title · body · CTA · image
    Контракт
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-EML-006

    Серверный предпросмотр письма

    в поставкев демо
    Назначение
    «Серверный предпросмотр письма» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Desktop/mobile preview · Placeholder and readiness state
    Что меняется
    preview html/text · sendReady · placeholder fields · draft fingerprint
    Контракт
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-EML-007

    Явное подтверждение аудитории

    в поставкев демо
    Назначение
    «Явное подтверждение аудитории» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Confirmation checkbox and recipient count
    Что меняется
    confirmed draft fingerprint
    Контракт
    Функция использует общий контракт раздела без отдельной публичной ручки.
    Как проверить
    • Сценарий «Явное подтверждение аудитории» принят, когда состояние «confirmed draft fingerprint» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  8. ACC-EML-008

    Идемпотентная постановка кампании в очередь

    в поставкев демо
    Назначение
    «Идемпотентная постановка кампании в очередь» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  9. ACC-EML-009

    Монитор подготовки кампании

    в поставкев демо
    Назначение
    «Монитор подготовки кампании» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Recent campaign cards · Refresh and auto-refresh · Run/retry sandbox queue
    Что меняется
    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
    Как проверить
    • Сценарий «Монитор подготовки кампании» принят, когда состояние «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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  10. ACC-EML-010

    История доставки и отображение повторных попыток

    в поставкев демо
    Назначение
    «История доставки и отображение повторных попыток» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Cursor-paginated delivery history
    Что меняется
    kind/recipient/subject/status/error/attempt/max/next/sent timestamps
    Контракт
    GET /api/admin/operations/history?resource=emailOutbox
    Как проверить
    • Сценарий «История доставки и отображение повторных попыток» принят, когда состояние «kind/recipient/subject/status/error/attempt/max/next/sent timestamps» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations/history?resource=emailOutbox» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  11. ACC-EML-011

    Исключение отписавшихся и работа фоновых задач

    в поставкев демо
    Назначение
    «Исключение отписавшихся и работа фоновых задач» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Sandbox preparation timeline
    Что меняется
    audience snapshot · unsubscribe status · per-campaign delivery counters · retry schedule
    Контракт
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  12. ACC-EML-012

    Загрузка изображения кампании

    в поставкев демо
    Назначение
    «Загрузка изображения кампании» закрывает самостоятельную операцию в контуре «Почтовые кампании и доставка» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Upload · URL · Alt text · Preview
    Что меняется
    campaign image upload reference
    Контракт
    upload.create · upload.delete · POST/DELETE /api/admin/uploads
    Как проверить
    • Сценарий «Загрузка изображения кампании» принят, когда состояние «campaign image upload reference» остаётся согласованным после повторного чтения, а контракт «upload.create · upload.delete · POST/DELETE /api/admin/uploads» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
08Продажи и складская аналитикаМетрики и динамика продаж, остатки, коммерческие разрезы, показатели готовности и выгрузки.7 функций
  1. ACC-ANA-001

    Переключение фокуса продаж и склада

    в поставкев демо
    Назначение
    «Переключение фокуса продаж и склада» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Sales/stock switch
    Что меняется
    analytics focus
    Контракт
    Функция использует общий контракт раздела без отдельной публичной ручки.
    Как проверить
    • Сценарий «Переключение фокуса продаж и склада» принят, когда состояние «analytics focus» остаётся согласованным после повторного чтения, а интерфейс не расходится с серверным snapshot.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-ANA-002

    Целостность производной аналитики

    в поставкев демо
    Назначение
    «Целостность производной аналитики» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Live metrics
    Что меняется
    orders/products/content/reviews/subscriptions
    Контракт
    Workspace snapshot
    Как проверить
    • Сценарий «Целостность производной аналитики» принят, когда состояние «orders/products/content/reviews/subscriptions» остаётся согласованным после повторного чтения, а контракт «Workspace snapshot» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-ANA-003

    Полный набор метрик продаж

    в поставкев демо
    Назначение
    «Полный набор метрик продаж» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-ANA-004

    Динамика продаж и коммерческие разрезы

    в поставкев демо
    Назначение
    «Динамика продаж и коммерческие разрезы» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-ANA-005

    Полный набор складских метрик

    в поставкев демо
    Назначение
    «Полный набор складских метрик» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-ANA-006

    Разрезы склада, контента, отзывов и подписок

    в поставкев демо
    Назначение
    «Разрезы склада, контента, отзывов и подписок» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-ANA-007

    Экспорт продаж, динамики и остатков

    в поставкев демо
    Назначение
    «Экспорт продаж, динамики и остатков» закрывает самостоятельную операцию в контуре «Продажи и складская аналитика» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Export orders analytics · Export dynamics · Export stock
    Что меняется
    analytics snapshot
    Контракт
    POST catalog export for stock
    Как проверить
    • Сценарий «Экспорт продаж, динамики и остатков» принят, когда состояние «analytics snapshot» остаётся согласованным после повторного чтения, а контракт «POST catalog export for stock» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
09Журнал действий и административные сессииТипизированный журнал изменений, фильтры, постраничная выдача, отзыв сессий, защита от конфликтов и лимиты.8 функций
  1. ACC-AUD-001

    Типизированное событие аудита для каждой мутации

    в поставкев демо
    Назначение
    «Типизированное событие аудита для каждой мутации» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Audit event list
    Что меняется
    action · entityType · entityId · actor · createdAt
    Контракт
    Operations snapshot/history
    Как проверить
    • Сценарий «Типизированное событие аудита для каждой мутации» принят, когда состояние «action · entityType · entityId · actor · createdAt» остаётся согласованным после повторного чтения, а контракт «Operations snapshot/history» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-AUD-002

    Структурированная ограниченная запись журнала

    в поставкев демо
    Назначение
    «Структурированная ограниченная запись журнала» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Localized payload detail
    Что меняется
    bounded before/after/domain metadata
    Контракт
    Audit history
    Как проверить
    • Сценарий «Структурированная ограниченная запись журнала» принят, когда состояние «bounded before/after/domain metadata» остаётся согласованным после повторного чтения, а контракт «Audit history» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-AUD-003

    Поиск и фильтр по сущностям журнала

    в поставкев демо
    Назначение
    «Поиск и фильтр по сущностям журнала» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Search · Object filter · Reset
    Что меняется
    query · entity type
    Контракт
    GET /api/admin/operations/history?resource=auditEvents
    Как проверить
    • Сценарий «Поиск и фильтр по сущностям журнала» принят, когда состояние «query · entity type» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/operations/history?resource=auditEvents» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-AUD-004

    Сводка журнала и постраничная выдача

    в поставкев демо
    Назначение
    «Сводка журнала и постраничная выдача» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-AUD-005

    Список административных сессий

    в поставкев демо
    Назначение
    «Список административных сессий» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Device labels · Current/active badges · Retry
    Что меняется
    session id/current/actor/IP/user agent/created/seen/expires
    Контракт
    GET /api/admin/sessions
    Как проверить
    • Сценарий «Список административных сессий» принят, когда состояние «session id/current/actor/IP/user agent/created/seen/expires» остаётся согласованным после повторного чтения, а контракт «GET /api/admin/sessions» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-AUD-006

    Отзыв других или всех административных сессий

    в поставкев демо
    Назначение
    «Отзыв других или всех административных сессий» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Revoke others · Revoke all · Danger confirmation
    Что меняется
    active/revoked session state · independent HttpOnly access marker
    Контракт
    session.revoke · PATCH /api/admin/sessions · POST/DELETE /api/admin/session
    Как проверить
    • Сценарий «Отзыв других или всех административных сессий» принят, когда состояние «active/revoked session state · independent HttpOnly access marker» остаётся согласованным после повторного чтения, а контракт «session.revoke · PATCH /api/admin/sessions · POST/DELETE /api/admin/session» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-AUD-007

    Защита от конфликтов и восстановление после них

    в поставкев демо
    Назначение
    «Защита от конфликтов и восстановление после них» закрывает самостоятельную операцию в контуре «Журнал действий и административные сессии» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  8. ACC-AUD-008

    Контроль origin, payload, частоты и ёмкости

    в поставкев демо
    Назначение
    «Контроль 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 функций
  1. 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  2. ACC-API-002

    Временные API-ключи с ограниченными правами

    в поставкев демо
    Назначение
    «Временные 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  3. ACC-API-003

    Точный список CORS и предварительная проверка

    в поставкев демо
    Назначение
    «Точный список CORS и предварительная проверка» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    CORS example
    Что меняется
    demo CORS allow-list
    Контракт
    OPTIONS and protected v1 responses
    Как проверить
    • Сценарий «Точный список CORS и предварительная проверка» принят, когда состояние «demo CORS allow-list» остаётся согласованным после повторного чтения, а контракт «OPTIONS and protected v1 responses» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  4. ACC-API-004

    Контракт выборки публичного каталога

    в поставкев демо
    Назначение
    «Контракт выборки публичного каталога» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    Editable API Lab query
    Что меняется
    category · repeated brand · search · price min/max · availability · sort · page · attr.*
    Контракт
    GET /api/demo/v1/catalog
    Как проверить
    • Сценарий «Контракт выборки публичного каталога» принят, когда состояние «category · repeated brand · search · price min/max · availability · sort · page · attr.*» остаётся согласованным после повторного чтения, а контракт «GET /api/demo/v1/catalog» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  5. ACC-API-005

    Контракт публичного контента

    в поставкев демо
    Назначение
    «Контракт публичного контента» закрывает самостоятельную операцию в контуре «Публичный 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=» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  6. ACC-API-006

    Контракт публичного поиска

    в поставкев демо
    Назначение
    «Контракт публичного поиска» закрывает самостоятельную операцию в контуре «Публичный 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=» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  7. ACC-API-007

    Идемпотентный публичный контракт заказа

    в поставкев демо
    Назначение
    «Идемпотентный публичный контракт заказа» закрывает самостоятельную операцию в контуре «Публичный 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  8. ACC-API-008

    Единые ошибки, идентификатор запроса и ограничения частоты

    в поставкев демо
    Назначение
    «Единые ошибки, идентификатор запроса и ограничения частоты» закрывает самостоятельную операцию в контуре «Публичный API v1 и примеры запросов» и сохраняет единые правила между интерфейсом, сервером и аудитом.
    Интерфейс
    API Lab response metadata
    Что меняется
    rate bucket
    Контракт
    error envelope · X-Request-Id · X-API-Key-Id · X-RateLimit-* · Retry-After
    Как проверить
    • Сценарий «Единые ошибки, идентификатор запроса и ограничения частоты» принят, когда состояние «rate bucket» остаётся согласованным после повторного чтения, а контракт «error envelope · X-Request-Id · X-API-Key-Id · X-RateLimit-* · Retry-After» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  9. ACC-API-009

    Примеры API с реальными сетевыми запросами

    в поставкев демо
    Назначение
    «Примеры 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
  10. ACC-API-010

    Примеры TypeScript SDK без внешних зависимостей

    в поставкев демо
    Назначение
    «Примеры 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» не создаёт частичной или дублирующей мутации.
    Граница демо
    Опубликованное демо работает только с учебными данными отдельного пространства, применяет серверные ограничения и не использует рабочие ключи или реальные внешние действия.
    Открыть практический разбор в учебнике
02

Все серверные маршруты

54

Рабочие методы перечислены ниже. OPTIONS и обработчики отказа 405 в инвентарь не включены.

01Стабильный API v1Версионированный внешний договор: ключ API, ограниченные права, OpenAPI и SDK.7 маршрутов
  • GET/api/v1Обнаружение версии, аутентификации и ресурсов API.
    Назначение
    Обнаружение версии, аутентификации и ресурсов API.
    Доступ и scope
    Публичная операция: API-ключ и scope не требуются.
    Параметры и body
    • Параметры и тело запроса не объявлены.
    Успешный ответ
    200 · Обнаружение версии, аутентификации и ресурсов API.
    Ошибки
    Для операции OpenAPI не объявляет отдельные error responses.
    Важная граница
    Стабильный внешний контракт. Точные параметры, ответы и ошибки зафиксированы в OpenAPI 3.1 и раскрыты ниже в разделе API.
    Открыть подробный разбор в учебнике
  • GET/api/v1/healthМинимальная проверка процесса без внутренних деталей.
    Назначение
    Минимальная проверка процесса без внутренних деталей.
    Доступ и scope
    Публичная операция: API-ключ и scope не требуются.
    Параметры и body
    • Параметры и тело запроса не объявлены.
    Успешный ответ
    200 · Минимальная проверка процесса без внутренних деталей.
    Ошибки
    Для операции OpenAPI не объявляет отдельные error responses.
    Важная граница
    Стабильный внешний контракт. Точные параметры, ответы и ошибки зафиксированы в OpenAPI 3.1 и раскрыты ниже в разделе API.
    Открыть подробный разбор в учебнике
  • GET/api/v1/openapi.jsonМашиночитаемая схема OpenAPI 3.1.
    Назначение
    Машиночитаемая схема OpenAPI 3.1.
    Доступ и scope
    Публичная операция: API-ключ и scope не требуются.
    Параметры и body
    • Параметры и тело запроса не объявлены.
    Успешный ответ
    200 · Машиночитаемая схема OpenAPI 3.1.
    Ошибки
    Для операции OpenAPI не объявляет отдельные error responses.
    Важная граница
    Стабильный внешний контракт. Точные параметры, ответы и ошибки зафиксированы в OpenAPI 3.1 и раскрыты ниже в разделе API.
    Открыть подробный разбор в учебнике
  • GET/api/v1/catalogПубличный каталог с фильтрами, сортировкой и пагинацией.
    Назначение
    Публичный каталог с фильтрами, сортировкой и пагинацией.
    Доступ и scope
    Серверная интеграция передаёт Authorization: Bearer <key> или X-API-Key с минимальным scope catalog:read.
    Параметры и body
    • category · query · string · опционально
    • brand · query · string[] · опционально
    • search · query · string · maxLength 120 · опционально
    • priceMin · query · number · min 0 · опционально
    • priceMax · query · number · min 0 · опционально
    • available · query · "0" | "1" · опционально
    • sort · query · "featured" | "price-asc" | "price-desc" | "name" · опционально
    • page · query · integer · min 1 · max 1000 · опционально
    Успешный ответ
    200 · Публичный каталог с фильтрами, сортировкой и пагинацией.
    Ошибки
    400 · 401 · 403 · 405 · 413 · 415 · 429 · 500 · 503. Ошибки возвращают единый envelope с code, message и requestId; rate-limit ответы сопровождаются X-RateLimit-* headers.
    Важная граница
    Стабильный внешний контракт. Точные параметры, ответы и ошибки зафиксированы в OpenAPI 3.1 и раскрыты ниже в разделе API.
    Открыть подробный разбор в учебнике
  • GET/api/v1/contentТолько опубликованные записи выбранного раздела.
    Назначение
    Только опубликованные записи выбранного раздела.
    Доступ и scope
    Серверная интеграция передаёт Authorization: Bearer <key> или X-API-Key с минимальным scope content:read.
    Параметры и body
    • scope · query · string · minLength 1 · maxLength 80 · опционально
    Успешный ответ
    200 · Только опубликованные записи выбранного раздела.
    Ошибки
    400 · 401 · 403 · 405 · 413 · 415 · 429 · 500 · 503. Ошибки возвращают единый envelope с code, message и requestId; rate-limit ответы сопровождаются X-RateLimit-* headers.
    Важная граница
    Стабильный внешний контракт. Точные параметры, ответы и ошибки зафиксированы в OpenAPI 3.1 и раскрыты ниже в разделе API.
    Открыть подробный разбор в учебнике
  • POST/api/v1/ordersИдемпотентное создание заказа с резервированием.
    Назначение
    Идемпотентное создание заказа с резервированием.
    Доступ и scope
    Серверная интеграция передаёт Authorization: Bearer <key> или X-API-Key с минимальным scope orders:write.
    Параметры и body
    • Idempotency-Key · header · string · minLength 32 · maxLength 128 · обязательно
    • JSON body · OrderInput · обязательно
    Успешный ответ
    200 / 201 · Идемпотентное создание заказа с резервированием.
    Ошибки
    400 · 401 · 403 · 405 · 413 · 415 · 429 · 500 · 503. Ошибки возвращают единый envelope с code, message и requestId; rate-limit ответы сопровождаются X-RateLimit-* headers.
    Важная граница
    Стабильный внешний контракт. Точные параметры, ответы и ошибки зафиксированы в OpenAPI 3.1 и раскрыты ниже в разделе API.
    Открыть подробный разбор в учебнике
02Витрина и покупательские сценарииСерверная поверхность готовой витрины; включается и адаптируется под проект.14 маршрутов
  • GET/api/catalogПубличная проекция каталога.
    Назначение
    Публичная проекция каталога.
    Доступ и scope
    Серверная поверхность готовой витрины; включается и адаптируется под проект.
    Параметры и body
    • Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
    Успешный ответ
    Публичная проекция каталога. Точный status/body определяется обработчиком текущего релиза.
    Ошибки
    Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • POST/api/catalog/productsПакетная выборка товаров.
    Назначение
    Пакетная выборка товаров.
    Доступ и scope
    Серверная поверхность готовой витрины; включается и адаптируется под проект.
    Параметры и 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 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • POST/api/contactСоздание обращения.
    Назначение
    Создание обращения.
    Доступ и scope
    Серверная поверхность готовой витрины; включается и адаптируется под проект.
    Параметры и body
    • Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
    Успешный ответ
    Создание обращения. Точный status/body определяется обработчиком текущего релиза.
    Ошибки
    Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • GET/api/contentПубличный контент.
    Назначение
    Публичный контент.
    Доступ и scope
    Серверная поверхность готовой витрины; включается и адаптируется под проект.
    Параметры и body
    • Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
    Успешный ответ
    Публичный контент. Точный status/body определяется обработчиком текущего релиза.
    Ошибки
    Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • GET/api/localeТекущая локаль интерфейса.
    Назначение
    Текущая локаль интерфейса.
    Доступ и scope
    Серверная поверхность готовой витрины; включается и адаптируется под проект.
    Параметры и 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 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • POST/api/newsletter/one-clickОднокликовая отписка.
    Назначение
    Однокликовая отписка.
    Доступ и scope
    Серверная поверхность готовой витрины; включается и адаптируется под проект.
    Параметры и 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 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • GET/api/uploads/products/:fileВыдача разрешённого медиа товара.
    Назначение
    Выдача разрешённого медиа товара.
    Доступ и scope
    Серверная поверхность готовой витрины; включается и адаптируется под проект.
    Параметры и body
    • Path-параметры из маршрута: file. Остальная схема остаётся внутренним контрактом обработчика.
    Успешный ответ
    Выдача разрешённого медиа товара. Точный status/body определяется обработчиком текущего релиза.
    Ошибки
    Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
03Кабинет покупателяCookie-сессия покупателя, CSRF/origin-защита и проектная OAuth-интеграция.7 маршрутов
  • POST/api/account/feedbackОбращение авторизованного покупателя.
    Назначение
    Обращение авторизованного покупателя.
    Доступ и scope
    Cookie-сессия покупателя, CSRF/origin-защита и проектная OAuth-интеграция.
    Параметры и body
    • Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
    Успешный ответ
    Обращение авторизованного покупателя. Точный status/body определяется обработчиком текущего релиза.
    Ошибки
    Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • PATCH/api/account/profileОбновление профиля.
    Назначение
    Обновление профиля.
    Доступ и scope
    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 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • GET/api/account/yandex/callbackOAuth callback Yandex ID.
    Назначение
    OAuth callback Yandex ID.
    Доступ и scope
    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 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • GET/api/admin/catalog/products/:productIdПолная карточка товара.
    Назначение
    Полная карточка товара.
    Доступ и scope
    Не внешний 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 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • POST/api/admin/email-diagnosticsБезопасная диагностика email-транспорта.
    Назначение
    Безопасная диагностика email-транспорта.
    Доступ и scope
    Не внешний 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 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • POST/api/admin/operations/exportСерверные CSV-выгрузки операций.
    Назначение
    Серверные CSV-выгрузки операций.
    Доступ и scope
    Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
    Параметры и body
    • Path-параметров нет. Query/body остаются внутренним контрактом обработчика и не входят в стабильный OpenAPI v1.
    Успешный ответ
    Серверные CSV-выгрузки операций. Точный status/body определяется обработчиком текущего релиза.
    Ошибки
    Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • GET/api/admin/operations/historyCursor-история операционных сущностей.
    Назначение
    Cursor-история операционных сущностей.
    Доступ и scope
    Не внешний 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 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • GET/api/admin/payments/:paymentIdКарточка платежа.
    Назначение
    Карточка платежа.
    Доступ и scope
    Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
    Параметры и body
    • Path-параметры из маршрута: paymentId. Остальная схема остаётся внутренним контрактом обработчика.
    Успешный ответ
    Карточка платежа. Точный status/body определяется обработчиком текущего релиза.
    Ошибки
    Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • POST/api/admin/payments/:paymentId/cancelИдемпотентная отмена платежа.
    Назначение
    Идемпотентная отмена платежа.
    Доступ и scope
    Не внешний API: требует административную сессию и может меняться вместе с интерфейсом панели.
    Параметры и body
    • Path-параметры из маршрута: paymentId. Остальная схема остаётся внутренним контрактом обработчика.
    Успешный ответ
    Идемпотентная отмена платежа. Точный status/body определяется обработчиком текущего релиза.
    Ошибки
    Статусы отказа и error body могут эволюционировать вместе с этой внутренней поверхностью; внешний клиент должен использовать /api/v1 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
  • POST/api/admin/payments/:paymentId/captureПодтверждение двухстадийного платежа.
    Назначение
    Подтверждение двухстадийного платежа.
    Доступ и scope
    Не внешний 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 или отдельный адаптер.
    Важная граница
    Инвентарь подтверждает существование пути и методов, но намеренно не превращает внутреннюю ручку в обещание внешней совместимости.
    Открыть подробный разбор в учебнике
03 / PUBLIC 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, но не для хранения секретов.
Production
/api/v1
Demo
/api/demo/v1
Лимит
Пример запроса
curl --fail-with-body https://api.example.com/api/v1
Форма ответа
{
  "name": "foundry-public-api",
  "version": "v1",
  "openapi": "/api/v1/openapi.json",
  "authentication": { "headers": ["Authorization", "X-API-Key"] },
  "resources": { "catalog": { "method": "GET", "path": "/api/v1/catalog" } }
}
Открыть подробный разбор в учебнике
GET/api/v1/healthpublicМинимальная проверка процесса без внутренних деталей./api/demo/v1/health
Назначение
Минимальная проверка процесса без внутренних деталей.
Доступ и scope
Публичная операция: API-ключ и scope не требуются.
Параметры и body
  • Параметры и тело запроса не объявлены.
Успешный ответ
200 · Минимальная проверка процесса без внутренних деталей.
Ошибки
Для операции OpenAPI не объявляет отдельные error responses.
Важная граница
Эта операция подтверждает работу процесса, но не проверяет базу и конфигурацию. Для рабочего балансировщика используйте отдельную проверку готовности.
Production
/api/v1/health
Demo
/api/demo/v1/health
Лимит
Пример запроса
curl --fail-with-body https://api.example.com/api/v1/health
Форма ответа
{
  "status": "ok",
  "service": "foundry-public-api",
  "version": "v1",
  "timestamp": "2026-08-09T12:00:00.000Z"
}
Открыть подробный разбор в учебнике
GET/api/v1/openapi.jsonpublicМашиночитаемая схема OpenAPI 3.1./api/demo/v1/openapi.json
Назначение
Машиночитаемая схема OpenAPI 3.1.
Доступ и scope
Публичная операция: API-ключ и scope не требуются.
Параметры и body
  • Параметры и тело запроса не объявлены.
Успешный ответ
200 · Машиночитаемая схема OpenAPI 3.1.
Ошибки
Для операции OpenAPI не объявляет отдельные error responses.
Важная граница
Схема является машиночитаемым контрактом API v1; генерируемые клиенты нужно фиксировать к версии релиза.
Production
/api/v1/openapi.json
Demo
/api/demo/v1/openapi.json
Лимит
Пример запроса
curl --fail-with-body https://api.example.com/api/v1/openapi.json > furazhir.openapi.json
Форма ответа
{
  "openapi": "3.1.0",
  "info": { "title": "Фуражир Public API", "version": "v1" },
  "paths": { "/api/v1/catalog": {}, "/api/v1/orders": {} }
}
Открыть подробный разбор в учебнике
GET/api/v1/catalogcatalog:read600 / minПубличный каталог с фильтрами, сортировкой и пагинацией./api/demo/v1/catalog
Назначение
Публичный каталог с фильтрами, сортировкой и пагинацией.
Доступ и scope
Серверная интеграция передаёт Authorization: Bearer <key> или X-API-Key с минимальным scope catalog:read.
Параметры и body
  • category · query · string · опционально
  • brand · query · string[] · опционально
  • search · query · string · maxLength 120 · опционально
  • priceMin · query · number · min 0 · опционально
  • priceMax · query · number · min 0 · опционально
  • available · query · "0" | "1" · опционально
  • sort · query · "featured" | "price-asc" | "price-desc" | "name" · опционально
  • page · query · integer · min 1 · max 1000 · опционально
Успешный ответ
200 · Публичный каталог с фильтрами, сортировкой и пагинацией.
Ошибки
400 · 401 · 403 · 405 · 413 · 415 · 429 · 500 · 503. Ошибки возвращают единый envelope с code, message и requestId; rate-limit ответы сопровождаются X-RateLimit-* headers.
Важная граница
Повторяемые brand и attr.<code> параметры кодируют фасеты; available принимает 0 или 1.
Production
/api/v1/catalog
Demo
/api/demo/v1/catalog
Лимит
600 / min
Пример запроса
curl --fail-with-body \
  -H "Authorization: Bearer $FOUNDRY_API_KEY" \
  "https://api.example.com/api/v1/catalog?available=1&sort=featured&page=1"
Форма ответа
{
  "catalog": {
    "sections": [],
    "brands": [],
    "attributeFacets": [],
    "matchedProducts": 0,
    "totalProducts": 0
  }
}
Открыть подробный разбор в учебнике
GET/api/v1/contentcontent:read600 / minТолько опубликованные записи выбранного раздела./api/demo/v1/content
Назначение
Только опубликованные записи выбранного раздела.
Доступ и scope
Серверная интеграция передаёт Authorization: Bearer <key> или X-API-Key с минимальным scope content:read.
Параметры и body
  • scope · query · string · minLength 1 · maxLength 80 · опционально
Успешный ответ
200 · Только опубликованные записи выбранного раздела.
Ошибки
400 · 401 · 403 · 405 · 413 · 415 · 429 · 500 · 503. Ошибки возвращают единый envelope с code, message и requestId; rate-limit ответы сопровождаются X-RateLimit-* headers.
Важная граница
Ответ содержит только опубликованную версию. Черновики не должны появляться даже при прямом запросе раздела.
Production
/api/v1/content
Demo
/api/demo/v1/content
Лимит
600 / min
Пример запроса
curl --fail-with-body \
  -H "Authorization: Bearer $FOUNDRY_API_KEY" \
  "https://api.example.com/api/v1/content?scope=storefront"
Форма ответа
{
  "entries": [
    { "id": "hero", "scope": "storefront", "title": "…", "body": "…", "position": 1 }
  ]
}
Открыть подробный разбор в учебнике
POST/api/v1/ordersorders:write60 / 15 minИдемпотентное создание заказа с резервированием./api/demo/v1/orders
Назначение
Идемпотентное создание заказа с резервированием.
Доступ и scope
Серверная интеграция передаёт Authorization: Bearer <key> или X-API-Key с минимальным scope orders:write.
Параметры и body
  • Idempotency-Key · header · string · minLength 32 · maxLength 128 · обязательно
  • JSON body · OrderInput · обязательно
Успешный ответ
200 / 201 · Идемпотентное создание заказа с резервированием.
Ошибки
400 · 401 · 403 · 405 · 413 · 415 · 429 · 500 · 503. Ошибки возвращают единый envelope с code, message и requestId; rate-limit ответы сопровождаются X-RateLimit-* headers.
Важная граница
Новый заказ возвращает 201, повтор той же операции с тем же ключом — 200. Новый логический заказ всегда получает новый ключ.
Production
/api/v1/orders
Demo
/api/demo/v1/orders
Лимит
60 / 15 min
Пример запроса
curl --fail-with-body -X POST \
  -H "Authorization: Bearer $FOUNDRY_API_KEY" \
  -H "Idempotency-Key: 01JEXAMPLEORDER000000000000000001" \
  -H "Content-Type: application/json" \
  --data '{"customerName":"Ada Lovelace","customerEmail":"ada@example.com","customerContact":"+10000000000","deliveryId":"pickup","pickupLocationId":"pickup-main","paymentId":"card","termsAccepted":true,"itemCount":1,"totalValue":12000,"items":[{"productId":"boots-1","productName":"Winter boots","quantity":1,"priceValue":12000}]}' \
  https://api.example.com/api/v1/orders
Форма ответа
{
  "order": {
    "id": "order-…",
    "status": "new",
    "itemCount": 1,
    "totalValue": 12000
  }
}
Открыть подробный разбор в учебнике

Аутентификация и ответы

  • Authorization: Bearer <key> или X-API-Key; закрытый ключ нельзя встраивать в открытый код страницы.
  • Права: catalog:read, content:read, search:read и orders:write.
  • Ошибки имеют единую форму, X-Request-Id и заголовки ограничения частоты; перенаправление запросов с ключом запрещено.
  • POST /api/v1/orders требует Idempotency-Key длиной 32–128 символов.

Практический запрос

Рабочая установка использует /api/v1. Демо повторяет тот же договор под /api/demo/v1 и отделяет данные запросов через X-Demo-Workspace.

OpenAPI 3.1
curl · каталог
curl --fail-with-body \
  -H "Authorization: Bearer $FOUNDRY_API_KEY" \
  "https://api.example.com/api/v1/catalog?available=1&sort=featured&page=1"
TypeScript SDK · заказ
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

Коммерческие расширения

Доступно в демо — можно проверить на учебных данных без внешней доставки. Дополнительное расширение входит в проект только после согласования.

  • EXT-CRM-001отдельное расширение

    Customer 360 и mini-CRM

    customers · segments · owner · LTV/MRR · timeline · notes · tags

  • EXT-RBAC-001отдельное расширение

    Команда, роли и права

    users · roles · permissions · invites

  • EXT-APIKEY-001доступно в демо

    API-ключи с областями доступа

    one-time secret · token hint · scopes · environment · last used · revocation

  • EXT-WEBHOOK-001доступно в демо

    Веб‑перехватчики и интеграции

    subscriptions · signing hint · status · sandbox delivery attempts

  • EXT-AUTOMATION-001доступно в демо

    Правила автоматизации

    triggers · actions · status · bounded run log

  • EXT-ENVHEALTH-001доступно в демо

    Окружения и состояние сервисов

    environments · regions · versions · service status · latency

  • EXT-PAYMENTS-001доступно в демо

    Демо платёжных операций ЮKassa

    payment transaction · capture mode · refunds · configurable estimated commission · audit lifecycle

  • EXT-WHITELABEL-001отдельное расширение

    Настройка под бренд клиента

    logo · palette · typography · domain · email theme

  • EXT-SLA-001отдельное расширение

    SLA и очередь задач

    assignee · priority · due date · breach · comments

  • EXT-IMPORT-001отдельное расширение

    Задания импорта CSV

    mapping · validation · preview · job history · rollback

  • EXT-VIEWS-001отдельное расширение

    Сохранённые представления и пользовательские поля

    view filters · columns · custom field definitions/values

  • EXT-PROCUREMENT-001отдельное расширение

    Закупки и планирование запасов

    suppliers · purchase orders · reorder points · forecast

05 / РАЗВЁРТЫВАНИЕ

Разворачивается
в вашем контуре.

Базовая модель — отдельная установка для одного клиента. Сайт, миграции и фоновые задачи выполняют разные роли; PostgreSQL остаётся источником истины.

  1. 01

    Первый запуск

    Создаёт локальные секреты, ключ администратора, TOTP и ключ API; существующая конфигурация не перезаписывается без предупреждения.

  2. 02

    Миграции

    Отдельный одноразовый процесс применяет неизменяемые миграции PostgreSQL до запуска приложения.

  3. 03

    Работа

    Сайт обслуживает панель и API, а выделенный процесс выполняет фоновые задачи и повторы доставки.

  4. 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. Оставьте заявку на техническую консультацию: до начала работ согласуем состав поставки, условия и договор.

Открыть демо-панельОбсудить проект