Что такое пост? (Вопрос по API Discourse)

Я пытаюсь точно оценить и отразить активность на форуме, который я администрирую с помощью Discourse. Мне кажется, что я фундаментально не понимаю, что такое «пост».

В API есть темы (Topics) и посты (Posts). Например, чтобы получить посты, я могу использовать filter=5:

/user_actions.json?offset=0&username=USERNAME&filter=5

(Может ли кто-нибудь подсказать, что такое «offset»?)

Вот загадка. Посты, похоже, не включают темы. Это ожидаемое поведение?

Что такое посты по отношению к ответам (Replies)? Они, кажется, не являются надмножеством.

Одни и те же ли посты в API и в отчёте (Администрирование → Отчёты → Посты)?

Любая помощь будет признательна.

Насколько я могу судить, параметр filter=5 для постов в /user_actions.json?offset=0&username=USERNAME&filter=5 не соответствует пункту Посты в отчёте. Похоже, что Посты в отчёте включают как посты (filter=5), так и темы (filter=4).

Я предполагаю, что посты должны представлять собой ответы + темы. Было бы неплохо, если бы кто-то более осведомлённый мог подтвердить это.

Если это так, я могу попробовать использовать ответы (filter=6) и темы (filter=4). Однако я немного обеспокоен этим, поскольку отчёт в административной панели Discourse показывает правильные, ожидаемые значения.

Попробуйте найти пример использования API Discourse для генерации отчётов.

Да, посты находятся внутри темы. Поэтому поиск новых постов не будет искать новые темы.

Когда вы создаёте тему, вы также создаёте пост — первый пост является частью темы.
Однако все последующие ответы также считаются постами — вы публикуете свои ответы. :slightly_smiling_face:

Что касается offset и совпадают ли посты в API с теми, что в Администрирование → Отчёты → Посты, я передам этот вопрос другому человеку.

Это хоть какая-то помощь?

Сначала спасибо за вашу помощь.

Используя /user_actions.json?offset=0&username=USERNAME&filter=5, я не получаю подсчет поста, если это был первый пост темы.

Возможно, я неправильно использую API.

У меня есть тестовый аккаунт с 7 активностями.

  • 3 темы, каждая с одним постом
  • 4 ответа в существующие темы.

При фильтрации по «постам» я получаю счетчик 4, а не ожидаемые 7.

Чтобы получить ожидаемый счетчик постов 7, я думаю, мне нужно добавить «ответы» и «темы».

Насколько я понимаю, filter со значением 5 должен возвращать как посты, являющиеся первым постом темы, так и ответы, верно?

Мне бы очень помогло понять, как получать счетчик постов для конкретных пользователей через API.

 query = {'username': username, 'filter': '5'};

  var response = await getRequest(
      path: '/user_actions.json',
      queryParameters: query);

Это верно. У каждой темы есть первый пост, который создаётся вместе с темой. Невозможно создать тему, состоящую только из заголовка. Этот первый пост не учитывается как ответ (реплика) в запросе постов (фильтр-5).

При запросе постов вы получаете запрос на новые ответы на существующие темы — исключая автора темы (OP). Это ожидаемое поведение — показывать только новые посты.
Чтобы включить темы (созданные этим пользователем) в запрос, фильтр=4 должен возвращать темы, созданные этим пользователем (включая авторские посты в подсчёте [3]) и его ответы [4]. Это вернёт 7, которые вы видите в отчёте: 3 созданные темы + 4 ответа, итого 7 (3 авторских поста + 4 ответа).

Если кто-то другой разбирается в этом лучше, пожалуйста, не стесняйтесь вступить в обсуждение.

@JimPas, спасибо за вашу помощь. Она очень полезна. С этими знаниями я с большей уверенностью продолжаю работу над панелью управления приложением. Хорошего дня. Очень приятно, что вы помогаете такому незнакомцу, как я.

У меня тоже, @JimPas, очень полезно и очень признателен. Спасибо.