Class: Peddler::APIs::FulfillmentOutbound20200701

Inherits:
Peddler::API
  • Object
show all
Defined in:
lib/peddler/apis/fulfillment_outbound_2020_07_01.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fee.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/error.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/amount.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/origin.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/weight.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/address.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/feature.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/features.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fee_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/date_range.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/error_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/destination.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/feature_sku.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/return_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/string_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/cod_settings.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_offer.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/locker_details.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/tracking_event.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_policy.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_window.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_message.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/feature_settings.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/return_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/tracking_address.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_document.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/drop_off_location.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_order.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/create_return_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/product_identifier.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_preview.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_features_result.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/invalid_item_reason.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/invalid_return_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/payment_information.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/reason_code_details.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/tracking_event_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_information.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_offers_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_preferences.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_window_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_shipment.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/return_authorization.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_features_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_document_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_order_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_feature_sku_result.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/create_return_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/notification_email_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/scheduled_delivery_info.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_preview_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_preview_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_feature_sku_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/invalid_return_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/package_tracking_details.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/payment_information_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/reason_code_details_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_shipment_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_shipment_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_delivery_offers_terms.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/return_authorization_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_delivery_offers_result.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/unfulfillable_preview_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/variable_precision_address.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_order_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_delivery_offers_product.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_delivery_offers_request.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_preview_shipment.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_shipment_package.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_delivery_offers_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_feature_inventory_result.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_fulfillment_order_result.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_fulfillment_preview_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/shipping_speed_category_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/create_fulfillment_order_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_preview_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/update_fulfillment_order_item.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_shipment_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_feature_inventory_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_fulfillment_order_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_fulfillment_preview_result.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_fulfillment_preview_request.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/list_return_reason_codes_result.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/unfulfillable_preview_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/create_fulfillment_order_request.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/create_fulfillment_return_result.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_fulfillment_preview_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/update_fulfillment_order_request.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/cancel_fulfillment_order_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/create_fulfillment_order_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/create_fulfillment_return_request.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_preview_shipment_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_shipment_package_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_fulfillment_preview_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/list_return_reason_codes_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/update_fulfillment_order_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/create_fulfillment_order_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/create_fulfillment_return_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/list_all_fulfillment_orders_result.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/update_fulfillment_order_item_list.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/list_all_fulfillment_orders_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/get_package_tracking_details_response.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/submit_fulfillment_order_status_update_request.rb,
lib/peddler/apis/fulfillment_outbound_2020_07_01/submit_fulfillment_order_status_update_response.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.

Defined Under Namespace

Classes: CreateFulfillmentOrderItemList, CreateReturnItemList, DeliveryDocumentList, DeliveryOffersList, DeliveryWindowList, ErrorList, Features, FeeList, FulfillmentOrderItemList, FulfillmentPreviewItemList, FulfillmentPreviewList, FulfillmentPreviewShipmentList, FulfillmentShipmentItemList, FulfillmentShipmentList, FulfillmentShipmentPackageList, GetFulfillmentPreviewItemList, InvalidReturnItemList, NotificationEmailList, PaymentInformationList, ReasonCodeDetailsList, ReturnAuthorizationList, ReturnItemList, ShippingSpeedCategoryList, StringList, TrackingEventList, UnfulfillablePreviewItemList, UpdateFulfillmentOrderItemList

Constant Summary collapse

Fee =

Fee type and cost.

Structure.new do
  # @return [Money] The amount of the fee.
  attribute(:amount, Money)

  # @return [String] The type of fee.
  attribute(:name, String)
end
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
Amount =

A quantity based on unit of measure.

Structure.new do
  # @return [String] The unit of measure for the amount.
  attribute(:unit_of_measure, String, from: "unitOfMeasure")

  # @return [String] The amount of a product in the associated unit of measure.
  attribute(:value, String)
end
Origin =

The origin for the delivery offer.

Structure.new do
  # @return [String] The two digit country code the items should ship from. In ISO 3166-1 alpha-2 format.
  attribute(:country_code, String, from: "countryCode")
end
Weight =

The weight.

Structure.new do
  # @return [String] The unit of weight.
  attribute(:unit, String)

  # @return [String] The weight value.
  attribute(:value, String)
end
Address =

A physical address.

Structure.new do
  # @return [String] The first line of the address.
  attribute(:address_line1, String, from: "addressLine1")

  # @return [String] The two digit country code. In ISO 3166-1 alpha-2 format.
  attribute(:country_code, String, from: "countryCode")

  # @return [String] The name of the person, business or institution at the address.
  attribute(:name, String)

  # @return [String] The postal code of the address.
  attribute(:postal_code, String, from: "postalCode")

  # @return [String] Additional address information, if required.
  attribute?(:address_line2, String, from: "addressLine2")

  # @return [String] Additional address information, if required.
  attribute?(:address_line3, String, from: "addressLine3")

  # @return [String] The city where the person, business, or institution is located. This property is required in
  # all countries except Japan. It should not be used in Japan.
  attribute?(:city, String)

  # @return [String] The district or county where the person, business, or institution is located.
  attribute?(:district_or_county, String, from: "districtOrCounty")

  # @return [String] The phone number of the person, business, or institution located at the address.
  attribute?(:phone, String)

  # @return [String] The state or region where the person, business or institution is located.
  attribute?(:state_or_region, String, from: "stateOrRegion")
end
Feature =

A Multi-Channel Fulfillment feature.

Structure.new do
  # @return [String] The feature description.
  attribute(:feature_description, String, from: "featureDescription")

  # @return [String] The feature name.
  attribute(:feature_name, String, from: "featureName")

  # @return [:boolean] When true, indicates that the seller is eligible to use the feature.
  attribute?(:seller_eligible, :boolean, from: "sellerEligible")
end
DateRange =

The time range within which something (for example, a delivery) will occur.

Structure.new do
  # @return [String] The earliest point in a date range.
  attribute(:earliest, String)

  # @return [String] The latest point in a date range.
  attribute(:latest, String)
end
Destination =

The destination for the delivery offer.

Structure.new do
  # @return [VariablePrecisionAddress]
  attribute?(:delivery_address, VariablePrecisionAddress, from: "deliveryAddress")

  # @return [String] The IP address of the customer.
  attribute?(:ip_address, String, from: "ipAddress")
end
FeatureSKU =

Information about an SKU, including the count available, identifiers, and a list of overlapping SKUs that share the same inventory pool.

Structure.new do
  # @return [String] The Amazon Standard Identification Number (ASIN) of the item.
  attribute?(:asin, String)

  # @return [String] The unique SKU used by Amazon's fulfillment network.
  attribute?(:fn_sku, String, from: "fnSku")

  # @return [Array<String>] Other seller SKUs that are shared across the same inventory.
  attribute?(:overlapping_skus, [String], from: "overlappingSkus")

  # @return [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.
  attribute?(:seller_sku, String, from: "sellerSku")

  # @return [Float] The number of SKUs available for this service.
  attribute?(:sku_count, Float, from: "skuCount")
end
ReturnItem =

An item that Amazon accepted for return.

Structure.new do
  # @return [String] The identifier for the shipment that is associated with the return item.
  attribute(:amazon_shipment_id, String, from: "amazonShipmentId")

  # @return [String] The identifier assigned to the item by the seller when the fulfillment order was created.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] An identifier the seller assigns to the return item.
  attribute(:seller_return_item_id, String, from: "sellerReturnItemId")

  # @return [String] The return reason code assigned to the return item by the seller.
  attribute(:seller_return_reason_code, String, from: "sellerReturnReasonCode")

  # @return [String] Indicates if the return item has been processed by an Amazon fulfillment center.
  attribute(:status, String)

  # @return [String] Indicates when the status last changed.
  attribute(:status_changed_date, String, from: "statusChangedDate")

  # @return [String] The return reason code that the Amazon fulfillment center assigned to the return item.
  attribute?(:amazon_return_reason_code, String, from: "amazonReturnReasonCode")

  # @return [String] The identifier for the Amazon fulfillment center that processed the return item.
  attribute?(:fulfillment_center_id, String, from: "fulfillmentCenterId")

  # @return [String] Identifies the return authorization used to return this item. Refer to `ReturnAuthorization`.
  attribute?(:return_authorization_id, String, from: "returnAuthorizationId")

  # @return [String] An optional comment about the return item.
  attribute?(:return_comment, String, from: "returnComment")

  # @return [String]
  attribute?(:return_received_condition, String, from: "returnReceivedCondition")
