Informações da zona de envio do USPS

Estou tentando exibir as informações da zona de envio do USPS, mas a seção do site do USPS que usei para extrair essas informações foi quebrada há meses e estou me perguntando se alguém conhece outra maneira de obtê-lo em um formato analisável?

A página que foi quebrada por meses está aqui: http://postcalc.usps.gov/Zonecharts/ZoneChartPrintable.aspx?zipcode=931

Eles têm o mesmo gráfico em um formato não muito analisável aqui: http://postcalc.usps.gov/Zonecharts/

Eu coloco em cache essas informações para que não tenham que ser solicitadas constantemente, mas o cache é limpo ocasionalmente, já que as zonas mudam de vez em quando.

Resposta

Aqui está o código que uso para buscar os dados JSON que preenchem http://postcalc.usps.gov/Zonecharts/ .

private String getZoneJSON(String zip3Digit) { URL url; HttpURLConnection con; String zoneJSON = null; try { url = new URL("https://postcalc.usps.com/DomesticZoneChart/GetZoneChart?ZIPCode3Digit=" + zip3Digit + "&ExcelFormat=1"); con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET"); con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"); con.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"); con.setRequestProperty("DNT", "1"); con.setInstanceFollowRedirects(false); InputStream h = (InputStream) con.getContent(); BufferedReader r = new BufferedReader(new InputStreamReader(h)); zoneJSON = r.readLine(); } catch(Exception e) { e.printStackTrace(); } return zoneJSON; } 

Comentários

  • Isso é perfeito, obrigado. Eu não não volto para revisar seu novo site há algum tempo, mas estou feliz por eles servirem uma string JSON agora em vez de ter que analisar o HTML.

Resposta

Você também pode calcular a zona com base na distância entre as coordenadas de origem SCF (Sectional Center Facility) e o destino SCF

Zona 1 : Zonas não locais em um raio de 50 milhas do ponto de origem

Zona 2: raio de 51-150 milhas

Zona 3: raio de 151-300 milhas

Zona 4: raio de 301-600 milhas

Zona 5: raio de 601-1.000 milhas

Zona 6: raio de 1001-1400 milhas

Zona 7: Raio de 1401-1800 milhas

Zona 8: 1801 milhas e mais

Zona 9: CEPs atribuídos para circunstâncias de rede excepcionais

  • Você pode multar SCF para cada código postal aqui: https://fast.usps.com/fast/fastApp/resources/labelListFiles.action
  • Você pode obter as coordenadas do SCF da API do Google
  • Depois de ter as coordenadas, existem várias maneiras para calcular a distância entre eles
  • Você também pode pular as coordenadas e apenas calcular a distância entre os CEPs do próprio SCF (não os CEPs que serve)

Resposta

O USPS vende um gráfico de zona completa para todas as combinações de para zip por $ 63 aqui: https://postalpro.usps.com/operations/zone-charts

Eu pedi uma vez que não consegui encontrar informações sobre isso em nenhum outro lugar há meses.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *