Типы каналов
Object Server поддерживает 4 типа каналов. Каналы могут принадлежать серверу (serverId) или существовать независимо (standalone).
Обзор
CHAT — Чат
Классический чат. Все участники с правом SEND_MESSAGES могут писать сообщения.
UI-режимы (chatMode)
BUBBLE — линейный поток сообщений как в Telegram
THREAD — сообщения с ветками обсуждений как в Slack
Треды (режим THREAD)
Сообщение без
parentMessageId— корневоеСообщение с
parentMessageId— ответ в тредеВложенные треды не поддерживаются (нельзя ответить на ответ)
В режиме BUBBLE поле
parentMessageIdне принимается
API
Сообщения:
GET/POST /channels/{channelId}/messagesОтветы в треде:
GET /messages/{messageId}/replies
Подробнее: Сообщения
CHANNEL — Канал
Канал для публикации контента. Посты создают только пользователи с правом MANAGE_CHANNELS (администраторы). Комментировать могут все участники с SEND_MESSAGES.
UI-режимы (channelDisplayMode)
CARD — посты как карточки с превью (VK-стиль)
FEED — посты последовательно (Telegram-стиль)
Разница исключительно визуальная на клиенте.
Комментарии
Включаются/отключаются полем commentsEnabled (по умолчанию true).
API
Посты:
GET/POST /channels/{channelId}/postsКомментарии:
GET/POST /posts/{postId}/comments
Подробнее: Посты и комментарии
FORUM — Форум
Канал для структурированных обсуждений. Все участники с SEND_MESSAGES могут создавать посты. Администратор может задать шаблон формы.
Обязательный заголовок
Посты в FORUM требуют поле title.
Шаблон формы (formTemplate)
JSON-строка с описанием полей. Задаётся при создании или обновлении канала.
{ "fields": [ { "name": "bug_type", "label": "Тип бага", "type": "SELECT", "required": true, "options": ["UI", "Backend", "Crash", "Performance"] }, { "name": "steps", "label": "Шаги воспроизведения", "type": "TEXTAREA", "required": true, "placeholder": "1. Открыть...\n2. Нажать..." }, { "name": "priority", "label": "Приоритет", "type": "SELECT", "required": false, "options": ["Low", "Medium", "High", "Critical"] } ] }
Типы полей: TEXT, TEXTAREA, SELECT, NUMBER, DATE, CHECKBOX
При создании поста обязательные поля шаблона валидируются. Данные передаются в formData как JSON {fieldName: value}.
Статусы и теги
Посты в FORUM имеют статус (OPEN, CLOSED, RESOLVED) и теги для фильтрации.
API
Аналогично CHANNEL. Подробнее: Посты и комментарии
VOICE — Голосовой канал
Канал для голосового/видео общения через WebRTC SFU. Доступен только как серверный канал (не standalone).
Подробнее: Голосовые каналы
Standalone vs серверные каналы
API standalone-каналов
GET /channels — публичные standalone-каналы GET /channels/me — мои каналы POST /channels — создать GET /channels/{id} — получить POST /channels/{id}/join POST /channels/{id}/leave
Подробнее: Каналы