Module: Usps::Api::Endpoints::HFPFacilityInfo

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

Instance Method Summary collapse

Instance Method Details

#hfp_facility_info(options = {}) ⇒ Object

Hold For Pickup service is available at approximately 31,000 USPS locations. This API will list US Postal Service Facilities where Hold-For-Pickup service is available. The response includes facilities based on ZIP code (five or nine digit) or City/State up to a maximum number of locations. Shipments are available for pickup by the recipient or a designee at the designated Hold For Pickup location by either 10 a.m., noon, or 3 p.m., based on the service standard associated with the mail class. Hold For Pickup shipments are sent to a designated Hold For Pickup location, such as a Post Office, where the shipment can be picked up within five calendar days. Hold For Pickup service lets customers pick up shipments when it is convenient for them, with the assurance that their shipments are held safely and securely.

Parameters:

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

Options Hash (options):

  • hfp_facility_info_request (required, Hash)

    API=HFPFacilityInfo

    • :pickup_city (required, String) — Either City/State or ZIP code must be specified. When only city and state are provided, all pickup facilities with addresses within that city and state will be returned. For example: <PickupCity>Boston</PickupCity>

    • :pickup_state (required, String) — Either City/State or ZIP code must be specified. For example: <PickupState>MA</PickupState>

    • :pickup_zip (required, String) — Either City/State or ZIP code must be specified. When PickupZIP provided without PickupZIP4, all pickup facilities that service that ZIP code are returned. For example: <PickupZIP>02111</PickupZIP>

    • :pickup_zip4 (required, String) — If PickupZIP is specified, then PickupZIP4 may also be specified. This will match to a single pickup facility with the given nine-digit ZIP code. For example: <PickupZIP4>9998</PickupZIP4>

    • :service (String) — For future use. May be omitted.



27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/usps/api/endpoints/hfp_facility_info.rb', line 27

def hfp_facility_info(options = {})
	throw ArgumentError.new('Required arguments :hfp_facility_info_request missing') if options[:hfp_facility_info_request].nil?
	throw ArgumentError.new('Required arguments :hfp_facility_info_request, :pickup_city missing') if options[:hfp_facility_info_request][:pickup_city].nil?
	throw ArgumentError.new('Required arguments :hfp_facility_info_request, :pickup_state missing') if options[:hfp_facility_info_request][:pickup_state].nil?
	throw ArgumentError.new('Required arguments :hfp_facility_info_request, :pickup_zip missing') if options[:hfp_facility_info_request][:pickup_zip].nil?
	throw ArgumentError.new('Required arguments :hfp_facility_info_request, :pickup_zip4 missing') if options[:hfp_facility_info_request][:pickup_zip4].nil?

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