¿Hay alguna manera de mostrar anuncios internos según la ubicación del usuario actual?

Eso es porque solo devuelve el contenido de https://tu-discourse.com/admin/users/{user_id}.json. Ignora la parte ip-info, no es un punto final válido aquí.

Y sí, no había pensado en eso :face_palm: pero sí, creo que probablemente necesites una clave de Maxmind para poder devolver la ubicación.

Entonces, para resumir:

  1. Si quieres obtener la IP de un usuario, necesitas hacer una solicitud GET (con credenciales de administrador) a https://tu-discourse.com/admin/users/{user_id}.json. Devolverá la IP entre otra información del usuario.

  2. Si quieres localizar la IP, necesitas una clave de Maxmind (que se añadirá en app.yml) y hacer una solicitud GET a este punto final: https://tu-discourse.com/admin/users/ip-info.json?ip={user_ip}.

Está la documentación de la API: https://docs.discourse.org/
Pero no todos los puntos finales están listados aquí. La API de Discourse es muy fácil de hacer ingeniería inversa, sin embargo: Reverse engineer the Discourse API. Así es como obtuve la información aquí.