curl --request GET \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
'https://forum.arzguard.com/api/threads/?page=1&last_days=7'
{
"threads": [
{
"thread_id": 123,
"sv_prefix_ids": [
1
]
}
],
"pagination": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"shown": 1,
"total": 1
}
}
Темы
Список тем
Постраничный список доступных тем с фильтрами и сортировкой.
GET
/
api
/
threads
/
curl --request GET \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
'https://forum.arzguard.com/api/threads/?page=1&last_days=7'
{
"threads": [
{
"thread_id": 123,
"sv_prefix_ids": [
1
]
}
],
"pagination": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"shown": 1,
"total": 1
}
}
Постраничный список доступных тем с фильтрами и сортировкой.
Обязательные scopes:
Доступ
В каждом запросе обязателен заголовокXF-Api-Key. Примеры используют серверную переменную $FORUM_API_KEY; тип ключа и контекст пользователя определяют доступ к данным.
string
required
Ключ API. Храните его на сервере интеграции; в примере используется переменная окружения.
thread:read.
Особенности
Еслиlast_days не передан и используется стандартный порядок либо last_post_date по убыванию, список дополнительно ограничивается внутренней границей хранения отметок прочтения. Для выдачи без такого ограничения передайте last_days=0; это не отменяет проверку видимости тем.
Фильтры open_only, last_post_from и last_post_to подтверждены реализацией Guard Forum. Они относятся к списку тем, а не к отдельным сообщениям. При совместном использовании условия объединяются.
После формирования страницы темы дополнительно проверяются на видимость. Поэтому pagination.shown может оказаться меньше размера страницы: используйте возвращённые метаданные, а не вычисляйте общий размер списка по длине threads.
Параметры
integer
Номер страницы. По умолчанию запрашивается первая страница; размер выдачи определяется настройками форума.
integer
ID префикса для отбора тем.
integer
ID пользователя, создавшего тему; оставляет только его темы.
integer
Оставляет темы с последним сообщением за последние указанное число дней.
0 снимает ограничение по давности, включая стандартный лимит раздела.boolean
При
1 оставляет только непрочитанные темы. Для гостевого контекста фильтр не применяется.string
Фильтр по идентификатору типа обсуждения.
string
Порядок тем:
last_post_date или post_date. Остальные варианты сортировки списка тем поддерживаются только внутри конкретного раздела.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. Пример ниже сокращён и содержит только условные данные. Полные объекты и условия видимости полей описаны в схемах данных.
| Поле | Тип | Описание |
|---|---|---|
threads | Thread[] | Темы запрошенной страницы. |
pagination | pagination | Метаданные страницы: current_page, last_page, per_page, shown, total. Размер страницы определяется настройками форума. |
Ошибки
Стандартный ответ содержит массив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/threads/?page=1&last_days=7'
{
"threads": [
{
"thread_id": 123,
"sv_prefix_ids": [
1
]
}
],
"pagination": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"shown": 1,
"total": 1
}
}