end
CODSettings =

The COD (Cash On Delivery) charges that you associate with a COD fulfillment order.

Structure.new do
  # @return [:boolean] When true, this fulfillment order requires a COD (Cash On Delivery) payment.
  attribute(:cod_required, :boolean, from: "isCodRequired")

  # @return [Money] The amount of the COD charge to be collected from the recipient for a COD order.
  attribute?(:cod_charge, Money, from: "codCharge")

  # @return [Money] The amount of the tax on the COD charge to be collected from the recipient for a COD order.
  attribute?(:cod_charge_tax, Money, from: "codChargeTax")

  # @return [Money] The amount of the tax on the COD charge to be collected from the recipient for a COD order.
  attribute?(:shipping_charge, Money, from: "shippingCharge")

  # @return [Money] The amount of the tax on the shipping charge to be collected from the recipient for a COD
  # order.
  attribute?(:shipping_charge_tax, Money, from: "shippingChargeTax")
end
DeliveryOffer =

An available offer for delivery of a product.

Structure.new do
  # @return [DateRange] The range between which delivery is expected.
  attribute?(:date_range, DateRange, from: "dateRange")

  # @return [String] The timestamp at which a delivery offer expires.
  attribute?(:expires_at, String, from: "expiresAt")

  # @return [DeliveryPolicy] The policy for a delivery offer, including localized messaging.
  attribute?(:policy, DeliveryPolicy)
end
LockerDetails =

The locker details, which you can use to access the locker delivery box.

Structure.new do
  # @return [String] Indicates the locker access code
  attribute?(:locker_access_code, String, from: "lockerAccessCode")

  # @return [String] Indicates the locker number
  attribute?(:locker_number, String, from: "lockerNumber")
end
TrackingEvent =

Information for tracking package deliveries.

Structure.new do
  # @return [TrackingAddress] The city where the delivery event took place.
  attribute(:event_address, TrackingAddress, from: "eventAddress")

  # @return [String] The event code for the delivery event.
  attribute(:event_code, String, from: "eventCode")

  # @return [String] The date and time that the delivery event took place. Must be in
  # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
  attribute(:event_date, String, from: "eventDate")

  # @return [String] A description for the corresponding event code.
  attribute(:event_description, String, from: "eventDescription")
end
DeliveryPolicy =

The policy for a delivery offering.

Structure.new do
  # @return [DeliveryMessage] Localized messaging for a delivery offering.
  attribute?(:message, DeliveryMessage)
end
DeliveryWindow =

The time range within which a Scheduled Delivery fulfillment order should be delivered. This is only available in the JP marketplace.

Structure.new do
  # @return [String] The date and time of the end of the Scheduled Delivery window. Must be in
  # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
  attribute(:end_date, String, from: "endDate")

  # @return [String] The date and time of the start of the Scheduled Delivery window. Must be in
  # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
  attribute(:start_date, String, from: "startDate")
end
DeliveryMessage =

Localized messaging for a delivery offering.

Structure.new do
  # @return [String] The locale for the message (e.g., `en_US`).
  attribute?(:locale, String)

  # @return [String] The message content for a delivery offering.
  attribute?(:text, String)
end
FeatureSettings =

Feature settings allows you to apply fulfillment features to an order. To block an order from being shipped using Amazon Logistics (AMZL) and an AMZL tracking number, set featureName to BLOCK_AMZL and featureFulfillmentPolicy to Required. Blocking AMZL will incur an additional fee surcharge on your MCF orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no alternative carriers available. Using BLOCK_AMZL in an order request will take precedence over your Seller Central account setting. To ship in non-Amazon branded packaging (blank boxes), set featureName to BLANK_BOX. To require a signature from the recipient upon delivery, set featureName to SIGNATURE_CONFIRMATION. Note that using signature confirmation features will incur additional fees on MCF orders and are currently supported only in the US marketplace. To ensure all items in an order are delivered together, set featureName to DELIVER_TOGETHER.

Structure.new do
  # @return [String] Specifies the policy to use when fulfilling an order.
  attribute?(:feature_fulfillment_policy, String, from: "featureFulfillmentPolicy")

  # @return [String] The name of the feature. Valid feature names are:
  #
  # - `BLOCK_AMZL`: Blocks orders from being shipped using Amazon Logistics (AMZL).
  # - Note: Using this feature will incur additional fee surcharges on MCF orders and may increase the risk of
  # unfulfilled or delayed deliveries if alternative carriers are unavailable. Using `BLOCK_AMZL` in an order
  # request will take precedence over your Seller Central account setting.
  # - `BLANK_BOX`: Ships orders in non-Amazon branded packaging (blank boxes).
  # - `SIGNATURE_CONFIRMATION`: Requires a signature from the recipient upon delivery.
  # - Note: Using signature confirmation features will incur additional fees on MCF orders and are currently
  # supported only in the US marketplace.
  attribute?(:feature_name, String, from: "featureName")
end
TrackingAddress =

Address information for tracking the package.

Structure.new do
  # @return [String] The city.
  attribute(:city, String)

  # @return [String] The country.
  attribute(:country, String)

  # @return [String] The state.
  attribute(:state, String)
end
DeliveryDocument =

A delivery document for a package.

Structure.new do
  # @return [String] The delivery document type. The only possible value is `DELIVERY_IMAGE`.
  attribute(:document_type, String, from: "documentType")

  # @return [String] A URL that you can use to download the document. This URL has a `Content-Type` header. Note
  # that the URL expires after one hour. To get a new URL, you must call the API again.
  attribute?(:url, String)
end
DropOffLocation =

The preferred location to leave packages at the destination address.

Structure.new do
  # @return [String] Specifies the preferred location to leave the package at the destination address.
  attribute(:type, String)

  # @return [Hash] Additional information about the drop-off location that can vary depending on the type of
  # drop-off location specified in the `type` field.
  # If the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys
  # `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor.
  attribute?(:attributes, Hash)
end
FulfillmentOrder =

General information about a fulfillment order, including its status.

Structure.new do
  # @return [Address] The destination address submitted with the `createFulfillmentOrder` operation.
  attribute(:destination_address, Address, from: "destinationAddress")

  # @return [String] A text block submitted with the `createFulfillmentOrder` operation. Displays in
  # recipient-facing materials such as the packing slip.
  attribute(:displayable_order_comment, String, from: "displayableOrderComment")

  # @return [String] A date and time submitted with the `createFulfillmentOrder` operation. Displays as the order
  # date in recipient-facing materials such as the packing slip.
  attribute(:displayable_order_date, String, from: "displayableOrderDate")

  # @return [String] A fulfillment order identifier submitted with the `createFulfillmentOrder` operation.
  # Displays as the order identifier in recipient-facing materials such as the packing slip.
  attribute(:displayable_order_id, String, from: "displayableOrderId")

  # @return [String]
  attribute(:fulfillment_order_status, String, from: "fulfillmentOrderStatus")

  # @return [String] The identifier for the marketplace the fulfillment order is placed against.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [String] The date and time that the fulfillment order was received by an Amazon fulfillment center.
  attribute(:received_date, String, from: "receivedDate")

  # @return [String] The fulfillment order identifier submitted with the `createFulfillmentOrder` operation.
  attribute(:seller_fulfillment_order_id, String, from: "sellerFulfillmentOrderId")

  # @return [String]
  attribute(:shipping_speed_category, String, from: "shippingSpeedCategory")

  # @return [String] The date and time that the status of the fulfillment order last changed. Must be in
  # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
  attribute(:status_updated_date, String, from: "statusUpdatedDate")

  # @return [CODSettings]
  attribute?(:cod_settings, CODSettings, from: "codSettings")

  # @return [DeliveryWindow]
  attribute?(:delivery_window, DeliveryWindow, from: "deliveryWindow")

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute?(:feature_constraints, [FeatureSettings], from: "featureConstraints")

  # @return [String]
  attribute?(:fulfillment_action, String, from: "fulfillmentAction")

  # @return [String]
  attribute?(:fulfillment_policy, String, from: "fulfillmentPolicy")

  # @return [Array<String>]
  attribute?(:notification_emails, [String], from: "notificationEmails")
