ВозможностиОрганизации
Документация
    Ring Platform

    Децентрализованное самостроящееся будущее

    Войти
    Организации
    Возможности
    Магазин
    Документация
    Концепции платформы
    RING ЭкономикаSonoratek LLCГлобальное влияниеAI встречает Web3
    Начать
    Быстрый стартКалькуляторДорожная карта
    Конфиденциальность|Контакты
    v1.104.26|Sonoratek LLC

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    WalletConductor
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    AI Matcher
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Быстрый старт — ваш первый клон Ring
    Руководство по кастомизации
    Vertical Presets (SSOT)
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Интеграция платёжного шлюза
    Референсные деплои Ring
    Конфигурация проекта
    Публичные переменные окружения
    Секреты Order Lab
    Project ID WalletConnect (Reown Cloud)
    Поддерживаемые сервисы
    Вики NODUS (знания проекта)
    Плейбук конфигурации
    Web3
    Token launch jurisdictions
    Кошелёк
    Советы по безопасности кошелька
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Развёртывание на собственном сервере
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    Архитектура PaymentConductor
    Wallet Conductor
    Архитектура News Kingdom
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server
    OSS и enterprise

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    WalletConductor
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    AI Matcher
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Быстрый старт — ваш первый клон Ring
    Руководство по кастомизации
    Vertical Presets (SSOT)
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Интеграция платёжного шлюза
    Референсные деплои Ring
    Конфигурация проекта
    Публичные переменные окружения
    Секреты Order Lab
    Project ID WalletConnect (Reown Cloud)
    Поддерживаемые сервисы
    Вики NODUS (знания проекта)
    Плейбук конфигурации
    Web3
    Token launch jurisdictions
    Кошелёк
    Советы по безопасности кошелька
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Развёртывание на собственном сервере
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    Архитектура PaymentConductor
    Wallet Conductor
    Архитектура News Kingdom
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server
    OSS и enterprise

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    WalletConductor
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    AI Matcher
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Быстрый старт — ваш первый клон Ring
    Руководство по кастомизации
    Vertical Presets (SSOT)
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Интеграция платёжного шлюза
    Референсные деплои Ring
    Конфигурация проекта
    Публичные переменные окружения
    Секреты Order Lab
    Project ID WalletConnect (Reown Cloud)
    Поддерживаемые сервисы
    Вики NODUS (знания проекта)
    Плейбук конфигурации
    Web3
    Token launch jurisdictions
    Кошелёк
    Советы по безопасности кошелька
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Развёртывание на собственном сервере
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    Архитектура PaymentConductor
    Wallet Conductor
    Архитектура News Kingdom
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server
    OSS и enterprise

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)
    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content


    title: Analytics API description: First-party аналитика Ring — ингест и админ-чтение: app-события, device telemetry, Web Vitals, захват ошибок и platform stats через проверенные маршруты /api/analytics last_modified: "2026-09-06" audience: both

    Analytics API

    Используйте вкладки Founder / Developer в боковой панели, чтобы отфильтровать эту страницу. Поверхности админ-консоли потребляют эти маршруты; сторонние провайдеры — опциональные env-хуки.

    Ring поставляет first-party аналитический пайплайн: клиентская телеметрия ингестируется через /api/analytics/*, валидируется Zod на границе маршрута, сохраняется в analytics_events / web_vitals / analytics_errors и читается обратно админ-scoped GET-маршрутами. Хранение можно полностью отключить на среду — тогда каждый маршрут подтверждает без записи.

    Previous (GA-only setup)Ring equivalent
    Third-party SDK only, data leaves your cloneFirst-party ингест в вашу собственную базу
    One opaque dashboardАдмин-scoped чтение + platform stats с role gates
    No device/session contextБатчи sessionId, device telemetry с tunnel fan-out
    Web Vitals left unmeasuredИнгест Core Web Vitals + вычисленный performanceScore

    Поверхность маршрутов

    EndpointMethodAuthPurpose
    /api/analytics/appPOSToptional userIdБатчированные app-события → analytics_events
    /api/analytics/devicePOSTsession requiredDevice telemetry → device_telemetry + fan-out в user tunnel
    /api/analytics/navigationPOST—Лёгкий acknowledgement stub (без хранения)
    /api/analytics/errorsPOSToptional userIdЗахват клиентских ошибок → analytics_errors (отложенная запись)
    /api/analytics/errors

    Почему это важно для вашего клона

    • Ваши данные остаются на вашем Ring. Ингест пишет в вашу базу; ничего не уходит третьей стороне, пока вы сами не включите env-хуки GA/Mixpanel/Amplitude.
    • Статистика админ-консоли — platform counts и сводки Web Vitals закрыты role gate на platform admin.
    • Kill switch — ANALYTICS_DISABLE_STORAGE=true отключает persistence без изменений кода; endpoints продолжают отвечать.
    • Телеметрия docs и personal-page — platform summary также агрегирует docs 404 и визиты personal-page (getPlatformAnalytics).

    Опциональные сторонние хуки (только env)

    VariableProvider
    GA_TRACKING_ID / GA4_MEASUREMENT_PROTOCOL_SECRETGoogle Analytics
    MIXPANEL_TOKENMixpanel
    AMPLITUDE_API_KEYAmplitude
    SENTRY_DSNSentry error tracking

    Контракт ингеста

    Все записи неблокирующие: валидация синхронна, затем persistence в Next.js after(), так что ответ клиенту никогда не задерживается. Схема батча (проверено в features/analytics/lib/analytics-db.ts):

    Невалидные payload возвращают 400 с первой Zod-проблемой. Батчи свыше 50 событий отклоняются, а не тихо обрезаются.

    Куда пишет каждый маршрут

    RouteValidation moduleStorage
    appappAnalyticsBatchSchemaanalytics_events
    devicedeviceTelemetryBodySchema (device-telemetry-db.ts)device telemetry + publishToUserTunnel через telemetryChannelForDomain
    errorsanalyticsErrorPayloadSchemaanalytics_errors (userId обогащается внутри after())

    Конфигурация

    VariableDefaultEffect
    ANALYTICS_DISABLE_STORAGEunset"true" подтверждает события без записи в базу

    Связанная документация

    Related documentation

    Admin API

    Next-step: админ-scoped API-маршруты и RBAC-паттерны после ингеста аналитики.

    Performance Optimization Patterns

    Same-workflow: телеметрия Web Vitals питает страницы performance.

    Data Validation

    Deep-dive: Zod-охранники границы маршрута, которые использует каждый ингест-маршрут.

    1. Документация
    2. /API-интерфейс
    3. /Analytics

    4 мин прослушивания


    title: Analytics API description: First-party аналитика Ring — ингест и админ-чтение: app-события, device telemetry, Web Vitals, захват ошибок и platform stats через проверенные маршруты /api/analytics last_modified: "2026-09-06" audience: both

    Analytics API

    Используйте вкладки Founder / Developer в боковой панели, чтобы отфильтровать эту страницу. Поверхности админ-консоли потребляют эти маршруты; сторонние провайдеры — опциональные env-хуки.

    Ring поставляет first-party аналитический пайплайн: клиентская телеметрия ингестируется через /api/analytics/*, валидируется Zod на границе маршрута, сохраняется в analytics_events / web_vitals / analytics_errors и читается обратно админ-scoped GET-маршрутами. Хранение можно полностью отключить на среду — тогда каждый маршрут подтверждает без записи.

    Previous (GA-only setup)Ring equivalent
    Third-party SDK only, data leaves your cloneFirst-party ингест в вашу собственную базу
    One opaque dashboardАдмин-scoped чтение + platform stats с role gates
    No device/session contextБатчи sessionId, device telemetry с tunnel fan-out
    Web Vitals left unmeasuredИнгест Core Web Vitals + вычисленный performanceScore

    Поверхность маршрутов

    EndpointMethodAuthPurpose
    /api/analytics/appPOSToptional userIdБатчированные app-события → analytics_events
    /api/analytics/devicePOSTsession requiredDevice telemetry → device_telemetry + fan-out в user tunnel
    /api/analytics/navigationPOST—Лёгкий acknowledgement stub (без хранения)
    /api/analytics/errorsPOSToptional userIdЗахват клиентских ошибок → analytics_errors (отложенная запись)
    /api/analytics/errors

    Почему это важно для вашего клона

    • Ваши данные остаются на вашем Ring. Ингест пишет в вашу базу; ничего не уходит третьей стороне, пока вы сами не включите env-хуки GA/Mixpanel/Amplitude.
    • Статистика админ-консоли — platform counts и сводки Web Vitals закрыты role gate на platform admin.
    • Kill switch — ANALYTICS_DISABLE_STORAGE=true отключает persistence без изменений кода; endpoints продолжают отвечать.
    • Телеметрия docs и personal-page — platform summary также агрегирует docs 404 и визиты personal-page (getPlatformAnalytics).

    Опциональные сторонние хуки (только env)

    VariableProvider
    GA_TRACKING_ID / GA4_MEASUREMENT_PROTOCOL_SECRETGoogle Analytics
    MIXPANEL_TOKENMixpanel
    AMPLITUDE_API_KEYAmplitude
    SENTRY_DSNSentry error tracking

    Контракт ингеста

    Все записи неблокирующие: валидация синхронна, затем persistence в Next.js after(), так что ответ клиенту никогда не задерживается. Схема батча (проверено в features/analytics/lib/analytics-db.ts):

    Невалидные payload возвращают 400 с первой Zod-проблемой. Батчи свыше 50 событий отклоняются, а не тихо обрезаются.

    Куда пишет каждый маршрут

    RouteValidation moduleStorage
    appappAnalyticsBatchSchemaanalytics_events
    devicedeviceTelemetryBodySchema (device-telemetry-db.ts)device telemetry + publishToUserTunnel через telemetryChannelForDomain
    errorsanalyticsErrorPayloadSchemaanalytics_errors (userId обогащается внутри after())

    Конфигурация

    VariableDefaultEffect
    ANALYTICS_DISABLE_STORAGEunset"true" подтверждает события без записи в базу

    Связанная документация

    Related documentation

    Admin API

    Next-step: админ-scoped API-маршруты и RBAC-паттерны после ингеста аналитики.

    Performance Optimization Patterns

    Same-workflow: телеметрия Web Vitals питает страницы performance.

    Data Validation

    Deep-dive: Zod-охранники границы маршрута, которые использует каждый ингест-маршрут.

    1. Документация
    2. /API-интерфейс
    3. /Analytics

    4 мин прослушивания


    title: Analytics API description: First-party аналитика Ring — ингест и админ-чтение: app-события, device telemetry, Web Vitals, захват ошибок и platform stats через проверенные маршруты /api/analytics last_modified: "2026-09-06" audience: both

    Analytics API

    Используйте вкладки Founder / Developer в боковой панели, чтобы отфильтровать эту страницу. Поверхности админ-консоли потребляют эти маршруты; сторонние провайдеры — опциональные env-хуки.

    Ring поставляет first-party аналитический пайплайн: клиентская телеметрия ингестируется через /api/analytics/*, валидируется Zod на границе маршрута, сохраняется в analytics_events / web_vitals / analytics_errors и читается обратно админ-scoped GET-маршрутами. Хранение можно полностью отключить на среду — тогда каждый маршрут подтверждает без записи.

    Previous (GA-only setup)Ring equivalent
    Third-party SDK only, data leaves your cloneFirst-party ингест в вашу собственную базу
    One opaque dashboardАдмин-scoped чтение + platform stats с role gates
    No device/session contextБатчи sessionId, device telemetry с tunnel fan-out
    Web Vitals left unmeasuredИнгест Core Web Vitals + вычисленный performanceScore

    Поверхность маршрутов

    EndpointMethodAuthPurpose
    /api/analytics/appPOSToptional userIdБатчированные app-события → analytics_events
    /api/analytics/devicePOSTsession requiredDevice telemetry → device_telemetry + fan-out в user tunnel
    /api/analytics/navigationPOST—Лёгкий acknowledgement stub (без хранения)
    /api/analytics/errorsPOSToptional userIdЗахват клиентских ошибок → analytics_errors (отложенная запись)
    /api/analytics/errors

    Почему это важно для вашего клона

    • Ваши данные остаются на вашем Ring. Ингест пишет в вашу базу; ничего не уходит третьей стороне, пока вы сами не включите env-хуки GA/Mixpanel/Amplitude.
    • Статистика админ-консоли — platform counts и сводки Web Vitals закрыты role gate на platform admin.
    • Kill switch — ANALYTICS_DISABLE_STORAGE=true отключает persistence без изменений кода; endpoints продолжают отвечать.
    • Телеметрия docs и personal-page — platform summary также агрегирует docs 404 и визиты personal-page (getPlatformAnalytics).

    Опциональные сторонние хуки (только env)

    VariableProvider
    GA_TRACKING_ID / GA4_MEASUREMENT_PROTOCOL_SECRETGoogle Analytics
    MIXPANEL_TOKENMixpanel
    AMPLITUDE_API_KEYAmplitude
    SENTRY_DSNSentry error tracking

    Контракт ингеста

    Все записи неблокирующие: валидация синхронна, затем persistence в Next.js after(), так что ответ клиенту никогда не задерживается. Схема батча (проверено в features/analytics/lib/analytics-db.ts):

    Невалидные payload возвращают 400 с первой Zod-проблемой. Батчи свыше 50 событий отклоняются, а не тихо обрезаются.

    Куда пишет каждый маршрут

    RouteValidation moduleStorage
    appappAnalyticsBatchSchemaanalytics_events
    devicedeviceTelemetryBodySchema (device-telemetry-db.ts)device telemetry + publishToUserTunnel через telemetryChannelForDomain
    errorsanalyticsErrorPayloadSchemaanalytics_errors (userId обогащается внутри after())

    Конфигурация

    VariableDefaultEffect
    ANALYTICS_DISABLE_STORAGEunset"true" подтверждает события без записи в базу

    Связанная документация

    Related documentation

    Admin API

    Next-step: админ-scoped API-маршруты и RBAC-паттерны после ингеста аналитики.

    Performance Optimization Patterns

    Same-workflow: телеметрия Web Vitals питает страницы performance.

    Data Validation

    Deep-dive: Zod-охранники границы маршрута, которые использует каждый ингест-маршрут.

    1. Документация
    2. /API-интерфейс
    3. /Analytics

    4 мин прослушивания

    GET
    platform admin
    Список ошибок с фильтрами severity/component
    /api/analytics/web-vitalsPOSToptional userIdCore Web Vitals + performanceScore → web_vitals (отложенная запись)
    /api/analytics/web-vitalsGETplatform adminСводка scope=platform или per-user; timeframe 24h / 7d / 30d
    /api/analytics/platform-statsGETplatform adminЖивые подсчёты для users, entities, opportunities
    DD_API_KEY / DD_APP_KEY
    Datadog

    Ни один не обязателен — собственный пайплайн Ring работает без них.

    web-vitals
    webVitalsInputSchema + calculatePerformanceScore
    web_vitals с обнаруженными platform/browser
    navigationnone (stub)ничего — возвращает { ok: true }

    Админ-чтение

    • GET /api/analytics/platform-stats — гейт isPlatformAdmin(session.user.role); параллельные countDocs над users / entities / opportunities.
    • GET /api/analytics/web-vitals?scope=platform&timeframe=30d — platform summary через getPlatformAnalyticsSummary; без scope — per-user метрики.
    • Aggregation SSOT: features/analytics/services/get-platform-analytics.ts (core summary + docs not-found + personal-page stats).
    GET
    platform admin
    Список ошибок с фильтрами severity/component
    /api/analytics/web-vitalsPOSToptional userIdCore Web Vitals + performanceScore → web_vitals (отложенная запись)
    /api/analytics/web-vitalsGETplatform adminСводка scope=platform или per-user; timeframe 24h / 7d / 30d
    /api/analytics/platform-statsGETplatform adminЖивые подсчёты для users, entities, opportunities
    DD_API_KEY / DD_APP_KEY
    Datadog

    Ни один не обязателен — собственный пайплайн Ring работает без них.

    web-vitals
    webVitalsInputSchema + calculatePerformanceScore
    web_vitals с обнаруженными platform/browser
    navigationnone (stub)ничего — возвращает { ok: true }

    Админ-чтение

    • GET /api/analytics/platform-stats — гейт isPlatformAdmin(session.user.role); параллельные countDocs над users / entities / opportunities.
    • GET /api/analytics/web-vitals?scope=platform&timeframe=30d — platform summary через getPlatformAnalyticsSummary; без scope — per-user метрики.
    • Aggregation SSOT: features/analytics/services/get-platform-analytics.ts (core summary + docs not-found + personal-page stats).
    GET
    platform admin
    Список ошибок с фильтрами severity/component
    /api/analytics/web-vitalsPOSToptional userIdCore Web Vitals + performanceScore → web_vitals (отложенная запись)
    /api/analytics/web-vitalsGETplatform adminСводка scope=platform или per-user; timeframe 24h / 7d / 30d
    /api/analytics/platform-statsGETplatform adminЖивые подсчёты для users, entities, opportunities
    DD_API_KEY / DD_APP_KEY
    Datadog

    Ни один не обязателен — собственный пайплайн Ring работает без них.

    web-vitals
    webVitalsInputSchema + calculatePerformanceScore
    web_vitals с обнаруженными platform/browser
    navigationnone (stub)ничего — возвращает { ok: true }

    Админ-чтение

    • GET /api/analytics/platform-stats — гейт isPlatformAdmin(session.user.role); параллельные countDocs над users / entities / opportunities.
    • GET /api/analytics/web-vitals?scope=platform&timeframe=30d — platform summary через getPlatformAnalyticsSummary; без scope — per-user метрики.
    • Aggregation SSOT: features/analytics/services/get-platform-analytics.ts (core summary + docs not-found + personal-page stats).