El post_count del usuario es cero en el webhook para un usuario que tiene publicaciones

Tenemos un webhook en el evento “user_logged_in”. El Payload contiene la propiedad post_count para el usuario que acaba de iniciar sesión. Aunque el usuario escribió 2 publicaciones, el payload indica post_count: 0. Esto me parece un error.

El receptor del webhook necesita esta estadística del usuario para decidir cómo proceder.

El único tema similar que encontré es este, podría estar relacionado pero no habla de la misma API: Category post_count not incrementing

1 me gusta

Tengo que corregirme: el post_count no es siempre cero. Al comprobarlo con mi propio usuario, el post_count era plausible (aunque no sé si es exacto o no).

Pero hay un usuario en nuestro sitio, llamémoslo usuario #1234, para el cual se cumple lo siguiente:

  • SELECT * FROM posts WHERE user_id=1234 devuelve dos entradas en la tabla. Estos son los posts que también figuran en la página de actividad del perfil del usuario.
  • La carga útil del webhook, cuando este usuario inicia o cierra sesión, contiene "post_count": 0.
1 me gusta

Hola @dpb,

Probé y el recuento de publicaciones no se actualiza en tiempo real.

Mi suposición es que hay un trabajo de Sidekiq que se encarga de eso periódicamente, pero no sé cuál.
Parece que no hay un trabajo específico de Sidekiq relacionado :thinking:
Pero leí que esta estadística se actualiza al menos una vez al día.

Una solicitud GET a https://tu-discurso.org/u/nombredeusuario.json devolverá el número correcto, sin embargo.

Si desea un número confiable, haga una solicitud de este tipo después de recibir la carga útil del webhook.

1 me gusta

Gracias @Canapin por sugerir la solicitud GET a la API.

Bueno, en nuestro caso, las publicaciones han estado ahí durante bastante más de un mes.

¿Quizás el componente que actualiza este número dejó de funcionar en algún momento arbitrario durante una de las actualizaciones?

Lo he probado, tampoco funciona. Contiene la misma información: post_count: 0

Quizás haya una confusión entre “topics” y “posts”. Esperaba que crear un nuevo tema fuera solo un tipo especial de publicación. La estructura de la base de datos lo admite.
Pero al revisar las estadísticas del perfil del usuario, dicen algo como “2 temas creados, 0 publicaciones creadas”.
Entonces, ¿quizás el “post_count” que obtengo es más bien el número de respuestas a temas que el número de todas las publicaciones?
Por otro lado, hay una fecha “last_posted_at” que contiene la fecha en que se creó el último tema. Así que, al menos, hay cierta inconsistencia en los nombres aquí. Esperaría que el número “post_count” incluyera también las primeras publicaciones en nuevos temas.

De todos modos, ya sea que este sea el comportamiento esperado o no, no encuentro un topic_count o similar en el JSON del usuario. ¿Cómo puedo averiguar el número total de publicaciones, incluidas las nuevas?

Mi conocimiento de json es un poco incipiente, pero puedo ver el topic_count en https://meta.discourse.org/u/dpb/summary.json

1 me gusta