end
CreateReturnItem =

An item that Amazon accepted for return.

Structure.new do
  # @return [String] The identifier for the shipment that is associated with the return item.
  attribute(:amazon_shipment_id, String, from: "amazonShipmentId")

  # @return [String] The return reason code assigned to the return item by the seller.
  attribute(:return_reason_code, String, from: "returnReasonCode")

  # @return [String] The identifier assigned to the item by the seller when the fulfillment order was created.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] An identifier the seller assigns to the return item.
  attribute(:seller_return_item_id, String, from: "sellerReturnItemId")

  # @return [String] An optional comment about the return item.
  attribute?(:return_comment, String, from: "returnComment")
end
ProductIdentifier =

Product identifier input that locates a product for MCF.

Structure.new do
  # @return [String] The merchant SKU for the product.
  attribute(:merchant_sku, String, from: "merchantSku")
end
FulfillmentPreview =

Information about a fulfillment order preview, including delivery and fee information based on shipping method.

Structure.new do
  # @return [:boolean] When true, this fulfillment order preview is for COD (Cash On Delivery).
  attribute(:cod_capable, :boolean, from: "isCODCapable")

  # @return [:boolean] When true, this fulfillment order preview is fulfillable.
  attribute(:fulfillable, :boolean, from: "isFulfillable")

  # @return [String] The marketplace the fulfillment order is placed against.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [String]
  attribute(:shipping_speed_category, String, from: "shippingSpeedCategory")

  # @return [Array<Fee>] The estimated fulfillment fees for this fulfillment order preview, if applicable. The
  # fees data will not be available for IN marketplace orders.
  attribute?(:estimated_fees, [Fee], from: "estimatedFees")

  # @return [Weight] Estimated shipping weight for this fulfillment order preview.
  attribute?(:estimated_shipping_weight, Weight, from: "estimatedShippingWeight")

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute?(:feature_constraints, [FeatureSettings], from: "featureConstraints")

  # @return [Array<FulfillmentPreviewShipment>]
  attribute?(:fulfillment_preview_shipments, [FulfillmentPreviewShipment], from: "fulfillmentPreviewShipments")

  # @return [Array<String>] Error codes associated with the fulfillment order preview that indicate why the order
  # is not fulfillable.
  #
  # Error code examples:
  #
  # `DeliverySLAUnavailable`
  # `InvalidDestinationAddress`
  attribute?(:order_unfulfillable_reasons, [String], from: "orderUnfulfillableReasons")

  # @return [ScheduledDeliveryInfo]
  attribute?(:scheduled_delivery_info, ScheduledDeliveryInfo, from: "scheduledDeliveryInfo")

  # @return [Array<UnfulfillablePreviewItem>]
  attribute?(:unfulfillable_preview_items, [UnfulfillablePreviewItem], from: "unfulfillablePreviewItems")
end
GetFeaturesResult =

The payload for the getFeatures operation.

Structure.new do
  # @return [Array<Feature>]
  attribute(:features, [Feature])
end
InvalidItemReason =

The reason that the item is invalid for return.

Structure.new do
  # @return [String] A human readable description of the invalid item reason code.
  attribute(:description, String)

  # @return [String]
  attribute(:invalid_item_reason_code, String, from: "invalidItemReasonCode")
end
InvalidReturnItem =

An item that is invalid for return.

Structure.new do
  # @return [InvalidItemReason]
  attribute(:invalid_item_reason, InvalidItemReason, from: "invalidItemReason")

  # @return [String] The identifier assigned to the item by the seller when the fulfillment order was created.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] An identifier the seller assigns to the return item.
  attribute(:seller_return_item_id, String, from: "sellerReturnItemId")
end
PaymentInformation =

The attributes related to the payment made from customer to seller for this order.

Structure.new do
  # @return [String] The transaction date of this payment.
  attribute(:payment_date, String, from: "paymentDate")

  # @return [String] The transaction mode of this payment.
  attribute(:payment_mode, String, from: "paymentMode")

  # @return [String] The transaction identifier of this payment.
  attribute(:payment_transaction_id, String, from: "paymentTransactionId")
end
ReasonCodeDetails =

A return reason code, a description, and an optional description translation.

Structure.new do
  # @return [String] A human readable description of the return reason code.
  attribute(:description, String)

  # @return [String] A code that indicates a valid return reason.
  attribute(:return_reason_code, String, from: "returnReasonCode")

  # @return [String] A translation of the description. The translation is in the language specified in the
  # `language` request parameter.
  attribute?(:translated_description, String, from: "translatedDescription")
end
DeliveryInformation =

The delivery information for the package. This information is available after the package is delivered.

Structure.new do
  # @return [Array<DeliveryDocument>] All of the delivery documents for a package.
  attribute?(:delivery_document_list, [DeliveryDocument], from: "deliveryDocumentList")

  # @return [DropOffLocation] The drop off location for a package.
  attribute?(:drop_off_location, DropOffLocation, from: "dropOffLocation")
end
DeliveryPreferences =

The delivery preferences applied to the destination address. These preferences are applied when possible and are best effort. This feature is currently supported only in the JP marketplace and not applicable for other marketplaces. For eligible orders, the default delivery preference will be to deliver the package unattended at the front door, unless you specify otherwise.

Structure.new do
  # @return [String] Additional delivery instructions. For example, this could be instructions on how to enter a
  # building, nearby landmark or navigation instructions, 'Beware of dogs', etc.
  attribute?(:delivery_instructions, String, from: "deliveryInstructions")

  # @return [DropOffLocation] The preferred location to leave packages at the destination address.
  attribute?(:drop_off_location, DropOffLocation, from: "dropOffLocation")
end
FulfillmentShipment =

Delivery and item information for a shipment in a fulfillment order.

Structure.new do
  # @return [String] A shipment identifier assigned by Amazon.
  attribute(:amazon_shipment_id, String, from: "amazonShipmentId")

  # @return [String] An identifier for the fulfillment center from which the shipment is sent.
  attribute(:fulfillment_center_id, String, from: "fulfillmentCenterId")

  # @return [Array<FulfillmentShipmentItem>]
  attribute(:fulfillment_shipment_item, [FulfillmentShipmentItem], from: "fulfillmentShipmentItem")

  # @return [String] The current status of the shipment.
  attribute(:fulfillment_shipment_status, String, from: "fulfillmentShipmentStatus")

  # @return [String] The estimated arrival date and time of the shipment, in ISO 8601 date time format. Note that
  # this value can change over time. If a shipment includes more than one package, `estimatedArrivalDate` applies
  # to all of the packages in the shipment. If the shipment is cancelled, `estimatedArrivalDate` is not returned.
  attribute?(:estimated_arrival_date, String, from: "estimatedArrivalDate")

  # @return [Array<FulfillmentShipmentPackage>]
  attribute?(:fulfillment_shipment_package, [FulfillmentShipmentPackage], from: "fulfillmentShipmentPackage")

  # @return [String] The meaning of the `shippingDate` value depends on the current status of the shipment. If the
  # current value of FulfillmentShipmentStatus is:
  #
  # * Pending - shippingDate represents the estimated time that the shipment will leave the Amazon fulfillment
  # center.
  #
  # * Shipped - shippingDate represents the date that the shipment left the Amazon fulfillment center.
  #
  # If a shipment includes more than one package, `shippingDate` applies to all of the packages in the shipment.
  # If the value of `FulfillmentShipmentStatus` is `CancelledByFulfiller` or `CancelledBySeller`, `shippingDate`
  # is not returned. The value must be in ISO 8601 date time format.
  attribute?(:shipping_date, String, from: "shippingDate")

  # @return [Array<String>] Provides additional insight into shipment timeline. Primarily used to communicate that
  # actual delivery dates aren't available.
  attribute?(:shipping_notes, [String], from: "shippingNotes")
