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



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

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



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

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



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

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



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

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



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

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.

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



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

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



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

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



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

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



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

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



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

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



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

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.

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



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

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 and 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



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

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



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

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