Class: ShipEngine::Client

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key, retries: nil, timeout: nil, page_size: nil, base_url: nil) ⇒ Client

Returns a new instance of Client.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/shipengine.rb', line 18

def initialize(api_key, retries: nil, timeout: nil, page_size: nil, base_url: nil)
  @configuration = Configuration.new(
    api_key:,
    retries:,
    base_url:,
    timeout:,
    page_size:
  )

  @internal_client = ShipEngine::InternalClient.new(@configuration)
  @addresses = Domain::Addresses.new(@internal_client)
  @carriers = Domain::Carriers.new(@internal_client)
  @labels = Domain::Labels.new(@internal_client)
  @rates = Domain::Rates.new(@internal_client)
  @tracking = Domain::Tracking.new(@internal_client)
end

Instance Attribute Details

#configurationObject

Returns the value of attribute configuration.



16
17
18
# File 'lib/shipengine.rb', line 16

def configuration
  @configuration
end

Instance Method Details

#create_label_from_rate(rate_id, params, config = {}) ⇒ ShipEngine::Domain::Labels::CreateFromRate::Response

Create label from Rate Id

Parameters:

  • rate_id (String)
  • params (Hash)
  • config (Hash) (defaults to: {})

Options Hash (config):

  • :api_key (String?)
  • :base_url (String?)
  • :retries (Number?)
  • :timeout (Number?)

Returns:

See Also:



83
84
85
# File 'lib/shipengine.rb', line 83

def create_label_from_rate(rate_id, params, config = {})
  @labels.create_from_rate(rate_id, params, config)
end

#create_label_from_shipment_details(params, config = {}) ⇒ ShipEngine::Domain::Labels::CreateFromShipmentDetails::Response

Create label from Shipment Details

Parameters:

  • params (Hash)
  • config (Hash) (defaults to: {})

Options Hash (config):

  • :api_key (String?)
  • :base_url (String?)
  • :retries (Number?)
  • :timeout (Number?)

Returns:

See Also:



99
100
101
# File 'lib/shipengine.rb', line 99

def create_label_from_shipment_details(params, config = {})
  @labels.create_from_shipment_details(params, config)
end

#get_rates_with_shipment_details(shipment_details, config = {}) ⇒ ShipEngine::Domain::Tracking::TrackUsingLabelId::Response

Get Rates with Shipment Details

Parameters:

  • Shipment

    Details [Hash]

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

Options Hash (config):

  • :api_key (String?)
  • :base_url (String?)
  • :retries (Number?)
  • :timeout (Number?)

Returns:



130
131
132
# File 'lib/shipengine.rb', line 130

def get_rates_with_shipment_details(shipment_details, config = {})
  @rates.get_rates_with_shipment_details(shipment_details, config)
end

#list_carriers(config: {}) ⇒ ShipEngine::Domain::Carriers::ListCarriers::Response

List all of the users Carriers

Parameters:

  • config (Hash?) (defaults to: {})

Options Hash (config:):

  • :api_key (String?)
  • :base_url (String?)
  • :retries (Number?)
  • :timeout (Number?)

Returns:

See Also:



66
67
68
# File 'lib/shipengine.rb', line 66

def list_carriers(config: {})
  @carriers.list_carriers(config:)
end

#track_using_carrier_code_and_tracking_number(carrier_code, tracking_number, config = {}) ⇒ ShipEngine::Domain::Tracking::TrackUsingCarrierCodeAndTrackingNumber::Response

Track Package by tracking number. Tracking by package_id is preferred [@see #track_package_by_id]

Parameters:

  • tracking_number (String)

    <description>

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

Options Hash (config):

  • :api_key (String?)
  • :base_url (String?)
  • :retries (Number?)
  • :timeout (Number?)

Returns:



160
161
162
# File 'lib/shipengine.rb', line 160

def track_using_carrier_code_and_tracking_number(carrier_code, tracking_number, config = {})
  @tracking.track_using_carrier_code_and_tracking_number(carrier_code, tracking_number, config)
end

#track_using_label_id(label_id, config = {}) ⇒ ShipEngine::Domain::Tracking::TrackUsingLabelId::Response

Track Package by package id (recommended)

Parameters:

  • label_id (String)

    <description>

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

Options Hash (config):

  • :api_key (String?)
  • :base_url (String?)
  • :retries (Number?)
  • :timeout (Number?)

Returns:



145
146
147
# File 'lib/shipengine.rb', line 145

def track_using_label_id(label_id, config = {})
  @tracking.track_using_label_id(label_id, config)
end

#validate_addresses(address, config = {}) ⇒ Array<ShipEngine::Domain::Addresses::AddressValidation::Response>

Validate an array of address

Parameters:

Options Hash (config):

  • :api_key (String?)
  • :base_url (String?)
  • :retries (Number?)
  • :timeout (Number?)

Returns:

See Also:



49
50
51
# File 'lib/shipengine.rb', line 49

def validate_addresses(address, config = {})
  @addresses.validate(address, config)
end

#void_label_with_label_id(label_id, config = {}) ⇒ ShipEngine::Domain::Labels::CreateFromShipmentDetails::Response

Void label with Label Id

Parameters:

  • label_id (String)
  • config (Hash) (defaults to: {})

Options Hash (config):

  • :api_key (String?)
  • :base_url (String?)
  • :retries (Number?)
  • :timeout (Number?)

Returns:

See Also:



115
116
117
# File 'lib/shipengine.rb', line 115

def void_label_with_label_id(label_id, config = {})
  @labels.void(label_id, config)
end