end
ReturnAuthorization =

Return authorization information for items accepted for return.

Structure.new do
  # @return [String] The return merchandise authorization (RMA) that Amazon needs to process the return.
  attribute(:amazon_rma_id, String, from: "amazonRmaId")

  # @return [String] An identifier for the Amazon fulfillment center to which the return items should be sent.
  attribute(:fulfillment_center_id, String, from: "fulfillmentCenterId")

  # @return [String] An identifier for the return authorization. This identifier associates return items with the
  # return authorization used to return them.
  attribute(:return_authorization_id, String, from: "returnAuthorizationId")

  # @return [Address] The address of the Amazon fulfillment center that the return items should be sent to.
  attribute(:return_to_address, Address, from: "returnToAddress")

  # @return [String] A URL for a web page that contains the return authorization barcode and the mailing label.
  # This does not include pre-paid shipping.
  attribute(:rma_page_url, String, from: "rmaPageURL")
end
GetFeaturesResponse =

The response schema for the getFeatures operation.

Structure.new do
  # @return [Array<Error>]
  attribute?(:errors, [Error])

  # @return [GetFeaturesResult]
  attribute?(:payload, GetFeaturesResult)
end
FulfillmentOrderItem =

Item information for a fulfillment order.

Structure.new do
  # @return [Integer] The item quantity that was cancelled by the seller.
  attribute(:cancelled_quantity, Integer, from: "cancelledQuantity")

  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] A fulfillment order item identifier submitted with a call to the `createFulfillmentOrder`
  # operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [Integer] The item quantity that is unfulfillable.
  attribute(:unfulfillable_quantity, Integer, from: "unfulfillableQuantity")

  # @return [String] Item-specific text that displays in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute?(:displayable_comment, String, from: "displayableComment")

  # @return [String] The estimated arrival date and time of the item quantity. Note that this value can change
  # over time. If the shipment that contains the item quantity is cancelled, `estimatedArrivalDate` is not
  # returned.
  attribute?(:estimated_arrival_date, String, from: "estimatedArrivalDate")

  # @return [String] The estimated date and time that the item quantity is scheduled to ship from the fulfillment
  # center. Note that this value can change over time. If the shipment that contains the item quantity is
  # cancelled, `estimatedShipDate` is not returned.
  attribute?(:estimated_ship_date, String, from: "estimatedShipDate")

  # @return [String] Amazon's fulfillment network SKU of the item.
  attribute?(:fulfillment_network_sku, String, from: "fulfillmentNetworkSku")

  # @return [String] A message to the gift recipient, if applicable.
  attribute?(:gift_message, String, from: "giftMessage")

  # @return [String] Indicates whether the item is sellable or unsellable.
  attribute?(:order_item_disposition, String, from: "orderItemDisposition")

  # @return [Money] The monetary value assigned by the seller to this item. This is a required field for India MCF
  # orders.
  attribute?(:per_unit_declared_value, Money, from: "perUnitDeclaredValue")

  # @return [Money] The amount to be collected from the recipient for this item in a COD (Cash On Delivery) order.
  attribute?(:per_unit_price, Money, from: "perUnitPrice")

  # @return [Money] The tax on the amount to be collected from the recipient for this item in a COD (Cash On
  # Delivery) order.
  attribute?(:per_unit_tax, Money, from: "perUnitTax")
end
GetFeatureSKUResult =

The payload for the getFeatureSKU operation.

Structure.new do
  # @return [String] The name of the feature.
  attribute(:feature_name, String, from: "featureName")

  # @return [:boolean] When true, the seller SKU is eligible for the requested feature.
  attribute(:eligible, :boolean, from: "isEligible")

  # @return [String] The requested marketplace.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [Array<String>] A list of one or more reasons that the seller SKU is ineligible for the feature.
  #
  # Possible values:
  # * `MERCHANT_NOT_ENROLLED`: The merchant isn't enrolled for the feature.
  # * `SKU_NOT_ELIGIBLE`: The SKU doesn't reside in a warehouse that supports the feature.
  # * `INVALID_SKU`: There is an issue with the SKU provided.
  attribute?(:ineligible_reasons, [String], from: "ineligibleReasons")

  # @return [FeatureSKU] Information about the SKU, including the count available, identifiers, and a list of
  # overlapping SKUs that share the same inventory pool.
  attribute?(:sku_info, FeatureSKU, from: "skuInfo")
end
ScheduledDeliveryInfo =

Delivery information for a scheduled delivery. This is only available in the JP marketplace.

Structure.new do
  # @return [String] The time zone of the destination address for the fulfillment order preview. Must be an IANA
  # time zone name. Example: Asia/Tokyo.
  attribute(:delivery_time_zone, String, from: "deliveryTimeZone")

  # @return [Array<DeliveryWindow>] An array of time ranges that are available for scheduled delivery.
  attribute(:delivery_windows, [DeliveryWindow], from: "deliveryWindows")
end
FulfillmentPreviewItem =

Item information for a shipment in a fulfillment order preview.

Structure.new do
  # @return [Integer] The item quantity.
  attribute(:quantity, Integer)

  # @return [String] A fulfillment order item identifier that the seller created with a call to the
  # `createFulfillmentOrder` operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [Weight] The estimated shipping weight of the item quantity for a single item, as identified by
  # `sellerSku`, in a shipment.
  attribute?(:estimated_shipping_weight, Weight, from: "estimatedShippingWeight")

  # @return [String] The method used to calculate the estimated shipping weight.
  attribute?(:shipping_weight_calculation_method, String, from: "shippingWeightCalculationMethod")
end
GetFeatureSKUResponse =

The response schema for the getFeatureSKU operation.

Structure.new do
  # @return [Array<Error>]
  attribute?(:errors, [Error])

  # @return [GetFeatureSKUResult]
  attribute?(:payload, GetFeatureSKUResult)
end
PackageTrackingDetails =

Tracking details of package

Structure.new do
  # @return [Integer] The package identifier.
  attribute(:package_number, Integer, from: "packageNumber")

  # @return [String]
  attribute?(:additional_location_info, String, from: "additionalLocationInfo")

  # @return [String] The name of the carrier.
  attribute?(:carrier_code, String, from: "carrierCode")

  # @return [String] The phone number of the carrier.
  attribute?(:carrier_phone_number, String, from: "carrierPhoneNumber")

  # @return [String] The URL of the carrier's website.
  attribute?(:carrier_url, String, from: "carrierURL")

  # @return [String]
  attribute?(:current_status, String, from: "currentStatus")

  # @return [String] Description corresponding to the `CurrentStatus` value.
  attribute?(:current_status_description, String, from: "currentStatusDescription")

  # @return [String] Link on swiship.com that allows customers to track the package.
  attribute?(:customer_tracking_link, String, from: "customerTrackingLink")

  # @return [DateRange] The delivery window for the package. This is available after the package reaches its
  # destination delivery station.
  attribute?(:delivery_window, DateRange, from: "deliveryWindow")

  # @return [String] The estimated arrival date.
  attribute?(:estimated_arrival_date, String, from: "estimatedArrivalDate")

  # @return [String] The shipping date for the package.
  attribute?(:ship_date, String, from: "shipDate")

  # @return [TrackingAddress] The destination city for the package.
  attribute?(:ship_to_address, TrackingAddress, from: "shipToAddress")

  # @return [String] The name of the person who signed for the package.
  attribute?(:signed_for_by, String, from: "signedForBy")

  # @return [Array<TrackingEvent>]
  attribute?(:tracking_events, [TrackingEvent], from: "trackingEvents")

  # @return [String] The tracking number for the package.
  attribute?(:tracking_number, String, from: "trackingNumber")
