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 вместо строки. Совместимость этих полей и работа собственных методов описаны в разделе «Особенности форума».