Webhookでpost_countがゼロになるユーザーがいるが、そのユーザーは投稿を持っている

ユーザーがログインしたイベント「user_logged_in」にWebhookがあります。ペイロードには、ログインしたユーザーの post_count プロパティが含まれています。ユーザーは2つの投稿をしましたが、ペイロードには post_count: 0 と表示されています。これはバグのように思えます。

Webhookの受信者は、このユーザー統計情報を使用して、どのように進めるかを決定する必要があります。

類似のトピックとして、これしか見つかりませんでした。関連しているかもしれませんが、同じAPIについては言及していません: Category post_count not incrementing

「いいね!」 1

訂正しなければなりません。post_count常に ゼロではありません。自分のユーザーで確認したところ、post_count はもっともらしい値でした(正確かどうかはわかりませんが)。

しかし、私たちのサイトには、仮にユーザー #1234 と呼びましょう、というユーザーがいて、以下のことが当てはまります。

  • SELECT * FROM posts WHERE user_id=1234 はテーブルに2つのエントリを返します。これらはユーザーのプロフィールアクティビティページにもリストされている投稿です。
  • このユーザーがログインまたはログアウトしたときのWebhookペイロードには "post_count": 0 が含まれています。
「いいね!」 1

Hi @dpb

テストしたところ、投稿数はリアルタイムで更新されていませんでした。

これは、それを定期的に処理するSidekiqジョブがあるのではないかと推測しましたが、どれかはわかりませんでした。
特定の関連Sidekiqジョブはないようです :thinking:
しかし、この統計は少なくとも1日1回更新されると読みました。

https://your-discourse.org/u/username.json へのGETリクエストは、正しい数を返します。

信頼できる数が必要な場合は、Webhookペイロードを受信した後にそのようなリクエストを行ってください。

「いいね!」 1

APIへのGETリクエストを提案してくれた@Canapinさん、ありがとうございます。

私たちのケースでは、投稿はすでに1か月以上前から存在しています。

おそらく、この数値を更新するコンポーネントが、アップデート中に任意の時点で動作を停止したのでしょうか?

テストしましたが、これも機能しません。同じ情報が含まれています: post_count: 0

「トピック」と「投稿」が混同されている可能性があります。新しいトピックの作成は、投稿の特別なタイプであると予想していました。データベース構造もそれをサポートしています。
しかし、ユーザープロフィールの統計を確認すると、「作成されたトピック 2 件、作成された投稿 0 件」のような表示になります。
したがって、「投稿数」は、すべての投稿数というよりも、トピックへの返信数である可能性があります。
一方で、「最終投稿日時」という日付があり、最後のトピックが作成された日時が含まれています。少なくとも、ここでは命名に一貫性がありません。「投稿数」には、新しいトピックの最初の投稿も含まれると予想していました。

いずれにしても、これが意図された動作であるかどうかにかかわらず、ユーザーJSONに「トピック数」のようなものが見つかりません。新しいトピックを含む、投稿の総数をどのように見つけることができますか?

私のJSONの知識はまだ初歩的ですが、https://meta.discourse.org/u/dpb/summary.jsontopic_countを確認できます。

「いいね!」 1