end
FulfillmentShipmentItem =

Item information for a shipment in a fulfillment order.

Structure.new do
  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] The fulfillment order item identifier that the seller created and submitted with a call to
  # the `createFulfillmentOrder` operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [Array<String>] The manufacturer lot codes of the shipped items.
  attribute?(:manufacturer_lot_codes, [String], from: "manufacturerLotCodes")

  # @return [Integer] An identifier for the package that contains the item quantity.
  attribute?(:package_number, Integer, from: "packageNumber")

  # @return [String] The serial number of the shipped item.
  attribute?(:serial_number, String, from: "serialNumber")
end
GetDeliveryOffersTerms =

The delivery terms for the delivery offer.

Structure.new do
  # @return [Destination] The destination for the delivery offer.
  attribute(:destination, Destination)

  # @return [Origin] The origin for the delivery offer.
  attribute(:origin, Origin)
end
GetDeliveryOffersResult =

A list of delivery offers, including offer expiration, earliest and latest date and time range, and the delivery offer policy.

Structure.new do
  # @return [Array<DeliveryOffer>] An array of delivery offers.
  attribute?(:delivery_offers, [DeliveryOffer], from: "deliveryOffers")
end
UnfulfillablePreviewItem =

Information about unfulfillable items in a fulfillment order preview.

Structure.new do
  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] A fulfillment order item identifier created with a call to the `getFulfillmentPreview`
  # operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [Array<String>] Error codes associated with the fulfillment order preview that indicate why the item
  # is unfulfillable.
  attribute?(:item_unfulfillable_reasons, [String], from: "itemUnfulfillableReasons")
end
VariablePrecisionAddress =

A physical address with varying degrees of precision. A more precise address can provide more accurate results than country code and postal code alone.

Structure.new do
  # @return [String] The two digit country code. In ISO 3166-1 alpha-2 format.
  attribute(:country_code, String, from: "countryCode")

  # @return [String] The postal code of the address.
  attribute(:postal_code, String, from: "postalCode")

  # @return [String] The first line of the address.
  attribute?(:address_line1, String, from: "addressLine1")

  # @return [String] Additional address information, if required.
  attribute?(:address_line2, String, from: "addressLine2")

  # @return [String] Additional address information, if required.
  attribute?(:address_line3, String, from: "addressLine3")

  # @return [String] The city where the person, business, or institution is located. This property should not be
  # used in Japan.
  attribute?(:city, String)

  # @return [String] The district or county where the person, business, or institution is located.
  attribute?(:district_or_county, String, from: "districtOrCounty")

  # @return [String] The state or region where the person, business or institution is located.
  attribute?(:state_or_region, String, from: "stateOrRegion")
end
GetDeliveryOffersProduct =

The product details for the delivery offer.

Structure.new do
  # @return [ProductIdentifier] Product identifier input that locates a product for MCF.
  attribute(:product_identifier, ProductIdentifier, from: "productIdentifier")

  # @return [Amount] The amount of the requested product.
  attribute?(:amount, Amount)
end
GetDeliveryOffersRequest =

The request body schema for the getDeliveryOffers operation.

Structure.new do
  # @return [GetDeliveryOffersProduct] The product details for the delivery offer.
  attribute(:product, GetDeliveryOffersProduct)

  # @return [GetDeliveryOffersTerms] The terms for the delivery offer.
  attribute(:terms, GetDeliveryOffersTerms)
end
FulfillmentPreviewShipment =

Delivery and item information for a shipment in a fulfillment order preview.

Structure.new do
  # @return [Array<FulfillmentPreviewItem>] Information about the items in the shipment.
  attribute(:fulfillment_preview_items, [FulfillmentPreviewItem], from: "fulfillmentPreviewItems")

  # @return [String] The earliest date that the shipment is expected to arrive at its destination.
  attribute?(:earliest_arrival_date, String, from: "earliestArrivalDate")

  # @return [String] The earliest date that the shipment is expected to be sent from the fulfillment center. Must
  # be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
  attribute?(:earliest_ship_date, String, from: "earliestShipDate")

  # @return [String] The latest date that the shipment is expected to arrive at its destination. Must be in
  # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
  attribute?(:latest_arrival_date, String, from: "latestArrivalDate")

  # @return [String] The latest date that the shipment is expected to be sent from the fulfillment center. Must be
  # in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
  attribute?(:latest_ship_date, String, from: "latestShipDate")

  # @return [Array<String>] Provides additional insight into the shipment timeline when exact delivery dates are
  # not able to be precomputed.
  attribute?(:shipping_notes, [String], from: "shippingNotes")
end
FulfillmentShipmentPackage =

Package information for a shipment in a fulfillment order.

Structure.new do
  # @return [String] Identifies the carrier who will deliver the shipment to the recipient.
  attribute(:carrier_code, String, from: "carrierCode")

  # @return [Integer] Identifies a package in a shipment.
  attribute(:package_number, Integer, from: "packageNumber")

  # @return [String] The Amazon fulfillment tracking number, if provided, can be used to obtain tracking and
  # delivery information.
  attribute?(:amazon_fulfillment_tracking_number, String, from: "amazonFulfillmentTrackingNumber")

  # @return [DeliveryInformation] The delivery information for the package. This information is available after
  # the package is delivered.
  attribute?(:delivery_information, DeliveryInformation, from: "deliveryInformation")

  # @return [String] The estimated arrival date and time of the package. Must be in
  # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
  attribute?(:estimated_arrival_date, String, from: "estimatedArrivalDate")

  # @return [LockerDetails] The locker details, if provided can be used to access locker delivery box.
  attribute?(:locker_details, LockerDetails, from: "lockerDetails")

  # @return [String] The tracking number, if provided, can be used to obtain tracking and delivery information.
  attribute?(:tracking_number, String, from: "trackingNumber")
end
GetDeliveryOffersResponse =

The response schema for the getDeliveryOffers operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `getDeliveryOffers` operation.
  attribute?(:errors, [Error])

  # @return [GetDeliveryOffersResult] The response payload for the `getDeliveryOffers` operation.
  attribute?(:payload, GetDeliveryOffersResult)
end
GetFeatureInventoryResult =

The payload for the getEligibleInventory operation.

Structure.new do
  # @return [String] The name of the feature.
  attribute(:feature_name, String, from: "featureName")

  # @return [String] The requested marketplace.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [Array<FeatureSku>] An array of SKUs eligible for this feature and the quantity available.
  attribute?(:feature_skus, [FeatureSKU], from: "featureSkus")

  # @return [String] When present and not empty, pass this string token in the next request to return the next
  # response page.
  attribute?(:next_token, String, from: "nextToken")
end
GetFulfillmentOrderResult =

The request for the getFulfillmentOrder operation.

