Class: ParcelApi::Pickup

Inherits:
Object
  • Object
show all
Defined in:
lib/parcel_api/pickup.rb

Overview

The ParcelPickUp API that notifies PACE or CourierPost to come and pick up your parcel. The integrator provides the pick up location in the form of a site id or an address to create the pick up record.

Constant Summary collapse

PARCELPICKUP_URL =
'/ParcelPickUp/3.0/bookings'

Instance Method Summary collapse

Constructor Details

#initialize(connection = nil) ⇒ Pickup

Creates a new ParcelApi::Pickup instance.



11
12
13
# File 'lib/parcel_api/pickup.rb', line 11

def initialize(connection=nil)
  @connection ||= connection || ParcelApi::Client.connection
end

Instance Method Details

#create(pickup_options)

Create a new parcel booking

Parameters:

  • pickup_options (Hash)

Returns:

  • Object of pickup details



19
20
21
22
# File 'lib/parcel_api/pickup.rb', line 19

def create(pickup_options)
  response = @connection.post PARCELPICKUP_URL, body: pickup_options.to_json.to_ascii, headers: { 'Content-Type' => 'application/json' }
  RecursiveOpenStruct.new(response.parsed, recurse_over_arrays: true)
end