НЕВЕЛГРАД / ДОКУМЕНТАЦИЯ
[v1.0]
↩ ВЫХОД
[СПРАВОЧНИК API]

API ДОКУМЕНТАЦИЯ

КОНЕЧНЫЕ ТОЧКИ • ИНТЕГРАЦИЯ • ПЛАТФОРМА НЕВЕЛГРАД

Версия: 1.0
|
Дата:
|
Статус: АВТО-ГЕНЕРАЦИЯ
|
Язык: RU
УВЕДОМЛЕНИЕ Статус документации

Документация формируется автоматически на основе контроллеров. Проверяйте актуальность параметров и маршрутов перед интеграцией.

◎ ОБЗОР API Базовая информация

Базовый URL: https://xn--80addfbb6bm6a.xn--p1ai/[EndPoint]
Формат ответов: JSON
Аутентификация: Authorization: Bearer <your_token>

§1.Обзор API

API платформы НевелГрад предоставляет программный доступ к функционалу системы.

Базовый URL

https://xn--80addfbb6bm6a.xn--p1ai/[EndPoint]

Формат ответов

API возвращает данные в формате JSON.

§2.Аутентификация

Для доступа к защищенным конечным точкам необходимо предоставить JWT-токен в заголовке запроса:

Authorization: Bearer <your_token>

§3.Файлы

POST Обновление описания файла

Позволяет изменить описание файла

POST
files/update-description | файлы/update-description

📥 Параметры запроса

Поле Тип Описание Обяз.
dtobody {FileDescriptionUpdateDto} Да

🔗 Пример запроса

JSON
https://xn--80addfbb6bm6a.xn--p1ai/files/update-description | файлы/update-description

📝 Тело запроса

JSON
{
"fileId": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
},
"description": "example"
}

GETPOST Получение файла

Возвращает файл по его ID с возможностью получения превью

GET
POST
files/{id} | файлы/{id}

📥 Параметры запроса

Поле Тип Описание Обяз.
idbody {Ulid} Нет
downloadquery bool falseНет
widthquery int nullНет
heightquery int nullНет
savePreviewquery bool trueНет

🔗 Пример запроса

JSON
https://xn--80addfbb6bm6a.xn--p1ai/files/{id} | файлы/{id}?download=false&width=value&height=value&savePreview=true

DELETE Удаление файла

Удаляет файл по его ID и возвращает статус успеха, производиться автором или человеком с ролью

DELETE
files/{id} | файлы/{id}

📥 Параметры запроса

Поле Тип Описание Обяз.
idbody {Ulid} Нет

🔗 Пример запроса

JSON
https://xn--80addfbb6bm6a.xn--p1ai/files/{id} | файлы/{id}

§4.Форум

POST Информация о форуме

предоставляет доступную информацию о форуме

POST
api/forum/forumid

📥 Параметры запроса

Поле Тип Описание Обяз.
forumidbody {Ulid} идентификатор форума Да

🔗 Пример запроса

JSON
https://xn--80addfbb6bm6a.xn--p1ai/api/forum/forumid

📝 Тело запроса

JSON
{
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
}

📤 Структура ответа

Поле Тип Описание
backgroundIdresponse {Ulid} Id файла изображения задника
backgroundUrlresponse string Url ссылка из значения BackgroundId
categoriesresponse [CategoryDto] Список категорий форума (может быть ограничен в рамках запроса)
coverIdresponse {Ulid} Id файла основного изображения
descriptionresponse string Описание форума
idresponse {Ulid} идентификатор форума
imageUrlresponse string Url ссылка из значения CoverId
layoutresponse string Стиль форума по CSS типу
nameresponse string Основное наименование форума
tagsresponse [TagDto] Принадлежащие форуму теги

✅ Пример ответа

JSON
{
"id": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
},
"name": "example",
"description": "example",
"layout": "example",
"categories": [
{
"id": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
},
"name": "example",
"description": "example",
"forumId": {
"hasValue": true,
"value": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
}
},
"parentId": {
"hasValue": true,
"value": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
}
}
}
]
}

POST Информация о категории

предоставляет доступную информацию о категории

POST
api/forum/categoryid

📥 Параметры запроса

Поле Тип Описание Обяз.
categoryidbody {Ulid} Да

🔗 Пример запроса

