# Existe uma forma de exibir anúncios in-house com base na localização do usuário?

**URL:** https://meta.discourse.org/t/is-there-a-way-to-serve-in-house-ads-based-on-the-current-users-location/280263
**Category:** Development
**Tags:** rest-api
**Created:** [Setembro 27, 2023, 6:39am UTC](https://meta.discourse.org/t/is-there-a-way-to-serve-in-house-ads-based-on-the-current-users-location/280263 "2023-09-27T06:39:32Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [Setembro 27, 2023, 8:15am UTC](https://meta.discourse.org/t/is-there-a-way-to-serve-in-house-ads-based-on-the-current-users-location/280263/4 "2023-09-27T08:15:47Z")

</div>

> [@hyphalos](#):
>
> No entanto, quando faço a solicitação com o ID do usuário (`https://seu-discourse.com/admin/users/{user_id}/ip-info.json?ip={user_ip}`), ele exibe as informações do usuário com o Endereço IP.

Isso ocorre porque ele retorna apenas o conteúdo de `https://seu-discourse.com/admin/users/{user_id}.json`. Ele ignora a parte `ip-info`, não é um endpoint válido aqui.

E sim, eu não pensei nisso 🤦 mas sim, acho que você provavelmente precisa de uma chave Maxmind para retornar a localização.

Então, para resumir:

1. Se você quiser obter o IP de um usuário, você precisa fazer uma solicitação GET ( **com credenciais de administrador** ) para `https://seu-discourse.com/admin/users/{user_id}.json`. Ele retornará o IP entre outras informações do usuário.

2. Se você quiser localizar o IP, você precisa de uma chave Maxmind (a ser adicionada em `app.yml`) e fazer uma solicitação GET para este endpoint: `https://seu-discourse.com/admin/users/ip-info.json?ip={user_ip}`.

> [@hyphalos](#):
>
> Além disso, existe um link para a lista de endpoints úteis que o Discourse fornece, como o que você compartilhou?

Há a documentação da API: [https://docs.discourse.org/](https://docs.discourse.org/)  
Mas nem todos os endpoints estão listados aqui. A API do Discourse é muito fácil de fazer engenharia reversa, no entanto: [Reverse engineer the Discourse API](https://meta.discourse.org/t/reverse-engineer-the-discourse-api/20576?u=canapin). Foi assim que obtive as informações aqui.

---

_[View the full topic](https://meta.discourse.org/t/is-there-a-way-to-serve-in-house-ads-based-on-the-current-users-location/280263)._
