Class: Peddler::API::FulfillmentOutbound20200701

Inherits:
Peddler::API
  • Object
show all
Defined in:
lib/peddler/api/fulfillment_outbound_2020_07_01.rb

Overview

Selling Partner APIs for Fulfillment Outbound

The Selling Partner API for Fulfillment Outbound lets you create applications that help a seller fulfill Multi-Channel Fulfillment orders using their inventory in Amazon’s fulfillment network. You can get information on both potential and existing fulfillment orders.

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_fulfillment_order(seller_fulfillment_order_id, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Requests that Amazon stop attempting to fulfill the fulfillment order indicated by the specified order identifier.

Parameters:

  • seller_fulfillment_order_id (String)

    The identifier assigned to the item by the seller when the fulfillment order was created.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



171
172
173
174
175
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 171

def cancel_fulfillment_order(seller_fulfillment_order_id, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{seller_fulfillment_order_id}/cancel"

  meter(rate_limit).put(path)
end

#create_fulfillment_order(body, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Requests that Amazon ship items from the seller’s inventory in Amazon’s fulfillment network to a destination address.

Parameters:

  • body (Hash)

    CreateFulfillmentOrderRequest parameter

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



71
72
73
74
75
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 71

def create_fulfillment_order(body, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders"

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

#create_fulfillment_return(body, seller_fulfillment_order_id, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Creates a fulfillment return.

Parameters:

  • body (Hash)

    CreateFulfillmentReturnRequest parameter

  • seller_fulfillment_order_id (String)

    An identifier assigned by the seller to the fulfillment order at the time it was created. The seller uses their own records to find the correct ‘SellerFulfillmentOrderId` value based on the buyer’s request to return items.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



130
131
132
133
134
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 130

def create_fulfillment_return(body, seller_fulfillment_order_id, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{seller_fulfillment_order_id}/return"

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

#delivery_offers(body, rate_limit: 5.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns delivery options that include an estimated delivery date and offer expiration, based on criteria that you specify.

Parameters:

  • body (Hash)

    GetDeliveryOffersRequest parameter

  • rate_limit (Float) (defaults to: 5.0)

    Requests per second

Returns:

  • (Hash)

    The API response



38
39
40
41
42
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 38

def delivery_offers(body, rate_limit: 5.0)
  path = "/fba/outbound/2020-07-01/deliveryOffers"

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

#get_feature_inventory(marketplace_id, feature_name, next_token: nil, query_start_date: nil, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns a list of inventory items that are eligible for the fulfillment feature you specify.

Parameters:

  • marketplace_id (String)

    The marketplace for which to return a list of the inventory that is eligible for the specified feature.

  • feature_name (String)

    The name of the feature for which to return a list of eligible inventory.

  • next_token (String) (defaults to: nil)

    A string token returned in the response to your previous request that is used to return the next response page. A value of null will return the first page.

  • query_start_date (String) (defaults to: nil)

    A date that you can use to select inventory that has been updated since a specified date. An update is defined as any change in feature-enabled inventory availability. The date must be in the format yyyy-MM-ddTHH:mm:ss.sssZ

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



226
227
228
229
230
231
232
233
234
235
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 226

def get_feature_inventory(marketplace_id, feature_name, next_token: nil, query_start_date: nil, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/features/inventory/#{feature_name}"
  params = {
    "marketplaceId" => marketplace_id,
    "nextToken" => next_token,
    "queryStartDate" => query_start_date,
  }.compact

  meter(rate_limit).get(path, params:)
end

#get_feature_sku(marketplace_id, feature_name, seller_sku, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns the number of items with the sellerSKU you specify that can have orders fulfilled using the specified feature. Note that if the sellerSKU isn’t eligible, the response will contain an empty skuInfo object. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](developer-docs.amazon.com/sp-api/docs/url-encoding).

Parameters:

  • marketplace_id (String)

    The marketplace for which to return the count.

  • feature_name (String)

    The name of the feature.

  • seller_sku (String)

    Used to identify an item in the given marketplace. ‘SellerSKU` is qualified by the seller’s ‘SellerId`, which is included with every operation that you submit.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



249
250
251
252
253
254
255
256
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 249

def get_feature_sku(marketplace_id, feature_name, seller_sku, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/features/inventory/#{feature_name}/#{seller_sku}"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact

  meter(rate_limit).get(path, params:)
end

#get_features(marketplace_id, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns a list of features available for Multi-Channel Fulfillment orders in the marketplace you specify, and whether the seller for which you made the call is enrolled for each feature.

Parameters:

  • marketplace_id (String)

    The marketplace for which to return the list of features.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



204
205
206
207
208
209
210
211
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 204

def get_features(marketplace_id, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/features"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact

  meter(rate_limit).get(path, params:)
end

#get_fulfillment_order(seller_fulfillment_order_id, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns the fulfillment order indicated by the specified order identifier.

Parameters:

  • seller_fulfillment_order_id (String)

    The identifier assigned to the item by the seller when the fulfillment order was created.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



143
144
145
146
147
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 143

def get_fulfillment_order(seller_fulfillment_order_id, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{seller_fulfillment_order_id}"

  meter(rate_limit).get(path)
end

#get_fulfillment_preview(body, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns a list of fulfillment order previews based on shipping criteria that you specify.

Parameters:

  • body (Hash)

    GetFulfillmentPreviewRequest parameter

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



25
26
27
28
29
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 25

def get_fulfillment_preview(body, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/preview"

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

#get_package_tracking_details(package_number, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns delivery tracking information for a package in an outbound shipment for a Multi-Channel Fulfillment order.

Parameters:

  • package_number (Integer)

    The unencrypted package identifier returned by the ‘getFulfillmentOrder` operation.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



85
86
87
88
89
90
91
92
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 85

def get_package_tracking_details(package_number, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/tracking"
  params = {
    "packageNumber" => package_number,
  }.compact

  meter(rate_limit).get(path, params:)
end

#list_all_fulfillment_orders(query_start_date: nil, next_token: nil, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns a list of fulfillment orders fulfilled after (or at) a specified date-time, or indicated by the next token parameter.

Parameters:

  • query_start_date (String) (defaults to: nil)

    A date used to select fulfillment orders that were last updated after (or at) a specified time. An update is defined as any change in fulfillment order status, including the creation of a new fulfillment order.

  • next_token (String) (defaults to: nil)

    A string token returned in the response to your previous request.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



54
55
56
57
58
59
60
61
62
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 54

def list_all_fulfillment_orders(query_start_date: nil, next_token: nil, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders"
  params = {
    "queryStartDate" => query_start_date,
    "nextToken" => next_token,
  }.compact

  meter(rate_limit).get(path, params:)
end

#list_return_reason_codes(seller_sku, marketplace_id: nil, seller_fulfillment_order_id: nil, language: nil, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns a list of return reason codes for a seller SKU in a given marketplace. The parameters for this operation may contain special characters that require URL encoding. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](developer-docs.amazon.com/sp-api/docs/url-encoding).

Parameters:

  • seller_sku (String)

    The seller SKU for which return reason codes are required.

  • marketplace_id (String) (defaults to: nil)

    The marketplace for which the seller wants return reason codes.

  • seller_fulfillment_order_id (String) (defaults to: nil)

    The identifier assigned to the item by the seller when the fulfillment order was created. The service uses this value to determine the marketplace for which the seller wants return reason codes.

  • language (String) (defaults to: nil)

    The language that the ‘TranslatedDescription` property of the `ReasonCodeDetails` response object should be translated into.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 108

def list_return_reason_codes(seller_sku, marketplace_id: nil, seller_fulfillment_order_id: nil, language: nil,
  rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/returnReasonCodes"
  params = {
    "sellerSku" => seller_sku,
    "marketplaceId" => marketplace_id,
    "sellerFulfillmentOrderId" => seller_fulfillment_order_id,
    "language" => language,
  }.compact

  meter(rate_limit).get(path, params:)
end

#submit_fulfillment_order_status_update(seller_fulfillment_order_id, body, rate_limit: nil) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Requests that Amazon update the status of an order in the sandbox testing environment. This is a sandbox-only operation and must be directed to a sandbox endpoint. Refer to [Fulfillment Outbound Dynamic Sandbox Guide](developer-docs.amazon.com/sp-api/docs/fulfillment-outbound-dynamic-sandbox-guide) and [Selling Partner API sandbox](developer-docs.amazon.com/sp-api/docs/the-selling-partner-api-sandbox) for more information.

Parameters:

  • seller_fulfillment_order_id (String)

    The identifier assigned to the item by the seller when the fulfillment order was created.

  • body (Hash)

    The identifier assigned to the item by the seller when the fulfillment order was created.

  • rate_limit (Float) (defaults to: nil)

    Requests per second

Returns:

  • (Hash)

    The API response



189
190
191
192
193
194
195
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 189

def submit_fulfillment_order_status_update(seller_fulfillment_order_id, body, rate_limit: nil)
  must_sandbox!

  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{seller_fulfillment_order_id}/status"

  put(path, body:)
end

#update_fulfillment_order(body, seller_fulfillment_order_id, rate_limit: 2.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Updates and/or requests shipment for a fulfillment order with an order hold on it.

Parameters:

  • body (Hash)

    UpdateFulfillmentOrderRequest parameter

  • seller_fulfillment_order_id (String)

    The identifier assigned to the item by the seller when the fulfillment order was created.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:

  • (Hash)

    The API response



157
158
159
160
161
# File 'lib/peddler/api/fulfillment_outbound_2020_07_01.rb', line 157

def update_fulfillment_order(body, seller_fulfillment_order_id, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{seller_fulfillment_order_id}"

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