module Usps::Api::Endpoints::HFPFacilityInfo

Public Instance Methods

hfp_facility_info(options = {}) click to toggle source

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. @param [Hash] options @option options [required, Hash] hfp_facility_info_request 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.
# 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

Private Instance Methods

build_hfp_facility_info_request(xml, options = {}) click to toggle source
# File lib/usps/api/endpoints/hfp_facility_info.rb, line 47
def build_hfp_facility_info_request(xml, options = {})
        xml.tag!('PickupCity', options[:hfp_facility_info_request][:pickup_city])
        xml.tag!('PickupState', options[:hfp_facility_info_request][:pickup_state])
        xml.tag!('PickupZIP', options[:hfp_facility_info_request][:pickup_zip])
        xml.tag!('PickupZIP4', options[:hfp_facility_info_request][:pickup_zip4])
        tag_unless_blank(xml, 'Service', options[:hfp_facility_info_request][:service])
        xml.target!
end
tag_unless_blank(xml, tag_name, data) click to toggle source
# File lib/usps/api/endpoints/hfp_facility_info.rb, line 43
def tag_unless_blank(xml, tag_name, data)
        xml.tag!(tag_name, data) unless data.blank? || data.nil?
end