class Peddler::API::FulfillmentOutbound20200701

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.

Public Instance Methods

cancel_fulfillment_order(seller_fulfillment_order_id, rate_limit: 2.0) click to toggle source

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

@note This operation can make a dynamic sandbox call. @param seller_fulfillment_order_id [String] The identifier assigned to the item by the seller when the

fulfillment order was created.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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

@note This operation can make a dynamic sandbox call. @param body [Hash] CreateFulfillmentOrderRequest parameter @param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

Creates a fulfillment return.

@note This operation can make a dynamic sandbox call. @param body [Hash] CreateFulfillmentReturnRequest parameter @param 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.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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

@note This operation can make a dynamic sandbox call. @param body [Hash] GetDeliveryOffersRequest parameter @param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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

@note This operation can make a dynamic sandbox call. @param marketplace_id [String] The marketplace for which to return a list of the inventory that is eligible for

the specified feature.

@param feature_name [String] The name of the feature for which to return a list of eligible inventory. @param next_token [String] 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.

@param query_start_date [String] 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

@param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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).

@note This operation can make a dynamic sandbox call. @param marketplace_id [String] The marketplace for which to return the count. @param feature_name [String] The name of the feature. @param 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.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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.

@note This operation can make a dynamic sandbox call. @param marketplace_id [String] The marketplace for which to return the list of features. @param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

Returns the fulfillment order indicated by the specified order identifier.

@note This operation can make a dynamic sandbox call. @param seller_fulfillment_order_id [String] The identifier assigned to the item by the seller when the

fulfillment order was created.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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

@note This operation can make a dynamic sandbox call. @param body [Hash] GetFulfillmentPreviewRequest parameter @param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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

@note This operation can make a dynamic sandbox call. @param package_number [Integer] The unencrypted package identifier returned by the ‘getFulfillmentOrder`

operation.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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

@note This operation can make a dynamic sandbox call. @param query_start_date [String] 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.

@param next_token [String] A string token returned in the response to your previous request. @param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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).

@note This operation can make a dynamic sandbox call. @param seller_sku [String] The seller SKU for which return reason codes are required. @param marketplace_id [String] The marketplace for which the seller wants return reason codes. @param seller_fulfillment_order_id [String] 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.

@param language [String] The language that the ‘TranslatedDescription` property of the `ReasonCodeDetails`

response object should be translated into.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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.

@note This operation can make a dynamic sandbox call. @param seller_fulfillment_order_id [String] The identifier assigned to the item by the seller when the

fulfillment order was created.

@param body [Hash] The identifier assigned to the item by the seller when the fulfillment order was created. @param rate_limit [Float] Requests per second @return [Hash] The API response

# 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) click to toggle source

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

@note This operation can make a dynamic sandbox call. @param body [Hash] UpdateFulfillmentOrderRequest parameter @param seller_fulfillment_order_id [String] The identifier assigned to the item by the seller when the

fulfillment order was created.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# 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