Class: Peddler::API::ShippingV1

Inherits:
Peddler::API show all
Defined in:
lib/peddler/api/shipping_v1.rb

Overview

Selling Partner API for Shipping

Provides programmatic access to Amazon Shipping APIs. Note: If you are new to the Amazon Shipping API, refer to the latest version of <a href=“developer-docs.amazon.com/amazon-shipping/docs/shipping-api-v2-reference”>Amazon Shipping API (v2)</a> on the <a href=“developer-docs.amazon.com/amazon-shipping/”>Amazon Shipping Developer Documentation</a> site.

Instance Attribute Summary

Attributes inherited from Peddler::API

#access_token, #endpoint

Instance Method Summary collapse

Methods inherited from Peddler::API

#cannot_sandbox!, #endpoint_uri, #http, #initialize, #meter, #must_sandbox!, #retriable, #sandbox, #sandbox?, #use, #via

Constructor Details

This class inherits a constructor from Peddler::API

Instance Method Details

#cancel_shipment(shipment_id, rate_limit: 5.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Cancel a shipment by the given shipmentId.

Parameters:

  • shipment_id (String)
  • rate_limit (Float) (defaults to: 5.0)

    Requests per second

Returns:

  • (Hash)

    The API response



51
52
53
54
55
# File 'lib/peddler/api/shipping_v1.rb', line 51

def cancel_shipment(shipment_id, rate_limit: 5.0)
  path = "/shipping/v1/shipments/#{shipment_id}/cancel"

  meter(rate_limit).post(path)
end

#create_shipment(body, rate_limit: 5.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Create a new shipment.

Parameters:

  • body (Hash)
  • rate_limit (Float) (defaults to: 5.0)

    Requests per second

Returns:

  • (Hash)

    The API response



27
28
29
30
31
# File 'lib/peddler/api/shipping_v1.rb', line 27

def create_shipment(body, rate_limit: 5.0)
  path = "/shipping/v1/shipments"

  meter(rate_limit).post(path, body:)
end

#get_account(rate_limit: 5.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Verify if the current account is valid.

Parameters:

  • rate_limit (Float) (defaults to: 5.0)

    Requests per second

Returns:

  • (Hash)

    The API response



113
114
115
116
117
# File 'lib/peddler/api/shipping_v1.rb', line 113

def (rate_limit: 5.0)
  path = "/shipping/v1/account"

  meter(rate_limit).get(path)
end

#get_rates(body, rate_limit: 5.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Get service rates.

Parameters:

  • body (Hash)
  • rate_limit (Float) (defaults to: 5.0)

    Requests per second

Returns:

  • (Hash)

    The API response



102
103
104
105
106
# File 'lib/peddler/api/shipping_v1.rb', line 102

def get_rates(body, rate_limit: 5.0)
  path = "/shipping/v1/rates"

  meter(rate_limit).post(path, body:)
end

#get_shipment(shipment_id, rate_limit: 5.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Return the entire shipment object for the shipmentId.

Parameters:

  • shipment_id (String)
  • rate_limit (Float) (defaults to: 5.0)

    Requests per second

Returns:

  • (Hash)

    The API response



39
40
41
42
43
# File 'lib/peddler/api/shipping_v1.rb', line 39

def get_shipment(shipment_id, rate_limit: 5.0)
  path = "/shipping/v1/shipments/#{shipment_id}"

  meter(rate_limit).get(path)
end

#get_tracking_information(tracking_id, rate_limit: 1.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Return the tracking information of a shipment.

Parameters:

  • tracking_id (String)
  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:

  • (Hash)

    The API response



125
126
127
128
129
# File 'lib/peddler/api/shipping_v1.rb', line 125

def get_tracking_information(tracking_id, rate_limit: 1.0)
  path = "/shipping/v1/tracking/#{tracking_id}"

  meter(rate_limit).get(path)
end

#purchase_labels(shipment_id, body, rate_limit: 5.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Purchase shipping labels based on a given rate.

Parameters:

  • shipment_id (String)
  • body (Hash)
  • rate_limit (Float) (defaults to: 5.0)

    Requests per second

Returns:

  • (Hash)

    The API response



64
65
66
67
68
# File 'lib/peddler/api/shipping_v1.rb', line 64

def purchase_labels(shipment_id, body, rate_limit: 5.0)
  path = "/shipping/v1/shipments/#{shipment_id}/purchaseLabels"

  meter(rate_limit).post(path, body:)
end

#purchase_shipment(body, rate_limit: 5.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Purchase shipping labels.

Parameters:

  • body (Hash)
  • rate_limit (Float) (defaults to: 5.0)

    Requests per second

Returns:

  • (Hash)

    The API response



90
91
92
93
94
# File 'lib/peddler/api/shipping_v1.rb', line 90

def purchase_shipment(body, rate_limit: 5.0)
  path = "/shipping/v1/purchaseShipment"

  meter(rate_limit).post(path, body:)
end

#retrieve_shipping_label(shipment_id, tracking_id, body, rate_limit: 5.0) ⇒ Hash

Note:

This operation can make a static sandbox call.

Retrieve shipping label based on the shipment id and tracking id.

Parameters:

  • shipment_id (String)
  • tracking_id (String)
  • body (Hash)
  • rate_limit (Float) (defaults to: 5.0)

    Requests per second

Returns:

  • (Hash)

    The API response



78
79
80
81
82
# File 'lib/peddler/api/shipping_v1.rb', line 78

def retrieve_shipping_label(shipment_id, tracking_id, body, rate_limit: 5.0)
  path = "/shipping/v1/shipments/#{shipment_id}/containers/#{tracking_id}/label"

  meter(rate_limit).post(path, body:)
end