§1.Обзор
API платформы НевелГрад — HTTP/JSON-интерфейс к сервисам форума, файлов, почты и задач. Все адреса относительны базового URL; защищённые конечные точки требуют JWT-токен.
§2.Сводка
- Конечных точек
- 16
- Категорий
- 3
- Публичных
- 7
- Требуют токен
- 9
§3.Конечные точки
Почта 5
/api/Mail/link_tasksПривязка задач к письму
Маркировка письма определяется привязанными задачами
dto*
{MailLinkTaskDto}body—
Схема не описана — метод возвращает IActionResult
/api/Mail/spamСпам-лист
Отправители, чьи письма переносятся в папку «Спам»
Параметры не требуются
array<MailSpamRuleDto>items= []
[MailSpamRuleDto]Массив элементов MailSpamRuleDto/api/Mail/spam/addОтправить в спам
Отправитель попадает в чёрный список; его письма уходят в «Спам»
dto*
{MailSpamAddDto}body—MailSpamAddResultDtorule
{MailSpamRuleDto}Созданное (или уже существовавшее) правило.movedMessages
intСколько уже полученных писем перенесено в «Спам»./api/Mail/sync/{accountId}Синхронизация почты
Загружает новые письма через IMAP
accountId*
ulidroute—MailSyncResultDtonewMessages
intСколько новых писем загружено за проход.error
stringТекст ошибки, если синхронизация не удалась. Пусто — проход завершился без ошибок./api/Mail/threadsСписок тредов почты
Возвращает треды с фильтрами по области, папкам, меткам
filter*
{MailThreadFilterDto}body—PaginationResultList<MailThreadDto>items
[MailThreadDto]Элементы текущей страницы.totalCount
intОбщее число элементов по фильтру, без учёта разбиения на страницы.Файлы 6
/Files/update-descriptionОбновление описания файла
Позволяет изменить описание файла
dto*
{FileDescriptionUpdateDto}body—
Схема не описана — метод возвращает IActionResult
/Files/{id}Получение файла
Возвращает файл по его ID с возможностью получения превью
id*
ulidroute—download= false
boolquery—width= null
intquery—height= null
intquery—savePreview= true
boolquery—
Схема не описана — метод возвращает IActionResult
/Files/{id}Удаление файла
Удаляет файл по его ID и возвращает статус успеха, производиться автором или человеком с ролью
id*
ulidroute—
Схема не описана — метод возвращает IActionResult
/файлы/update-descriptionОбновление описания файла
Позволяет изменить описание файла
dto*
{FileDescriptionUpdateDto}body—
Схема не описана — метод возвращает IActionResult
/файлы/{id}Получение файла
Возвращает файл по его ID с возможностью получения превью
id*
ulidroute—download= false
boolquery—width= null
intquery—height= null
intquery—savePreview= true
boolquery—
Схема не описана — метод возвращает IActionResult
/файлы/{id}Удаление файла
Удаляет файл по его ID и возвращает статус успеха, производиться автором или человеком с ролью
id*
ulidroute—
Схема не описана — метод возвращает IActionResult
Форум 5
/api/Forum/categoryidИнформация о категории
предоставляет доступную информацию о категории
categoryid*
ulidbody—CategoryDtoid
ulidИдентификатор категорииname
stringНаименование категорииdescription
stringОписание категорииforumName
stringНаименование форума-владельца (для карточек категорий всех форумов)forumId
ulidИдентификатор привязанного форума - если нету, категория свободнаяparentId
ulidРодительская категория или объектchildren
[CategoryDto]Дочерние категорииtopicCount
intКоличество статей/тем в категорииcommentCount
intКоличесво комментариев всех тем в категорииlastActivity
{LastActivityDto}Последняя активность - показывает последнего пользователя и времяtopics
[TopicDto]Список статей категорииtags
[TagDto]Список тегов для категорииcoverId
ulidСвязь по FileId. Основная картинка категорииimageUrl
stringUrl ссылка из значения CoverIdsortOrder
intПриоритет сортировка, где 1 - высший, а 2 ниже/api/Forum/forumidИнформация о форуме
предоставляет доступную информацию о форуме
forumid*
ulidbody—ForumDtoid
ulidидентификатор форумаname
stringОсновное наименование форумаdescription
stringОписание форумаlayout
stringСтиль форума по CSS типуcategories
[CategoryDto]Список категорий форума (может быть ограничен в рамках запроса)coverId
ulidId файла основного изображенияbackgroundId
ulidId файла изображения задникаimageUrl
stringUrl ссылка из значения CoverIdbackgroundUrl
stringUrl ссылка из значения BackgroundIdtags
[TagDto]Принадлежащие форуму тегиtabs
[ForumTabDto]Список вкладок форума/api/Forum/searchПоиск по форуму
Поиск по заголовкам статей и категорий у конкретного форума
request*
{PaginationDTO}body—PaginationResultList<SearchResultDto>items
[SearchResultDto]Элементы текущей страницы.totalCount
intОбщее число элементов по фильтру, без учёта разбиения на страницы./api/Forum/topicidИнформация о статье/теме
предоставляет доступную информацию о статье/теме
tpopicid*
ulidbody—TopicDtoid
ulidИдентификатор темы.title
stringЗаголовок темы.content
stringТекст первого сообщения темы.commentCount
intЧисло комментариев в теме.createdAt
datetimeДата создания темы.updatedAt
datetimeДата последнего изменения; пусто — тема не редактировалась.userId
stringИдентификатор автора темы.user
{UserDto}Автор темы: имя, аватар, роли.categoryId
ulidКатегория, в которой создана тема.forumId
ulidВспомогательное поле, указатель форумаcomments
[CommentDto]Комментарии темы; заполняются в карточке темы.tags
[TagDto]Теги, привязанные к теме.coverUrl
stringОсновная картинка/api/ForumLasts/topics_randomСлучайные статьи
Предоставляет случайные статьи для конкретного форума с целью показа различных статей в пределах конкретного форума
indexObject
ulidquery—pageCount= 10
intquery—PaginationResultList<TopicDto>items
[TopicDto]Элементы текущей страницы.totalCount
intОбщее число элементов по фильтру, без учёта разбиения на страницы.