public void AddressValidation_IsRural()
        {
            GoSweetSpotApiClient client = new GoSweetSpotApiClient(api_token);

            var data = new AddressToValidate
            {
                Consignee = "0123456789 0123456789 0123456789 0123456789",
                Address   = new AddressToValidate.AddressObject
                {
                    BuildingName  = "",
                    StreetAddress = "1 Chesham Lane",
                    Suburb        = "Clevedon",
                    City          = "Auckland",
                    PostCode      = "2248",
                    CountryCode   = "NZ",
                    IsRural       = false
                },
                Email                = "",
                ContactPerson        = "",
                PhoneNumber          = "",
                DeliveryInstructions = ""
            };

            var rsp = client.AddressValidation_PostAsync(data).Result;

            Assert.IsTrue(rsp.Address.Address.IsRural);
        }
        public void AddressValidation_CorrectSuburb()
        {
            GoSweetSpotApiClient client = new GoSweetSpotApiClient(api_token);

            var data = new AddressToValidate
            {
                Consignee = "0123456789 0123456789 0123456789 0123456789",
                Address   = new AddressToValidate.AddressObject
                {
                    BuildingName  = "",
                    StreetAddress = "1 Some Street",
                    Suburb        = "Mascot",
                    City          = "NSW",
                    PostCode      = "2020",
                    CountryCode   = "AU",
                    IsRural       = false
                },
                Email                = "",
                ContactPerson        = "",
                PhoneNumber          = "",
                DeliveryInstructions = ""
            };

            var rsp = client.AddressValidation_PostAsync(data).Result;

            Assert.IsFalse(rsp.Errors.Any());
        }
示例#3
0
        // Address Validation
        public async Task <AddressValidationResponse> AddressValidation_PostAsync(AddressToValidate request)
        {
            HttpResponseMessage response = await Common.GetHttpClient(API_TOKEN).PostAsJsonAsync("v2/addressvalidation", request);

            if (response.IsSuccessStatusCode)
            {
                return(response.Content.ReadAsAsync <AddressValidationResponse>().Result);
            }
            else
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendFormat("{0} ({1}) - {2}", (int)response.StatusCode, response.ReasonPhrase, response.Content.ReadAsStringAsync().Result);
                throw new HttpRequestException(sb.ToString());
            }
        }
示例#4
0
        public IActionResult Validate(AddressToValidate addressToValidate)
        {
            AddressToValidate result     = new AddressToValidate();
            XDocument         requestDoc = new XDocument(
                new XElement("AddressValidateRequest",
                             new XAttribute("USERID", "798STUDE0649"), // userid from USPS api reristered
                             new XElement("Revision", "1"),
                             new XElement("Address",
                                          new XAttribute("ID", "0"),
                                          new XElement("Address1", addressToValidate.Address1),
                                          new XElement("Address2", addressToValidate.Address2),
                                          new XElement("City", addressToValidate.City),
                                          new XElement("State", addressToValidate.State),
                                          new XElement("Zip5", addressToValidate.Zip5),
                                          new XElement("Zip4", addressToValidate.Zip4)
                                          )
                             )
                );

            try
            {
                var usps_api_url = "http://production.shippingapis.com/ShippingAPI.dll?API=Verify&XML=" + requestDoc;
                var client       = new WebClient();
                var response     = client.DownloadString(usps_api_url);
                var xdoc         = XDocument.Parse(response.ToString());
                foreach (XElement element in xdoc.Descendants("Address"))
                {
                    result.Name     = addressToValidate.Name.ToUpper();
                    result.Address1 = GetXMLElement(element, "Address2");
                    result.Address2 = GetXMLElement(element, "Address1");
                    result.City     = GetXMLElement(element, "City");
                    result.State    = GetXMLElement(element, "State");
                    result.Zip5     = GetXMLElement(element, "Zip5");
                    result.Zip4     = GetXMLElement(element, "Zip4");
                }
            }
            catch (WebException e)
            {
                Console.WriteLine(e.ToString());
            }
            return(Ok(result));