curl --request GET \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
'https://forum.arzguard.com/api/forums/123/?with_threads=1&page=1'
{
"forum": {
"node_id": 123
},
"threads": [
{
"thread_id": 123,
"sv_prefix_ids": [
1
]
}
],
"pagination": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"shown": 1,
"total": 1
},
"sticky": [],
"filters": []
}
Форумы
Получить раздел
Информация о разделе с необязательной страницей тем.
GET
/
api
/
forums
/
{id}
/
curl --request GET \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
'https://forum.arzguard.com/api/forums/123/?with_threads=1&page=1'
{
"forum": {
"node_id": 123
},
"threads": [
{
"thread_id": 123,
"sv_prefix_ids": [
1
]
}
],
"pagination": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"shown": 1,
"total": 1
},
"sticky": [],
"filters": []
}
Информация о разделе с необязательной страницей тем.
Обязательные scopes:
Доступ
В каждом запросе обязателен заголовокXF-Api-Key. Примеры используют серверную переменную $FORUM_API_KEY; тип ключа и контекст пользователя определяют доступ к данным.
string
required
Ключ API. Храните его на сервере интеграции; в примере используется переменная окружения.
node:read.
При with_threads=1 дополнительно требуется thread:read.
Особенности
Темы вthreads не включают закреплённые темы из sticky. Закреплённые выдаются отдельно только на первой странице и не занимают её обычный лимит. Параметр last_days=0 снимает стандартный лимит раздела по давности.
Фильтры open_only, last_post_from и last_post_to подтверждены реализацией Guard Forum. Они относятся к списку тем, а не к отдельным сообщениям. При совместном использовании условия объединяются.
После формирования страницы темы дополнительно проверяются на видимость. Поэтому pagination.shown может оказаться меньше размера страницы: используйте возвращённые метаданные, а не вычисляйте общий размер списка по длине threads.
Параметры
integer
required
ID раздела. Значение
123 в примере условное.boolean
При
1 включает страницу тем вместе с информацией о разделе. Фильтры и сортировка тем действуют только при включении этой выдачи.integer
Номер страницы. По умолчанию запрашивается первая страница; размер выдачи определяется настройками форума.
integer
ID префикса для отбора тем.
integer
ID пользователя, создавшего тему; оставляет только его темы.
integer
Оставляет темы с последним сообщением за последние указанное число дней.
0 снимает ограничение по давности, включая стандартный лимит раздела.boolean
При
1 оставляет только непрочитанные темы. Для гостевого контекста фильтр не применяется.string
Фильтр по идентификатору типа обсуждения.
string
Порядок тем:
last_post_date, post_date, title, reply_count, view_count, vote_score или first_post_reaction_score. Неизвестное значение не меняет стандартную сортировку.string
Направление сортировки:
asc или desc. Для списка тем действует только вместе с order; по умолчанию используется desc.boolean
При
1 оставляет только открытые темы (discussion_open = 1). Реализован в установленной версии Guard Forum.integer
Нижняя граница времени последнего сообщения темы: Unix timestamp в секундах, включительно (
last_post_date >= значение). Нулевое значение не применяет фильтр.integer
Верхняя граница времени последнего сообщения темы: Unix timestamp в секундах, включительно (
last_post_date <= значение). Нулевое значение не применяет фильтр.Успешный ответ
HTTP200. Пример ниже сокращён и содержит только условные данные. Полные объекты и условия видимости полей описаны в схемах данных.
| Поле | Тип | Описание |
|---|---|---|
forum | Forum | Объект раздела Forum. |
threads | Thread[] | Темы запрошенной страницы. Возвращается только при with_threads=1. |
pagination | pagination | Метаданные страницы: current_page, last_page, per_page, shown, total. Размер страницы определяется настройками форума. Возвращается только при with_threads=1. |
sticky | Thread[] | Закреплённые темы на первой странице. Не входят в лимит обычных тем; на остальных страницах поле отсутствует. Возвращается только при with_threads=1. |
filters | object | array | Фактически применённые фильтры тем. При отсутствии фильтров возможен пустой массив. Возвращается только при with_threads=1. |
Ошибки
Стандартный ответ содержит массивerrors с code, message и params. Проверяйте HTTP-статус и машинный код; формат и обработка ошибок общие для API.
curl --request GET \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
'https://forum.arzguard.com/api/forums/123/?with_threads=1&page=1'
{
"forum": {
"node_id": 123
},
"threads": [
{
"thread_id": 123,
"sv_prefix_ids": [
1
]
}
],
"pagination": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"shown": 1,
"total": 1
},
"sticky": [],
"filters": []
}