Existem provavelmente muitas maneiras de fazer isso, mas eis o que me vem à mente. Não parece tão difícil. Isso pode realmente ser um exercício divertido.
Primeiro, você deseja geolocalizar o endereço IP. Existem alguns gratuitos, como HostIP.info e IPInfoDB (entre muitos outros). Você provavelmente deve tentar pegar um código postal, ou se você é internacional, então as coordenadas de latitude / longitude. Isso pode ser feito por chamadas de API, portanto, não é difícil integrá-lo ao seu sistema.
Em segundo lugar, procure o tempo para o site solicitante. Você vai querer adaptar isso diretamente à resposta da API escolhida. Por exemplo, a API do WUnderground permite a realização de 500 pesquisas gratuitas com dados suficientes para sufocar uma pequena cidade. Existem muitas outras APIs meteorológicas que também podem fornecer informações, algumas gratuitas e outras pagas.
A integração em si vai levar o trabalho. Você precisará fazer o seguinte:
- Registre-se com as APIs de geolocalização e clima (todas elas exigem alguma forma de chave para autenticar)
- Adquirir o endereço IP do solicitante (você já pode fazer isso)
- Solicite a localização geográfica desse IP e processe a resposta json / xml para zip ou coordenadas de latitude / longitude
- Solicite dados meteorológicos para o local e processe a resposta json / xml para obter dados interessantes. Alertas de tempo severo, condições atuais, chuva, o que for interessante para você.
- Armazene esses dados no ticket de maneira significativa
- (opcional) - Faça a mesma coisa, mas adicione um traceroute de / para o solicitante e localize geograficamente os saltos intermediários para obter mais benefícios climáticos.
Divirta-se com isso!