curl --request GET \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
'https://forum.arzguard.com/api/threads/123/?with_posts=1&page=1'
{
"thread": {
"thread_id": 123,
"sv_prefix_ids": [
1
]
},
"posts": [
{
"post_id": 123
}
],
"pagination": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"shown": 1,
"total": 1
}
}
Темы
Получить тему
Информация о теме, связанных сообщениях и необязательной странице ответов.
GET
/
api
/
threads
/
{id}
/
curl --request GET \
--header "XF-Api-Key: $FORUM_API_KEY" \
--header 'Accept: application/json' \
'https://forum.arzguard.com/api/threads/123/?with_posts=1&page=1'
{
"thread": {
"thread_id": 123,
"sv_prefix_ids": [
1
]
},
"posts": [
{
"post_id": 123
}
],
"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.
Параметры
integer
required
ID темы. Значение
123 в примере условное.boolean
При
1 добавляет страницу сообщений темы.integer
Номер страницы сообщений при
with_posts=1.boolean
При
1 отдельно добавляет первое сообщение темы в first_post.boolean
При
1 отдельно добавляет последнее сообщение темы в last_post.string
Порядок сообщений из набора, поддерживаемого типом темы. Универсальный список вариантов для всех типов не задаётся.
Успешный ответ
HTTP200. Пример ниже сокращён и содержит только условные данные. Полные объекты и условия видимости полей описаны в схемах данных.
| Поле | Тип | Описание |
|---|---|---|
thread | Thread | Объект темы Thread. |
first_unread | Post | Первое непрочитанное сообщение. Поле присутствует, если тема непрочитана и такое сообщение найдено. |
first_post | Post | Первое сообщение темы, если передан with_first_post=1. |
last_post | Post | Последнее сообщение темы, если передан with_last_post=1. |
pinned_post | Post | Закреплённое первое сообщение; возвращается, если тип темы предусматривает его закрепление. Возвращается только при with_posts=1, с учётом условий типа темы. |
highlighted_posts | Post[] | Выделенные сообщения, если они определены типом темы. Причина выделения зависит от типа обсуждения. Возвращается только при with_posts=1, с учётом условий типа темы. |
posts | Post[] | Сообщения выбранной страницы. Закреплённое первое сообщение не исключается из своей обычной позиции в этом массиве. Возвращается только при with_posts=1, с учётом условий типа темы. |
pagination | pagination | Метаданные страницы: current_page, last_page, per_page, shown, total. Размер страницы определяется настройками форума. Возвращается только при with_posts=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/threads/123/?with_posts=1&page=1'
{
"thread": {
"thread_id": 123,
"sv_prefix_ids": [
1
]
},
"posts": [
{
"post_id": 123
}
],
"pagination": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"shown": 1,
"total": 1
}
}