Structure.new do
  # @return [FulfillmentOrder]
  attribute(:fulfillment_order, FulfillmentOrder, from: "fulfillmentOrder")

  # @return [Array<FulfillmentOrderItem>]
  attribute(:fulfillment_order_items, [FulfillmentOrderItem], from: "fulfillmentOrderItems")

  # @return [Array<ReturnAuthorization>]
  attribute(:return_authorizations, [ReturnAuthorization], from: "returnAuthorizations")

  # @return [Array<ReturnItem>]
  attribute(:return_items, [ReturnItem], from: "returnItems")

  # @return [Array<FulfillmentShipment>]
  attribute?(:fulfillment_shipments, [FulfillmentShipment], from: "fulfillmentShipments")

  # @return [Array<PaymentInformation>]
  attribute?(:payment_information, [PaymentInformation], from: "paymentInformation")
end
GetFulfillmentPreviewItem =

Item information for a fulfillment order preview.

Structure.new do
  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] A fulfillment order item identifier that the seller creates to track items in the fulfillment
  # preview.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [Money] The monetary value assigned by the seller to this item. This is a required field if this order
  # is an export order or an India MCF order.
  attribute?(:per_unit_declared_value, Money, from: "perUnitDeclaredValue")
end
CreateFulfillmentOrderItem =

Item information for creating a fulfillment order.

Structure.new do
  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] A fulfillment order item identifier that the seller creates to track fulfillment order items.
  # Used to disambiguate multiple fulfillment items that have the same `sellerSku` value. For example, the seller
  # might assign different `sellerFulfillmentOrderItemId` values to two items in a fulfillment order that share
  # the same `sellerSku` value but have different `giftMessage` values.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [String] Item-specific text that displays in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute?(:displayable_comment, String, from: "displayableComment")

  # @return [String] Amazon's fulfillment network SKU of the item.
  attribute?(:fulfillment_network_sku, String, from: "fulfillmentNetworkSku")

  # @return [String] A message to the gift recipient, if applicable.
  attribute?(:gift_message, String, from: "giftMessage")

  # @return [Money] The monetary value assigned by the seller to this item. This is a required field for India MCF
  # orders.
  attribute?(:per_unit_declared_value, Money, from: "perUnitDeclaredValue")

  # @return [Money] The amount to be collected from the recipient for this item in a COD (Cash On Delivery) order.
  attribute?(:per_unit_price, Money, from: "perUnitPrice")

  # @return [Money] The tax on the amount to be collected from the recipient for this item in a COD (Cash On
  # Delivery) order.
  attribute?(:per_unit_tax, Money, from: "perUnitTax")
end
UpdateFulfillmentOrderItem =

Item information for updating a fulfillment order.

Structure.new do
  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] Identifies the fulfillment order item to update. Created with a previous call to the
  # `createFulfillmentOrder` operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] Item-specific text that displays in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute?(:displayable_comment, String, from: "displayableComment")

  # @return [String] Amazon's fulfillment network SKU of the item.
  attribute?(:fulfillment_network_sku, String, from: "fulfillmentNetworkSku")

  # @return [String] A message to the gift recipient, if applicable.
  attribute?(:gift_message, String, from: "giftMessage")

  # @return [String] Indicates whether the item is sellable or unsellable.
  attribute?(:order_item_disposition, String, from: "orderItemDisposition")

  # @return [Money] The monetary value assigned by the seller to this item. This is a required field for India MCF
  # orders.
  attribute?(:per_unit_declared_value, Money, from: "perUnitDeclaredValue")

  # @return [Money] The amount to be collected from the recipient for this item in a COD (Cash On Delivery) order.
  attribute?(:per_unit_price, Money, from: "perUnitPrice")

  # @return [Money] The tax on the amount to be collected from the recipient for this item in a COD (Cash On
  # Delivery) order.
  attribute?(:per_unit_tax, Money, from: "perUnitTax")

  # @return [String] The seller SKU of the item.
  attribute?(:seller_sku, String, from: "sellerSku")
end
GetFeatureInventoryResponse =

The breakdown of eligibility inventory by feature.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `getFeatureInventory` operation.
  attribute?(:errors, [Error])

  # @return [GetFeatureInventoryResult]
  attribute?(:payload, GetFeatureInventoryResult)
end
GetFulfillmentOrderResponse =

The response schema for the getFulfillmentOrder operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `getFulfillmentOrder` operation.
  attribute?(:errors, [Error])

  # @return [GetFulfillmentOrderResult] The payload for the `getFulfillmentOrder` operation.
  attribute?(:payload, GetFulfillmentOrderResult)
end
GetFulfillmentPreviewResult =

A list of fulfillment order previews, including estimated shipping weights, estimated shipping fees, and estimated ship dates and arrival dates.

Structure.new do
  # @return [Array<FulfillmentPreview>]
  attribute?(:fulfillment_previews, [FulfillmentPreview], from: "fulfillmentPreviews")
end
GetFulfillmentPreviewRequest =

The request body schema for the getFulfillmentPreview operation.

Structure.new do
  # @return [Address] The destination address for the fulfillment order preview.
  attribute(:address, Address)

  # @return [Array<GetFulfillmentPreviewItem>] Identifying information and quantity information for the items in
  # the fulfillment order preview. Maximum of 100 line items with a maximum of 250 units per order.
  attribute(:items, [GetFulfillmentPreviewItem])

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute?(:feature_constraints, [FeatureSettings], from: "featureConstraints")

  # @return [:boolean] When true, returns all fulfillment order previews both for COD and not for COD. Otherwise,
  # returns only fulfillment order previews that are not for COD.
  attribute?(:include_cod_fulfillment_preview, :boolean, from: "includeCODFulfillmentPreview")

  # @return [:boolean] When true, returns the `ScheduledDeliveryInfo` response object, which contains the
  # available delivery windows for a Scheduled Delivery. The `ScheduledDeliveryInfo` response object can only be
  # returned for fulfillment order previews with `ShippingSpeedCategories` equal to `ScheduledDelivery`.
  attribute?(:include_delivery_windows, :boolean, from: "includeDeliveryWindows")

  # @return [String] The marketplace the fulfillment order is placed against.
  attribute?(:marketplace_id, String, from: "marketplaceId")

  # @return [Array<ShippingSpeedCategory>] A list of shipping methods used for creating fulfillment order
  # previews.
  #
  # Possible values:
  #
  # * `Standard`: Standard shipping method.
  # * `Expedited`: Expedited shipping method.
  # * `Priority`: Priority shipping method.
  # * `ScheduledDelivery`: Scheduled Delivery shipping method.
  # **Note:** Shipping method service level agreements vary by marketplace. Sellers should see the Seller Central
  # website in their marketplace for shipping method service level agreements and fulfillment fees.
  attribute?(:shipping_speed_categories, Array, from: "shippingSpeedCategories")
end
ListReturnReasonCodesResult =

The request for the listReturnReasonCodes operation.

Structure.new do
  # @return [Array<ReasonCodeDetails>]
  attribute?(:reason_code_details, [ReasonCodeDetails], from: "reasonCodeDetails")
end
CreateFulfillmentOrderRequest =

The request body schema for the createFulfillmentOrder operation.

