Расхождение данных API и WebUI

Я хочу получить данные конкретного пользователя через API. По сути, мне нужно узнать, сколько ответов пользователь оставил с момента регистрации на форуме. Я использовал следующий код (по сути, я получил все записи user_actions, где action_type=5, и затем вывел количество таких записей). Итоговый результат не совпадает с тем, что я вижу в веб-интерфейсе. Может ли кто-нибудь объяснить, почему это может происходить?

import requests, time

defaultHost = #ваш_хост_по_умолчанию

# Заголовки для аутентификации
headers = {
    'Api-Key': #ВАШ_API_КЛЮЧ,
    'Api-Username':#ВАШ_ИМЯ_ПОЛЬЗОВАТЕЛЯ_API
}


# Увеличиваем смещение на 30 каждый раз. Цикл должен прерваться, когда количество элементов в ответе будет меньше 30
offset = 0
data_dict ={"user_actions":[]}
username = #имя_пользователя_для_которого_нужно_получить_данные

# filter=5 # Для события "пользователь ответил на тему"

while True:
    time.sleep(0.2)
    endpoint = f'https://{defaultHost}/user_actions.json?username={username}&offset={offset}&filter=5'
    # Выполняем запрос
    response = requests.get(endpoint, 
                            headers=headers)

    # Проверяем ответ
    if response.status_code == 200:
        data = response.json()
        num_elements = len(data["user_actions"])
        data_dict["user_actions"].extend(data["user_actions"])
        offset+=30
        if num_elements<30: 
            break    
    else:
        print(f'Ошибка: {response.status_code}')
        break

print(len(data_dict["user_actions"]))

Только предположение (не смотрел в основные файлы и базу данных). Возможно, одно значение учитывает первые сообщения (которые не являются ответами), тогда как другое возвращает только ответы.

Кстати, почему бы вам не использовать запрос в Data Explorer для получения этих данных? Мне кажется, это было бы гораздо удобнее, если только я что-то упускаю. :thinking:

Не могли бы вы уточнить, о каких значениях идёт речь?

Да, если API не выдаёт корректный результат, то Data Explorer — это окончательное решение. Но главный вопрос: почему API и веб-интерфейс не возвращают абсолютно одинаковые данные?

да, я сделал это, как вы можете видеть в коде, который я опубликовал:

    endpoint = f'https://{defaultHost}/user_actions.json?username={username}&offset={offset}&filter=5'
  1. Значение, возвращаемое интерфейсом Discourse

  2. Значение, возвращаемое вашим скриптом

На какой странице?