Skip to main content
API возвращает объекты пользователей, разделов и содержимого. Название типа в справочнике, например Thread или User, указывает на соответствующую схему ниже.

Объект User

User и определения пользовательских полей.

Темы и сообщения

Thread, Post, Poll, префиксы и поля тем.

Разделы

Node и данные конкретных типов разделов.

Записи профиля

ProfilePost и ProfilePostComment.

Диалоги и уведомления

Conversation, ConversationMessage и UserAlert.

Вложения

Attachment: файл и его метаданные.

Обозначения типов

ID объектов XenForo передаются как целые числа. Это не Discord ID из API Kalenich Stats: типы идентификаторов у разных сервисов не следует смешивать.

Условные поля и связи

Состав объекта зависит от способа запроса и прав пользовательского контекста. Например, тема может содержать вложенный User, а подробный ответ — дополнительные сведения о профиле. Связи Thread, Forum, Attachments, ProfileUser и другие включаются по правилам метода и контекста. Поля can_* описывают доступность действий для текущего пользователя. Это полезная подсказка интерфейсу, но при выполнении действия сервер проверяет права заново.
Отсутствие поля, null, пустая коллекция и числовой 0 имеют разный смысл. Проверяйте наличие условного поля, прежде чем обращаться к нему.

Время

Unix timestamp в API XenForo выражается в секундах. В JavaScript для создания Date умножайте его на 1000:
Для некоторых временных полей 0 означает отсутствие события или срока. Проверяйте описание конкретного поля: например, read_date: 0 у уведомления означает, что оно ещё не прочитано. time_spent — длительность в секундах, а не временная отметка. Её не нужно преобразовывать в календарную дату.

Пагинация

Методы с постраничной выдачей возвращают объект pagination:
Условный пример
Не фиксируйте размер страницы для всего API: он зависит от метода и настроек форума. Наличие пагинации проверяйте в описании конкретной операции.

Текст и HTML

Поле message содержит исходный текст публикации, а message_parsed — его HTML-представление. Назначение этих полей различается; выбирайте подходящее для своего интерфейса и его правил обработки HTML.

Особенности дополнений

В Guard Forum тип User дополнен time_spent, а темы — sv_prefix_ids. Поле user_title в текущей установленной версии может быть true вместо строки. Совместимость этих полей и работа собственных методов описаны в разделе «Особенности форума».