JSON
https://xn--80addfbb6bm6a.xn--p1ai/api/forum/categoryid

📝 Тело запроса

JSON
{
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
}

📤 Структура ответа

Поле Тип Описание
childrenresponse [CategoryDto] Дочерние категории
commentCountresponse int Количесво комментариев всех тем в категории
coverIdresponse {Ulid} Связь по FileId. Основная картинка категории
descriptionresponse string Описание категории
forumIdresponse {Ulid} Идентификатор привязанного форума - если нету, категория свободная
idresponse {Ulid} Идентификатор категории
imageUrlresponse string Url ссылка из значения CoverId
lastActivityresponse {LastActivityDto} Последняя активность - показывает последнего пользователя и время
nameresponse string Наименование категории
parentIdresponse {Ulid} Родительская категория или объект
sortOrderresponse int Приоритет сортировка, где 1 - высший, а 2 ниже
tagsresponse [TagDto] Список тегов для категории
topicCountresponse int Количество статей/тем в категории
topicsresponse [TopicDto] Список статей категории

✅ Пример ответа

JSON
{
"id": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
},
"name": "example",
"description": "example",
"forumId": {
"hasValue": true,
"value": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
}
},
"parentId": {
"hasValue": true,
"value": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
}
}
}

POST Информация о статье/теме

предоставляет доступную информацию о статье/теме

POST
api/forum/topicid

📥 Параметры запроса

Поле Тип Описание Обяз.
tpopicidbody {Ulid} Да

🔗 Пример запроса

JSON
https://xn--80addfbb6bm6a.xn--p1ai/api/forum/topicid

📝 Тело запроса

JSON
{
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
}

📤 Структура ответа

Поле Тип Описание
categoryIdresponse {Ulid}
commentCountresponse int
commentsresponse [CommentDto]
contentresponse string
coverUrlresponse string Основная картинка
createdAtresponse datetime
forumIdresponse {Ulid} Вспомогательное поле, указатель форума
idresponse {Ulid}
tagsresponse [TagDto]
titleresponse string
updatedAtresponse {datetime}
userresponse {UserDto}
userIdresponse string

✅ Пример ответа

JSON
{
"id": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
},
"title": "example",
"content": "example",
"commentCount": 123,
"createdAt": "2023-12-07T14:30:00Z"
}

GET Случайные статьи

Предоставляет случайные статьи для конкретного форума с целью показа различных статей в пределах конкретного форума

GET
api/forumlasts/topics_random

📥 Параметры запроса

Поле Тип Описание Обяз.
indexObjectquery Ulid Нет
pageCountquery int 10Нет

🔗 Пример запроса

JSON
https://xn--80addfbb6bm6a.xn--p1ai/api/forumlasts/topics_random?indexObject=value&pageCount=10

📤 Структура ответа

Поле Тип Описание
itemsresponse [TopicDto]
totalCountresponse int

✅ Пример ответа

JSON
{
"items": [
{
"id": {
"randomness": {
"length": 123,
"isEmpty": true
},
"time": {
"dateTime": "2023-12-07T14:30:00Z",
"utcDateTime": "2023-12-07T14:30:00Z",
"localDateTime": "2023-12-07T14:30:00Z",
"date": "2023-12-07T14:30:00Z",
"day": 123
}
},
"title": "example",
"content": "example",
"commentCount": 123,
"createdAt": "2023-12-07T14:30:00Z"
}
],
"totalCount": 123
}

[СВЯЗЬ] ВОССТАНОВЛЕНИЕ СВЯЗИ С СЕРВЕРОМ...

[ПОВТОР] ПОВТОРНОЕ ПОДКЛЮЧЕНИЕ НЕ УДАЛОСЬ... ПОПЫТКА ЧЕРЕЗ СЕК.

[ОШИБКА] НЕ УДАЛОСЬ ВОССТАНОВИТЬ СВЯЗЬ.
ПРОВЕРЬТЕ СЕТЬ ИЛИ ПЕРЕЗАГРОЗИТЕ СТРАНИЦУ.

[ПАУЗА] СЕССИЯ ПРИОСТАНОВЛЕНА СЕРВЕРОМ.

[ОШИБКА] НЕ УДАЛОСЬ ВОЗОБНОВИТЬ СЕССИЮ.
ТРЕБУЕТСЯ ПЕРЕЗАГРОЗКА.