Structure.new do
  # @return [Address] The destination address for the fulfillment order.
  attribute(:destination_address, Address, from: "destinationAddress")

  # @return [String] Order-specific text that appears in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute(:displayable_order_comment, String, from: "displayableOrderComment")

  # @return [String] The date and time of the fulfillment order. Displays as the order date in recipient-facing
  # materials such as the outbound shipment packing slip.
  attribute(:displayable_order_date, String, from: "displayableOrderDate")

  # @return [String] A fulfillment order identifier that the seller creates. This value displays as the order
  # identifier in recipient-facing materials such as the outbound shipment packing slip. The value of
  # `displayableOrderId` should match the order identifier that the seller provides to the recipient. The seller
  # can use the SellerFulfillmentOrderId for this value or they can specify an alternate value if they want the
  # recipient to reference an alternate order identifier.
  #
  # The value must be an alpha-numeric or ISO 8859-1 compliant string from one to 40 characters in length. Cannot
  # contain two spaces in a row. Leading and trailing white space is removed.
  attribute(:displayable_order_id, String, from: "displayableOrderId")

  # @return [Array<CreateFulfillmentOrderItem>] A list of items to include in the fulfillment order preview,
  # including quantity. Maximum of 100 line items with a maximum of 250 units per order.
  attribute(:items, [CreateFulfillmentOrderItem])

  # @return [String] A fulfillment order identifier that the seller creates to track their fulfillment order. The
  # `sellerFulfillmentOrderId` must be unique for each fulfillment order that a seller creates. If the seller's
  # system already creates unique order identifiers, then these might be good values for them to use.
  attribute(:seller_fulfillment_order_id, String, from: "sellerFulfillmentOrderId")

  # @return [String] The shipping method for the fulfillment order. When this value is `ScheduledDelivery`, choose
  # Ship for the `fulfillmentAction`. Hold is not a valid `fulfillmentAction` value when the
  # `shippingSpeedCategory` value is `ScheduledDelivery`.
  # Note: Shipping method service level agreements vary by marketplace. Sellers can refer to [Seller Central](
  # https://developer-docs.amazon.com/sp-api/docs/seller-central-urls) for shipping method service-level
  # agreements and multi-channel fulfillment fees.
  attribute(:shipping_speed_category, String, from: "shippingSpeedCategory")

  # @return [CODSettings]
  attribute?(:cod_settings, CODSettings, from: "codSettings")

  # @return [DeliveryPreferences] The delivery preferences applied to the destination address. These preferences
  # are applied when possible and are best effort. For eligible orders, the default delivery preference is to
  # leave the package unattended at the front door.
  # This feature is currently supported only in the JP marketplace and not applicable for other marketplaces.
  # For eligible orders, the default delivery preference will be to deliver the package unattended at the front
  # door, unless you specify otherwise.
  attribute?(:delivery_preferences, DeliveryPreferences, from: "deliveryPreferences")

  # @return [DeliveryWindow]
  attribute?(:delivery_window, DeliveryWindow, from: "deliveryWindow")

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute?(:feature_constraints, [FeatureSettings], from: "featureConstraints")

  # @return [String]
  attribute?(:fulfillment_action, String, from: "fulfillmentAction")

  # @return [String]
  attribute?(:fulfillment_policy, String, from: "fulfillmentPolicy")

  # @return [String] The marketplace the fulfillment order is placed against.
  attribute?(:marketplace_id, String, from: "marketplaceId")

  # @return [Array<String>]
  attribute?(:notification_emails, [String], from: "notificationEmails")

  # @return [Array<PaymentInformation>] An array of various payment attributes related to this fulfillment order.
  # This property is required if the order is placed against the India marketplace.
  attribute?(:payment_information, [PaymentInformation], from: "paymentInformation")

  # @return [String] The two-character country code for the country from which the fulfillment order ships. Must
  # be in ISO 3166-1 alpha-2 format.
  attribute?(:ship_from_country_code, String, from: "shipFromCountryCode")
end
CreateFulfillmentReturnResult =

The result for the createFulfillmentReturn operation.

Structure.new do
  # @return [Array<InvalidReturnItem>]
  attribute?(:invalid_return_items, [InvalidReturnItem], from: "invalidReturnItems")

  # @return [Array<ReturnAuthorization>]
  attribute?(:return_authorizations, [ReturnAuthorization], from: "returnAuthorizations")

  # @return [Array<ReturnItem>]
  attribute?(:return_items, [ReturnItem], from: "returnItems")
end
GetFulfillmentPreviewResponse =

The response schema for the getFulfillmentPreview operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `getFulfillmentPreview` operation.
  attribute?(:errors, [Error])

  # @return [GetFulfillmentPreviewResult] The response payload for the `getFulfillmentPreview` operation.
  attribute?(:payload, GetFulfillmentPreviewResult)
end
UpdateFulfillmentOrderRequest =

The request body schema for the updateFulfillmentOrder operation.

Structure.new do
  # @return [Address] The destination address for the fulfillment order.
  attribute?(:destination_address, Address, from: "destinationAddress")

  # @return [String] Order-specific text that appears in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute?(:displayable_order_comment, String, from: "displayableOrderComment")

  # @return [String] The date and time of the fulfillment order. Displays as the order date in recipient-facing
  # materials such as the outbound shipment packing slip.
  attribute?(:displayable_order_date, String, from: "displayableOrderDate")

  # @return [String] A fulfillment order identifier that the seller creates. This value displays as the order
  # identifier in recipient-facing materials such as the outbound shipment packing slip. The value of
  # `DisplayableOrderId` should match the order identifier that the seller provides to the recipient. The seller
  # can use the `SellerFulfillmentOrderId` for this value or they can specify an alternate value if they want the
  # recipient to reference an alternate order identifier.
  attribute?(:displayable_order_id, String, from: "displayableOrderId")

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute?(:feature_constraints, [FeatureSettings], from: "featureConstraints")

  # @return [String]
  attribute?(:fulfillment_action, String, from: "fulfillmentAction")

  # @return [String]
  attribute?(:fulfillment_policy, String, from: "fulfillmentPolicy")

  # @return [Array<UpdateFulfillmentOrderItem>] A list of items to include in the fulfillment order preview,
  # including quantity.
  attribute?(:items, [UpdateFulfillmentOrderItem])

  # @return [String] The marketplace the fulfillment order is placed against.
  attribute?(:marketplace_id, String, from: "marketplaceId")

  # @return [Array<String>]
  attribute?(:notification_emails, [String], from: "notificationEmails")

  # @return [String] The two-character country code for the country from which the fulfillment order ships. Must
  # be in ISO 3166-1 alpha-2 format.
  attribute?(:ship_from_country_code, String, from: "shipFromCountryCode")

  # @return [String]
  attribute?(:shipping_speed_category, String, from: "shippingSpeedCategory")
end
CancelFulfillmentOrderResponse =

The response schema for the cancelFulfillmentOrder operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `cancelFulfillmentOrder` operation.
  attribute?(:errors, [Error])
end
CreateFulfillmentOrderResponse =

The response schema for the createFulfillmentOrder operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `createFulfillmentOrder` operation.
  attribute?(:errors, [Error])
end
CreateFulfillmentReturnRequest =

The createFulfillmentReturn operation creates a fulfillment return for items that were fulfilled using the createFulfillmentOrder operation. For calls to createFulfillmentReturn, you must include returnReasonCode values returned by a previous call to the listReturnReasonCodes operation.

Structure.new do
  # @return [Array<CreateReturnItem>]
  attribute(:items, [CreateReturnItem])
end
ListReturnReasonCodesResponse =

The response schema for the listReturnReasonCodes operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `listReturnReasonCodes` operation.
  attribute?(:errors, [Error])

  # @return [ListReturnReasonCodesResult] The payload for the `listReturnReasonCodes` operation.
  attribute?(:payload, ListReturnReasonCodesResult)
end
UpdateFulfillmentOrderResponse =

The response schema for the updateFulfillmentOrder operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `updateFulfillmentOrder` operation.
  attribute?(:errors, [Error])
end
CreateFulfillmentReturnResponse =

The response schema for the createFulfillmentReturn operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `createFulfillmentReturn` operation.
  attribute?(:errors, [Error])

  # @return [CreateFulfillmentReturnResult] The payload for the `createFulfillmentReturn` operation.
  attribute?(:payload, CreateFulfillmentReturnResult)
end
ListAllFulfillmentOrdersResult =

The request for the listAllFulfillmentOrders operation.

