public async Task QueryZT(string sPostalCode) { // Ask ZT about the Postal code. Working in 2017. // http://ziptasticapi.com // e.g. sPostalCode = "90210"; // http://ziptasticapi.com/90210 // may get 503 error intermittently? string sReq = "http://ziptasticapi.com/" + sPostalCode; m_sResponse = await RequestStringAsync(sReq); // populate m_z from JSON // Newtonsoft.Json.JsonConvert.PopulateObject(m_sResponse,m_z); var xs = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(PostalCodeZT)); var x = xs.ReadObject(m_sResponse.ToMemoryStream()) as PostalCodeZT; m_z = new PostalCode1 { PostalCode = sPostalCode, City = Formatter.ToTitleCase(x.city), // NOT all caps. State = x.state, CountryCode = x.country, }; if (m_z.CountryCode == "US") { m_z.CountryCode = "USA"; // use 3 letter code not 2 letter. } }
public async Task <bool> QueryAsync(string sPostalCode) { m_z = null; try { await QueryZT(sPostalCode); return(true); } catch { return(false); } }
public async Task QueryWSX_JUNK(string sPostalCode) { // TODO // Ask WSX about the Postal code. // http://webservicex.net/uszip.asmx?op=GetInfoByZIP (out of disk space) string sReq = "http://webservicex.net/uszip.asmx/GetInfoByZIP?USZip=" + sPostalCode; m_sResponse = await RequestStringAsync(sReq); // TODO populate m_z m_z = new PostalCode1 { PostalCode = sPostalCode }; }
public async Task QueryUSPS(string sPostalCode) { // TODO // Ask USPS about the Postal code. // USPS (need to be sending mail) string urlServer = "http://production.shippingapis.com/ShippingAPI.dll"; // Test const string sUserID = "771LMGHO5723"; string sReq = $"{urlServer}?API=CityStateLookup&XML=<CityStateLookupRequest%20USERID=\"{sUserID}\"><ZipCode ID=\"0\"><Zip5>{sPostalCode}</Zip5></ZipCode></CityStateLookupRequest>"; m_sResponse = await RequestStringAsync(sReq); // TODO populate m_z m_z = new PostalCode1 { PostalCode = sPostalCode }; }