Class: Peddler::APIs::ExternalFulfillmentInventory20240911

Inherits:
Peddler::API
  • Object
show all
Defined in:
lib/peddler/apis/external_fulfillment_inventory_2024_09_11.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/error.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/error_list.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/actionable_error.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/http_status_line.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/inventory_request.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/inventory_response.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/marketplace_attributes.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/batch_inventory_request.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/inventory_response_body.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/batch_inventory_response.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/inventory_request_params.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/batch_inventory_request_list.rb,
lib/peddler/apis/external_fulfillment_inventory_2024_09_11/batch_inventory_response_list.rb

Overview

The Selling Partner API for External Fulfillment Inventory Management

You can use the Amazon External Fulfillment Inventory API to manage inventory operations in Amazon's External Fulfillment network, including batch inventory updates and retrievals.

Defined Under Namespace

Classes: BatchInventoryRequestList, BatchInventoryResponseList

Constant Summary collapse

Error =

Error response returned when the request is unsuccessful.

Structure.new do
  # @return [String] An error code that identifies the type of error that occurred.
  attribute(:code, String)

  # @return [String] A message that describes the error condition.
  attribute(:message, String)

  # @return [String] Additional details that can help the caller understand or fix the issue.
  attribute?(:details, String)
end
ErrorList =

An object containing a list of error responses returned when a request is unsuccessful.

Structure.new do
  # @return [Array<Error>] A list of error responses returned when a request is unsuccessful.
  attribute(:errors, [Error])
end
ActionableError =

Error details you can take action on.

Structure.new do
  # @return [String] The secondary level error type.
  attribute?(:error_sub_type, String, from: "errorSubType")

  # @return [String] The top level error type that may contain multiple error subtypes.
  attribute?(:error_type, String, from: "errorType")
end
HttpStatusLine =

The HTTP status associated with the response for an individual request within a batch.

Structure.new do
  # @return [String] The HTTP response reason phrase.
  attribute?(:reason_phrase, String, from: "reasonPhrase")

  # @return [Integer] The HTTP response status code.
  attribute?(:status_code, Integer, from: "statusCode")
end
InventoryRequest =

An inventory request.

Structure.new do
  # @return [String] The method associated with the individual operation from the batch request. To make an
  # update, use `POST`.
  attribute(:method, String)

  # @return [String] The URI associated with the individual APIs from the batch request. The user must provide the
  # resource identifier for the operation they want to use.
  attribute(:uri, String)

  # @return [InventoryRequestParams] The body associated with the individual APIs being called as part of the
  # batch request.
  attribute?(:body, InventoryRequestParams)
end
InventoryResponse =

A response to an individual inventory request.

Structure.new do
  # @return [InventoryResponseBody] The body of the response.
  attribute(:body, InventoryResponseBody)

  # @return [HttpStatusLine] The HTTP status code associated with the response.
  attribute(:status, HttpStatusLine)
end
MarketplaceAttributes =

The channel name and marketplace ID. This is required only when multiple channels have the same location ID.

Structure.new do
  # @return [String] The name of the fulfillment channel in which to update inventory.
  attribute?(:channel_name, String, from: "channelName")

  # @return [String] The marketplace ID of the marketplace where you want to update inventory.
  attribute?(:marketplace_id, String, from: "marketplaceId")
end
BatchInventoryRequest =

A list of inventory requests.

Structure.new do
  # @return [Array<InventoryRequest>]
  attribute?(:requests, [InventoryRequest])
end
InventoryResponseBody =

The response to an inventory request.

Structure.new do
  # @return [Array<ActionableError>] Inventory operation errors that require seller action before retrying the
  # inventory request.
  attribute?(:actionable_errors, [ActionableError], from: "actionableErrors")

  # @return [Integer] Latest sequence number for an inventory update.
  attribute?(:client_sequence_number, Integer, from: "clientSequenceNumber")

  # @return [String] The location where inventory is updated or retrieved.
  attribute?(:location_id, String, from: "locationId")

  # @return [MarketplaceAttributes]
  attribute?(:marketplace_attributes, MarketplaceAttributes, from: "marketplaceAttributes")

  # @return [Integer] The number of items of the specified SKU created in any marketplace that are reserved for
  # shipment and yet to be fulfilled.
  attribute?(:reserved_quantity, Integer, from: "reservedQuantity")

  # @return [Integer] The number of items of the specified SKU that are available for purchase.
  attribute?(:sellable_quantity, Integer, from: "sellableQuantity")

  # @return [String] The SKU ID for which inventory is updated or retrieved
  attribute?(:sku_id, String, from: "skuId")
end
BatchInventoryResponse =

The response of the batchInventory operation.

Structure.new do
  # @return [Array<InventoryResponse>]
  attribute?(:responses, [InventoryResponse])
end
InventoryRequestParams =

The parameters for an individual request.

Structure.new do
  # @return [Integer] The latest sequence number for the inventory update operation. You find this value in the
  # `clientSequenceNumber` property in the response to the `batchInventory` operation.
  attribute?(:client_sequence_number, Integer, from: "clientSequenceNumber")

  # @return [MarketplaceAttributes]
  attribute?(:marketplace_attributes, MarketplaceAttributes, from: "marketplaceAttributes")

  # @return [Integer] The absolute inventory quantity.
  attribute?(:quantity, Integer)
end

Instance Attribute Summary

Attributes inherited from Peddler::API

#access_token, #endpoint, #retries

Instance Method Summary collapse

Methods inherited from Peddler::API

#endpoint_uri, #http, #initialize, #meter, #retriable, #sandbox, #sandbox?, #use, #via

Constructor Details

This class inherits a constructor from Peddler::API

Instance Method Details

#batch_inventory(body) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Make up to 10 inventory requests. The response includes the set of responses that correspond to requests. The response for each successful request in the set includes the inventory count for the provided sku and locationId pair.

Parameters:

  • body (Hash)

    A list of inventory requests.

Returns:



21
22
23
24
# File 'lib/peddler/apis/external_fulfillment_inventory_2024_09_11.rb', line 21

def batch_inventory(body)
  path = "/externalFulfillment/inventory/2024-09-11/inventories"
  post(path, body:)
end