Structure.new do
  # @return [Array<FulfillmentOrder>] An array of fulfillment order information.
  attribute?(:fulfillment_orders, [FulfillmentOrder], from: "fulfillmentOrders")

  # @return [String] When present and not empty, pass this string token in the next request to return the next
  # response page.
  attribute?(:next_token, String, from: "nextToken")
end
ListAllFulfillmentOrdersResponse =

The response schema for the listAllFulfillmentOrders operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `listAllFulfillmentOrders` operation.
  attribute?(:errors, [Error])

  # @return [ListAllFulfillmentOrdersResult] The payload for the `listAllFulfillmentOrders` operation.
  attribute?(:payload, ListAllFulfillmentOrdersResult)
end
GetPackageTrackingDetailsResponse =

The response schema for the getPackageTrackingDetails operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `getPackageTrackingDetails`
  # operation.
  attribute?(:errors, [Error])

  # @return [PackageTrackingDetails] The payload for the `getPackageTrackingDetails` operation.
  attribute?(:payload, PackageTrackingDetails)
end
SubmitFulfillmentOrderStatusUpdateRequest =

The request body schema for the submitFulfillmentOrderStatusUpdate operation.

Structure.new do
  # @return [String]
  attribute?(:fulfillment_order_status, String, from: "fulfillmentOrderStatus")
end
SubmitFulfillmentOrderStatusUpdateResponse =

The response schema for the SubmitFulfillmentOrderStatusUpdate operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `SubmitFulfillmentOrderStatusUpdate`
  # operation.
  attribute?(:errors, [Error])
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

#cancel_fulfillment_order(seller_fulfillment_order_id, rate_limit: 2.0) ⇒ Peddler::Response

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.

fulfillment order was created.

Parameters:

  • seller_fulfillment_order_id (String)

    The identifier assigned to the item by the seller when the

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



170
171
172
173
174
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 170

def cancel_fulfillment_order(seller_fulfillment_order_id, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{percent_encode(seller_fulfillment_order_id)}/cancel"
  parser = -> { CancelFulfillmentOrderResponse }
  meter(rate_limit).put(path, parser:)
end

#create_fulfillment_order(body, rate_limit: 2.0) ⇒ Peddler::Response

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:



67
68
69
70
71
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 67

def create_fulfillment_order(body, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders"
  parser = -> { CreateFulfillmentOrderResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#create_fulfillment_return(body, seller_fulfillment_order_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Creates a fulfillment return.

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.

Parameters:

  • body (Hash)

    The request body of the createFulfillmentReturn operation.

  • seller_fulfillment_order_id (String)

    An identifier the seller assigns to the fulfillment order at the

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



129
130
131
132
133
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 129

def create_fulfillment_return(body, seller_fulfillment_order_id, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{percent_encode(seller_fulfillment_order_id)}/return"
  parser = -> { CreateFulfillmentReturnResponse }
  meter(rate_limit).put(path, body:, parser:)
end

#delivery_offers(body, rate_limit: 5.0) ⇒ Peddler::Response

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:



34
35
36
37
38
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 34

def delivery_offers(body, rate_limit: 5.0)
  path = "/fba/outbound/2020-07-01/deliveryOffers"
  parser = -> { GetDeliveryOffersResponse }
  meter(rate_limit).post(path, body:, parser:)
end

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

Note:

This operation can make a dynamic sandbox call.

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

the specified feature. return the next response page. A value of null will return the first page. 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

Parameters:

  • marketplace_id (String)

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

  • 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

  • query_start_date (String) (defaults to: nil)

    A date that you can use to select inventory that has been updated since a

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



224
225
226
227
228
229
230
231
232
233
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 224

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/#{percent_encode(feature_name)}"
  params = {
    "marketplaceId" => marketplace_id,
    "nextToken" => next_token,
    "queryStartDate" => query_start_date,
  }.compact
  parser = -> { GetFeatureInventoryResponse }
  meter(rate_limit).get(path, params:, parser:)
end

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

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.

seller's sellerId, which is included with every operation that you submit.

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

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



247
248
249
250
251
252
253
254
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 247

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

#get_features(marketplace_id, rate_limit: 2.0) ⇒ Peddler::Response

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:



202
203
204
205
206
207
208
209
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 202

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

#get_fulfillment_order(seller_fulfillment_order_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Returns the fulfillment order indicated by the specified order identifier.

fulfillment order was created.

Parameters:

  • seller_fulfillment_order_id (String)

    The identifier assigned to the item by the seller when the

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



142
143
144
145
146
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 142

def get_fulfillment_order(seller_fulfillment_order_id, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{percent_encode(seller_fulfillment_order_id)}"
  parser = -> { GetFulfillmentOrderResponse }
  meter(rate_limit).get(path, parser:)
end

#get_fulfillment_preview(body, rate_limit: 2.0) ⇒ Peddler::Response

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:



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

def get_fulfillment_preview(body, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/preview"
  parser = -> { GetFulfillmentPreviewResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#get_package_tracking_details(package_number: nil, amazon_fulfillment_tracking_number: nil, rate_limit: 2.0) ⇒ Peddler::Response

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.

getFulfillmentOrder operation. value from the getFulfillmentOrder operation.

Parameters:

  • package_number (Integer) (defaults to: nil)

    The unencrypted package identifier. You can obtain this value from the

  • amazon_fulfillment_tracking_number (String) (defaults to: nil)

    The Amazon fulfillment tracking number. You can obtain this

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



83
84
85
86
87
88
89
90
91
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 83

def get_package_tracking_details(package_number: nil, amazon_fulfillment_tracking_number: nil, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/tracking"
  params = {
    "packageNumber" => package_number,
    "amazonFulfillmentTrackingNumber" => amazon_fulfillment_tracking_number,
  }.compact
  parser = -> { GetPackageTrackingDetailsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

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

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 nextToken parameter.

specified time. An update is defined as any change in fulfillment order status, including the creation of a new fulfillment order.

Parameters:

  • query_start_date (String) (defaults to: nil)

    A date used to select fulfillment orders that were last updated after (or at) a

  • 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:



50
51
52
53
54
55
56
57
58
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 50

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
  parser = -> { ListAllFulfillmentOrdersResponse }
  meter(rate_limit).get(path, params:, parser:)
end

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

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.

fulfillment order was created. The service uses this value to determine the marketplace for which the seller wants return reason codes. response object should be translated into.

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

  • language (String) (defaults to: nil)

    The language that the TranslatedDescription property of the ReasonCodeDetails

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



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

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
  parser = -> { ListReturnReasonCodesResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#submit_fulfillment_order_status_update(seller_fulfillment_order_id, body) ⇒ Peddler::Response

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.

fulfillment order was created.

Parameters:

  • seller_fulfillment_order_id (String)

    The identifier assigned to the item by the seller when the

  • body (Hash)

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

Returns:



187
188
189
190
191
192
193
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 187

def submit_fulfillment_order_status_update(seller_fulfillment_order_id, body)
  must_sandbox!

  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{percent_encode(seller_fulfillment_order_id)}/status"
  parser = -> { SubmitFulfillmentOrderStatusUpdateResponse }
  put(path, body:, parser:)
end

#update_fulfillment_order(body, seller_fulfillment_order_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

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

fulfillment order was created.

Parameters:

  • body (Hash)

    The request body of the updateFulfillmentOrder operation.

  • seller_fulfillment_order_id (String)

    The identifier assigned to the item by the seller when the

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



156
157
158
159
160
# File 'lib/peddler/apis/fulfillment_outbound_2020_07_01.rb', line 156

def update_fulfillment_order(body, seller_fulfillment_order_id, rate_limit: 2.0)
  path = "/fba/outbound/2020-07-01/fulfillmentOrders/#{percent_encode(seller_fulfillment_order_id)}"
  parser = -> { UpdateFulfillmentOrderResponse }
  meter(rate_limit).put(path, body:, parser:)
end