Module: Usps::Api::Endpoints::ZipCodeLookup

Included in:
Usps::Api::Endpoints
Defined in:
lib/usps/api/endpoints/zip_code_lookup.rb

Instance Method Summary collapse

Instance Method Details

#zip_code_lookup(options = {}) ⇒ Object

The ZipCodeLookup API, which returns the ZIP Code and ZIP Code + 4 corresponding to the given address, city, and state (use USPS state abbreviations). The ZipCodeLookup API processes up to five lookups per request.

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • zip_code_lookup_request (required, Hash)

    API = ZipCodeLookupRequest

    • :address (Hash) —

      • :firm_name (String) — Up to 5 address verifications can be included per transaction.

      • :address1 (String) — Delivery Address in the destination address. May contain secondary unit designator, such as APT or SUITE, for Accountable mail.)

      • :address2 (required, String) — Delivery Address in the destination address. Required for all mail and packages, however 11-digit Destination Delivery Point ZIP+4 Code can be provided as an alternative in the Detail 1 Record.

      • :city (String) — City name of the destination address. Field is required, unless a verified 11-digit DPV is provided for the mail piece.

      • :state (String) — Two-character state code of the destination address.

      • :zip5 (String) — Destination 5-digit ZIP Code. Must be 5-digits. Numeric values (0-9) only. If International, all zeroes.

      • :zip4 (String) — Destination ZIP+4. Numeric values (0-9) only. If International, all zeroes. Default to spaces if not available.



23
24
25
26
27
28
29
30
31
# File 'lib/usps/api/endpoints/zip_code_lookup.rb', line 23

def zip_code_lookup(options = {})
	throw ArgumentError.new('Required arguments :zip_code_lookup_request missing') if options[:zip_code_lookup_request].nil?

	request = build_request(:zip_code_lookup, options)
	get('https://secure.shippingapis.com/ShippingAPI.dll', {
		API: 'ZipCodeLookup',
		XML: request,
	})
end