A única ferramenta daqui que precisa de servidor
Todas as outras ferramentas desta rede rodam inteiramente no navegador, e isso é uma regra de projeto deliberada. Esta quebra a regra, por um motivo que vale dizer sem rodeio: o objetivo é vigiar um preço enquanto você não está aqui. Uma aba fechada não consulta mercado nem envia e-mail. Vigiar por você é o produto.
Então este site tem um backend pequeno — um processo Node, uma tabela no Postgres e um laço. Ele guarda o mínimo que esse trabalho exige: seu Steam ID, o nome da skin, seu limite e o endereço de e-mail a avisar. Sem acesso a inventário, sem permissão de troca, sem histórico de navegação.
Como funciona o login pela Steam
A Steam usa OpenID 2.0, o que significa que a página de login é a dela, no domínio dela, e a sua senha nunca toca este site. Na volta, a Steam inclui uma declaração assinada da sua identidade, e nós devolvemos essa declaração para a própria Steam perguntando se foi ela mesma que a emitiu. A sessão só é criada se a Steam disser que sim.
O que recebemos é um Steam ID de 17 dígitos e nada além disso. Esse fluxo não precisa de API key e não concede nenhuma permissão sobre a sua conta — ele não consegue ler inventário, não consegue negociar e não consegue publicar nada.
Por que os alertas nascem pendentes
Qualquer formulário que aceita um e-mail e depois envia mensagem para ele pode ser apontado para a caixa de entrada de outra pessoa. Por isso a primeira mensagem que você recebe é um link de confirmação, e o alerta fica inativo até você clicar. Custa um clique e impede que o serviço vire um jeito de mandar mensagem não solicitada para estranhos.
O gráfico histórico, e de onde ele vem
Clique em qualquer alerta da sua lista para ver a série de preço daquela skin. O dado é oficial da Valve: é o mesmo endpoint de preço da Steam Market que alimenta os alertas.
O que ele não é: a série histórica completa que a Steam mostra na página do item.
Aquele endpoint (/market/pricehistory/) exige um cookie de sessão de conta
logada e responde 400 sem ele — manter uma conta Steam logada num servidor só para raspar
isso não é algo que vamos fazer. Então a série aqui é construída a partir das nossas próprias
leituras: ela começa vazia numa skin nova e ganha um ponto a cada checagem em que o preço
muda. Um item acompanhado há uma semana tem uma semana de gráfico.
Limites de requisição, e o que isso significa para você
O endpoint público de preço da Steam é fortemente limitado — poucas requisições por minuto antes de começar a recusar. Duas consequências decorrem disso, e vale conhecer as duas antes de depender do serviço:
- As checagens são espaçadas. Cada alerta é reconferido a cada meia hora, não continuamente. Num pico rápido que dura minutos, o e-mail pode chegar depois de o momento ter passado.
- Os preços são compartilhados. Toda leitura entra num cache indexado por skin e moeda, então várias pessoas acompanhando o mesmo item geram uma consulta entre todas. É isso que permite ao serviço escalar dentro desses limites.
Se você precisa de precisão segundo a segundo num item que se move rápido, nenhum serviço de alerta por e-mail entrega isso — aí é preciso estar olhando o mercado você mesmo.
Acertando o nome
A Steam compara pelo market hash name exato, e ela não perdoa. O desgaste faz parte do nome, entre parênteses, e StatTrak™ e Souvenir são prefixos, não marcadores. O montador acima junta os três na ordem certa, mas o caminho mais seguro é copiar o título direto da página do item na Steam Market.
O que guardamos, exatamente
Seu Steam ID, as skins e limites que você definiu, o e-mail informado, e o preço observado de cada alerta ao longo do tempo. Excluiu um alerta, a linha vai junto. Não há rastreamento, não há perfilamento, e o endereço de e-mail não é usado para nada além da confirmação e do próprio alerta.
Perguntas frequentes
Por que eu entro com a Steam?
Para os seus alertas ficarem numa conta que você já tem, sem a gente manter um banco de senhas. O OpenID da Steam nos entrega uma coisa só: o seu Steam ID numérico. Nunca vemos sua senha, seu e-mail, seu inventário ou sua lista de amigos — a tela de login é a da própria Steam, no domínio da Steam.
Por que preciso confirmar o e-mail?
Porque um formulário que aceita qualquer endereço e depois manda mensagem para ele é um vetor de abuso — qualquer um poderia colocar o endereço de outra pessoa. A primeira mensagem é um link de confirmação, e nenhum alerta é monitorado até você clicar.
De quanto em quanto tempo os preços são verificados?
Cerca de 30 minutos por alerta. O endpoint de preço da Steam Market tem limite de requisições agressivo, então as consultas são espaçadas de propósito. O preço de uma mesma skin é compartilhado entre todo mundo que a acompanha, então dez pessoas vigiando um item custam uma consulta, não dez.
O gráfico mostra o histórico completo da Steam?
Não. O endpoint oficial de histórico da Valve exige um cookie de sessão de conta logada, e não mantemos uma conta Steam logada num servidor para raspar isso. O gráfico é montado com as nossas próprias leituras do endpoint oficial de preço — ou seja, é dado da Valve, mas a série começa quando começamos a acompanhar aquela skin.
Que nome eu devo digitar?
O nome exato do mercado, com o desgaste, como aparece no título da página na Steam Market — por exemplo 'AK-47 | Redline (Field-Tested)'. Use o montador para acrescentar o desgaste e o prefixo StatTrak ou Souvenir no formato certo, já que eles fazem parte do nome que a Steam compara.
O que acontece depois que o alerta dispara?
Você recebe um e-mail e o alerta se encerra. Ele não fica disparando toda vez que o preço cruza o limite, o que encheria sua caixa de entrada num item volátil. Crie um alerta novo se quiser continuar acompanhando.