Class: Peddler::APIs::FulfillmentInbound20240320

Inherits:
Peddler::API
  • Object
show all
Defined in:
lib/peddler/apis/fulfillment_inbound_2024_03_20.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/box.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/item.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/dates.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/error.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/quote.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/pallet.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/region.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/weight.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/window.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/address.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/carrier.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/shipment.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/tax_rate.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/box_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/incentive.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/dimensions.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/error_list.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/item_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/pagination.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/tax_details.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/inbound_plan.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/pallet_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/weight_range.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/window_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/address_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/msku_quantity.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/packing_option.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/shipment_source.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/appointment_slot.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/box_requirements.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/box_update_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/msku_prep_detail.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/placement_option.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/prep_instruction.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/shipment_summary.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/tracking_details.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/compliance_detail.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/document_download.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/operation_problem.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/requested_updates.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/spd_tracking_item.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/carrier_appointment.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/contact_information.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/freight_information.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/ltl_tracking_detail.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/spd_tracking_detail.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/inbound_plan_summary.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/shipment_destination.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/appointment_slot_time.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/packing_configuration.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/shipping_requirements.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/transportation_option.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/content_update_preview.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/custom_placement_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/delivery_window_option.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/msku_prep_detail_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/package_grouping_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/packing_option_summary.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/shipping_configuration.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/tracking_details_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/spd_tracking_item_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/inbound_operation_status.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/placement_option_summary.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/selected_delivery_window.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/set_prep_details_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/transportation_selection.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/ltl_tracking_detail_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/set_prep_details_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/spd_tracking_detail_input.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_prep_details_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/create_inbound_plan_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_inbound_plans_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/cancel_inbound_plan_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/create_inbound_plan_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_shipment_boxes_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_shipment_items_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/update_shipment_name_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_packing_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/self_ship_appointment_details.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_shipment_pallets_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/confirm_packing_option_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_placement_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/set_packing_information_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_inbound_plan_boxes_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_inbound_plan_items_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/set_packing_information_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/update_inbound_plan_name_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/confirm_placement_option_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_packing_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_packing_group_boxes_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_packing_group_items_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_placement_options_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_inbound_plan_pallets_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_placement_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/cancel_self_ship_appointment_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_transportation_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/cancel_self_ship_appointment_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_delivery_window_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_item_compliance_details_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/shipment_transportation_configuration.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/confirm_transportation_options_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/create_marketplace_item_labels_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/get_delivery_challan_document_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/schedule_self_ship_appointment_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/update_item_compliance_details_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/update_shipment_source_address_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/confirm_transportation_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/create_marketplace_item_labels_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_transportation_options_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/schedule_self_ship_appointment_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/update_item_compliance_details_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/update_shipment_source_address_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/confirm_delivery_window_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_transportation_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/get_self_ship_appointment_slots_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/self_ship_appointment_slots_availability.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/update_shipment_tracking_details_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_delivery_window_options_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/update_shipment_tracking_details_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_self_ship_appointment_slots_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_self_ship_appointment_slots_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/list_shipment_content_update_previews_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/confirm_shipment_content_update_preview_response.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_shipment_content_update_previews_request.rb,
lib/peddler/apis/fulfillment_inbound_2024_03_20/generate_shipment_content_update_previews_response.rb

Overview

The Selling Partner API for FBA inbound operations.

The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.

Constant Summary collapse

Box =

Contains information about a box that is used in the inbound plan. The box is a container that holds multiple items.

Structure.new do
  # @return [String] Primary key to uniquely identify a Package (Box or Pallet).
  attribute(:package_id, String, from: "packageId")

  # @return [String] The ID provided by Amazon that identifies a given box. This ID is comprised of the external
  # shipment ID (which is generated after transportation has been confirmed) and the index of the box.
  attribute?(:box_id, String, from: "boxId")

  # @return [String]
  attribute?(:content_information_source, String, from: "contentInformationSource")

  # @return [Region]
  attribute?(:destination_region, Region, from: "destinationRegion")

  # @return [Dimensions]
  attribute?(:dimensions, Dimensions)

  # @return [String] The external identifier for this container / box.
  attribute?(:external_container_identifier, String, from: "externalContainerIdentifier")

  # @return [String] Type of the external identifier used. Can be: `AMAZON`, `SSCC`.
  attribute?(:external_container_identifier_type, String, from: "externalContainerIdentifierType")

  # @return [Array<Item>] Items contained within the box.
  attribute?(:items, [Item])

  # @return [Integer] The number of containers where all other properties like weight or dimensions are identical.
  attribute?(:quantity, Integer)

  # @return [String] Template name of the box.
  attribute?(:template_name, String, from: "templateName")

  # @return [Weight]
  attribute?(:weight, Weight)
end
Item =

Information associated with a single SKU in the seller's catalog.

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

  # @return [String] A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon
  # fulfillment center.
  attribute(:fnsku, String)

  # @return [String] Specifies who will label the items. Options include `AMAZON`, `SELLER`, and `NONE`.
  attribute(:label_owner, String, from: "labelOwner")

  # @return [String] The merchant-defined SKU ID.
  attribute(:msku, String)

  # @return [Array<PrepInstruction>] Special preparations that are required for an item.
  attribute(:prep_instructions, [PrepInstruction], from: "prepInstructions")

  # @return [Integer] The number of the specified MSKU.
  attribute(:quantity, Integer)

  # @return [String] The expiration date of the MSKU. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern`YYYY-MM-DD`. The
  # same MSKU with different expiration dates cannot go into the same box.
  attribute?(:expiration, String)

  # @return [String] The manufacturing lot code.
  attribute?(:manufacturing_lot_code, String, from: "manufacturingLotCode")
end
Dates =

Specifies the date that the seller expects their shipment will be shipped.

Structure.new do
  # @return [Window]
  attribute?(:ready_to_ship_window, Window, from: "readyToShipWindow")
end
Error =

Error object containing information about what went wrong.

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
Quote =

The estimated shipping cost associated with the transportation option.

Structure.new do
  # @return [Money]
  attribute(:cost, Money)

  # @return [Time] The time at which this transportation option quote expires. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime with pattern
  # `yyyy-MM-ddTHH:mm:ss.sssZ`.
  attribute?(:expiration, Time)

  # @return [Time] Voidable until timestamp.
  attribute?(:voidable_until, Time, from: "voidableUntil")
end
Pallet =

Contains information about a pallet that is used in the inbound plan. The pallet is a container that holds multiple items or boxes.

Structure.new do
  # @return [String] Primary key to uniquely identify a Package (Box or Pallet).
  attribute(:package_id, String, from: "packageId")

  # @return [Dimensions]
  attribute?(:dimensions, Dimensions)

  # @return [Integer] The number of containers where all other properties like weight or dimensions are identical.
  attribute?(:quantity, Integer)

  # @return [String]
  attribute?(:stackability, String)

  # @return [Weight]
  attribute?(:weight, Weight)
end
Region =

Representation of a location used within the inbounding experience.

Structure.new do
  # @return [String] ISO 3166 standard alpha-2 country code.
  attribute?(:country_code, String, from: "countryCode")

  # @return [String] State.
  attribute?(:state, String)

  # @return [String] An identifier for a warehouse, such as a FC, IXD, upstream storage.
  attribute?(:warehouse_id, String, from: "warehouseId")
end
Weight =

The weight of a package.

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

  # @return [Float] Value of a weight.
  attribute(:value, Float)
end
Window =

Contains a start and end DateTime representing a time range.

Structure.new do
  # @return [Time] The end timestamp of the window.
  attribute(:end, Time)

  # @return [Time] The start timestamp of the window.
  attribute(:start, Time)

  # @return [Time] The timestamp at which this Window can no longer be edited.
  attribute?(:editable_until, Time, from: "editableUntil")
end
Address =

Specific details to identify a place.

Structure.new do
  # @return [String] Street address information.
  attribute(:address_line1, String, from: "addressLine1")

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

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

  # @return [String] The name of the individual who is the primary contact.
  attribute(:name, String)

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

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

  # @return [String] The name of the business.
  attribute?(:company_name, String, from: "companyName")

  # @return [String] The district or county.
  attribute?(:district_or_county, String, from: "districtOrCounty")

  # @return [String] The email address.
  attribute?(:email, String)

  # @return [String] The phone number.
  attribute?(:phone_number, String, from: "phoneNumber")

  # @return [String] The state or province code.
  attribute?(:state_or_province_code, String, from: "stateOrProvinceCode")
end
Carrier =

The carrier for the inbound shipment.

Structure.new do
  # @return [String] The carrier code. For example, USPS or DHLEX.
  attribute?(:alpha_code, String, from: "alphaCode")

  # @return [String] The name of the carrier.
  attribute?(:name, String)
end
Shipment =

Contains information pertaining to a shipment in an inbound plan.

Structure.new do
  # @return [ShipmentDestination]
  attribute(:destination, ShipmentDestination)

  # @return [String] The identifier of a placement option. A placement option represents the shipment splits and
  # destinations of SKUs.
  attribute(:placement_option_id, String, from: "placementOptionId")

  # @return [String] Identifier of a shipment. A shipment contains the boxes and units being inbounded.
  attribute(:shipment_id, String, from: "shipmentId")

  # @return [ShipmentSource]
  attribute(:source, ShipmentSource)

  # @return [String] A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than
  # Truckload/Full Truckload (LTL/FTL) shipment.
  attribute?(:amazon_reference_id, String, from: "amazonReferenceId")

  # @return [ContactInformation]
  attribute?(:contact_information, ContactInformation, from: "contactInformation")

  # @return [Dates]
  attribute?(:dates, Dates)

  # @return [FreightInformation]
  attribute?(:freight_information, FreightInformation, from: "freightInformation")

  # @return [String] The name of the shipment.
  attribute?(:name, String)

  # @return [SelectedDeliveryWindow]
  attribute?(:selected_delivery_window, SelectedDeliveryWindow, from: "selectedDeliveryWindow")

  # @return [String] Identifier of a transportation option. A transportation option represent one option for how
  # to send a shipment.
  attribute?(:selected_transportation_option_id, String, from: "selectedTransportationOptionId")

  # @return [Array<SelfShipAppointmentDetails>] List of self ship appointment details.
  attribute?(:self_ship_appointment_details, [SelfShipAppointmentDetails], from: "selfShipAppointmentDetails")

  # @return [String] The confirmed shipment ID which shows up on labels (for example, `FBA1234ABCD`).
  attribute?(:shipment_confirmation_id, String, from: "shipmentConfirmationId")

  # @return [String] The status of a shipment. The state of the shipment will typically start as `UNCONFIRMED`,
  # then transition to `WORKING` after a placement option has been confirmed, and then to `READY_TO_SHIP` once
  # labels are generated.
  #
  # Possible values: `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`,
  # `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, `UNCONFIRMED`, `WORKING`
  attribute?(:status, String)

  # @return [TrackingDetails]
  attribute?(:tracking_details, TrackingDetails, from: "trackingDetails")
end
TaxRate =

Contains the type and rate of tax.

Structure.new do
  # @return [Float] Rate of cess tax.
  attribute?(:cess_rate, Float, from: "cessRate")

  # @return [Float] Rate of gst tax.
  attribute?(:gst_rate, Float, from: "gstRate")

  # @return [String] Type of tax. Possible values: `CGST`, `SGST`, `IGST`, `TOTAL_TAX`.
  attribute?(:tax_type, String, from: "taxType")
end
BoxInput =

Input information for a given box.

Structure.new do
  # @return [String]
  attribute(:content_information_source, String, from: "contentInformationSource")

  # @return [Dimensions]
  attribute(:dimensions, Dimensions)

  # @return [Integer] The number of containers where all other properties like weight or dimensions are identical.
  attribute(:quantity, Integer)

  # @return [Weight]
  attribute(:weight, Weight)

  # @return [Array<ItemInput>] The items and their quantity in the box. This must be empty if the box
  # `contentInformationSource` is `BARCODE_2D` or `MANUAL_PROCESS`.
  attribute?(:items, [ItemInput])
end
Incentive =

Contains details about cost related modifications to the placement cost.

Structure.new do
  # @return [String] Description of the incentive.
  attribute(:description, String)

  # @return [String] Target of the incentive. Possible values: 'Placement Services', 'Fulfillment Fee Discount'.
  attribute(:target, String)

  # @return [String] Type of incentive. Possible values: `FEE`, `DISCOUNT`.
  attribute(:type, String)

  # @return [Money]
  attribute(:value, Money)
end
Dimensions =

Measurement of a package's dimensions.

Structure.new do
  # @return [Float] The height of a package.
  attribute(:height, Float)

  # @return [Float] The length of a package.
  attribute(:length, Float)

  # @return [String]
  attribute(:unit_of_measurement, String, from: "unitOfMeasurement")

  # @return [Float] The width of a package.
  attribute(:width, Float)
end
ErrorList =

A list of error responses returned when a request is unsuccessful.

Structure.new do
  # @return [Array<Error>] List of errors.
  attribute(:errors, [Error])
end
ItemInput =

Defines an item's input parameters.

Structure.new do
  # @return [String]
  attribute(:label_owner, String, from: "labelOwner")

  # @return [String] The merchant SKU, a merchant-supplied identifier of a specific SKU.
  attribute(:msku, String)

  # @return [String]
  attribute(:prep_owner, String, from: "prepOwner")

  # @return [Integer] The number of units of the specified MSKU that will be shipped.
  attribute(:quantity, Integer)

  # @return [String] The expiration date of the MSKU. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern `YYYY-MM-DD`. Items
  # with the same MSKU but different expiration dates cannot go into the same box.
  attribute?(:expiration, String)

  # @return [String] The manufacturing lot code.
  attribute?(:manufacturing_lot_code, String, from: "manufacturingLotCode")
end
Pagination =

Contains tokens to fetch from a certain page.

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

Information used to determine the tax compliance.

Structure.new do
  # @return [Money]
  attribute?(:declared_value, Money, from: "declaredValue")

  # @return [String] Harmonized System of Nomenclature code.
  attribute?(:hsn_code, String, from: "hsnCode")

  # @return [Array<TaxRate>] List of tax rates.
  attribute?(:tax_rates, [TaxRate], from: "taxRates")
end
InboundPlan =

Inbound plan containing details of the inbound workflow.

Structure.new do
  # @return [Time] The time at which the inbound plan was created. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime with pattern `yyyy-MM-ddTHH:mm:ssZ`.
  attribute(:created_at, Time, from: "createdAt")

  # @return [String] Identifier of an inbound plan.
  attribute(:inbound_plan_id, String, from: "inboundPlanId")

  # @return [Time] The time at which the inbound plan was last updated. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mm:ssZ`.
  attribute(:last_updated_at, Time, from: "lastUpdatedAt")

  # @return [Array<String>] A list of marketplace IDs.
  attribute(:marketplace_ids, [String], from: "marketplaceIds")

  # @return [String] Human-readable name of the inbound plan.
  attribute(:name, String)

  # @return [Address]
  attribute(:source_address, Address, from: "sourceAddress")

  # @return [String] Current status of the inbound plan. Possible values: `ACTIVE`, `VOIDED`, `SHIPPED`,
  # `ERRORED`.
  attribute(:status, String)

  # @return [Array<PackingOptionSummary>] Packing options for the inbound plan. This property will be populated
  # when it has been generated via the corresponding operation. If there is a chosen placement option, only
  # packing options for that placement option will be returned. If there are confirmed shipments, only packing
  # options for those shipments will be returned. Query the packing option for more details.
  attribute?(:packing_options, [PackingOptionSummary], from: "packingOptions")

  # @return [Array<PlacementOptionSummary>] Placement options for the inbound plan. This property will be
  # populated when it has been generated via the corresponding operation. If there is a chosen placement option,
  # that will be the only returned option. Query the placement option for more details.
  attribute?(:placement_options, [PlacementOptionSummary], from: "placementOptions")

  # @return [Array<ShipmentSummary>] A list of shipment IDs for the inbound plan. This property is populated when
  # it has been generated with the `confirmPlacementOptions` operation. Only shipments from the chosen placement
  # option are returned. Query the shipment for more details.
  attribute?(:shipments, [ShipmentSummary])
end
PalletInput =

Contains input information about a pallet to be used in the inbound plan.

Structure.new do
  # @return [Integer] The number of containers where all other properties like weight or dimensions are identical.
  attribute(:quantity, Integer)

  # @return [Dimensions]
  attribute?(:dimensions, Dimensions)

  # @return [String]
  attribute?(:stackability, String)

  # @return [Weight]
  attribute?(:weight, Weight)
end
WeightRange =

The range of weights that are allowed for a package.

Structure.new do
  # @return [Float] Maximum allowed weight.
  attribute(:maximum, Float)

  # @return [Float] Minimum allowed weight.
  attribute(:minimum, Float)

  # @return [String]
  attribute(:unit, String)
end
WindowInput =

Contains only a starting DateTime.

Structure.new do
  # @return [Time] The start date of the window. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with minute precision. Supports
  # patterns `yyyy-MM-ddTHH:mmZ`, `yyyy-MM-ddTHH:mm:ssZ`, or `yyyy-MM-ddTHH:mm:ss.sssZ`. Note that non-zero second
  # and millisecond components are removed.
  attribute(:start, Time)
end
AddressInput =

Specific details to identify a place.

Structure.new do
  # @return [String] Street address information.
  attribute(:address_line1, String, from: "addressLine1")

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

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

  # @return [String] The name of the individual who is the primary contact.
  attribute(:name, String)

  # @return [String] The phone number.
  attribute(:phone_number, String, from: "phoneNumber")

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

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

  # @return [String] The name of the business.
  attribute?(:company_name, String, from: "companyName")

  # @return [String] The district or county.
  attribute?(:district_or_county, String, from: "districtOrCounty")

  # @return [String] The email address.
  attribute?(:email, String)

  # @return [String] The state or province code.
  attribute?(:state_or_province_code, String, from: "stateOrProvinceCode")
end
MskuQuantity =

Represents an MSKU and the related quantity.

Structure.new do
  # @return [String] The merchant SKU, a merchant-supplied identifier for a specific SKU.
  attribute(:msku, String)

  # @return [Integer] A positive integer.
  attribute(:quantity, Integer)
end
PackingOption =

A packing option contains a set of pack groups plus additional information about the packing option, such as any discounts or fees if it's selected.

Structure.new do
  # @return [Array<Incentive>] Discount for the offered option.
  attribute(:discounts, [Incentive])

  # @return [Array<Incentive>] Fee for the offered option.
  attribute(:fees, [Incentive])

  # @return [Array<String>] Packing group IDs.
  attribute(:packing_groups, [String], from: "packingGroups")

  # @return [String] Identifier of a packing option.
  attribute(:packing_option_id, String, from: "packingOptionId")

  # @return [String] The status of the packing option. Possible values: `OFFERED`, `ACCEPTED`, `EXPIRED`.
  attribute(:status, String)

  # @return [Array<PackingConfiguration>] A list of possible configurations for this option.
  attribute(:supported_configurations, [PackingConfiguration], from: "supportedConfigurations")

  # @return [Array<ShippingConfiguration>] **This field is deprecated**. Use the `shippingRequirements` property
  # under `supportedConfigurations` instead. List of supported shipping modes.
  attribute(:supported_shipping_configurations, [ShippingConfiguration], from: "supportedShippingConfigurations")

  # @return [Time] The time at which this packing option is no longer valid. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mm:ss.sssZ`.
  attribute?(:expiration, Time)
end
ShipmentSource =

Specifies the 'ship from' address for the shipment.

Structure.new do
  # @return [String] The type of source for this shipment. Possible values: `SELLER_FACILITY`.
  attribute(:source_type, String, from: "sourceType")

  # @return [Address]
  attribute?(:address, Address)
end
AppointmentSlot =

The fulfillment center appointment slot for the transportation option.

Structure.new do
  # @return [String] An identifier to a self-ship appointment slot.
  attribute(:slot_id, String, from: "slotId")

  # @return [AppointmentSlotTime]
  attribute(:slot_time, AppointmentSlotTime, from: "slotTime")
end
BoxRequirements =

The requirements for a box in the packing option.

Structure.new do
  # @return [WeightRange]
  attribute(:weight, WeightRange)
end
BoxUpdateInput =

Input information for updating a box

Structure.new do
  # @return [String]
  attribute(:content_information_source, String, from: "contentInformationSource")

  # @return [Dimensions]
  attribute(:dimensions, Dimensions)

  # @return [Integer] The number of containers where all other properties like weight or dimensions are identical.
  attribute(:quantity, Integer)

  # @return [Weight]
  attribute(:weight, Weight)

  # @return [Array<ItemInput>] The items and their quantity in the box. This must be empty if the box
  # `contentInformationSource` is `BARCODE_2D` or `MANUAL_PROCESS`.
  attribute?(:items, [ItemInput])

  # @return [String] Primary key to uniquely identify a Box Package. PackageId must be provided if the intent is
  # to update an existing box. Adding a new box will not require providing this value. Any existing PackageIds not
  # provided will be treated as to-be-removed
  attribute?(:package_id, String, from: "packageId")
end
MskuPrepDetail =

An MSKU and its related prep details.

Structure.new do
  # @return [String] The merchant SKU, a merchant-supplied identifier for a specific SKU.
  attribute(:msku, String)

  # @return [String]
  attribute(:prep_category, String, from: "prepCategory")

  # @return [Array<PrepType>] A list of preparation types associated with a preparation category.
  attribute(:prep_types, Array, from: "prepTypes")

  # @return [String]
  attribute?(:all_owners_constraint, String, from: "allOwnersConstraint")

  # @return [String]
  attribute?(:label_owner_constraint, String, from: "labelOwnerConstraint")

  # @return [String]
  attribute?(:prep_owner_constraint, String, from: "prepOwnerConstraint")
end
PlacementOption =

Contains information pertaining to the placement of the contents of an inbound plan and the related costs.

Structure.new do
  # @return [Array<Incentive>] Discount for the offered option.
  attribute(:discounts, [Incentive])

  # @return [Array<Incentive>] The fee for the offered option.
  attribute(:fees, [Incentive])

  # @return [String] The identifier of a placement option. A placement option represents the shipment splits and
  # destinations of SKUs.
  attribute(:placement_option_id, String, from: "placementOptionId")

  # @return [Array<String>] Shipment ids.
  attribute(:shipment_ids, [String], from: "shipmentIds")

  # @return [String] The status of a placement option. Possible values: `OFFERED`, `ACCEPTED`, `EXPIRED`.
  attribute(:status, String)

  # @return [Time] The expiration date of the placement option. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mm:ss.sssZ`.
  attribute?(:expiration, Time)
end
PrepInstruction =

Information pertaining to the preparation of inbound goods.

Structure.new do
  # @return [Money]
  attribute?(:fee, Money)

  # @return [String] In some situations, special preparations are required for items and this field reflects the
  # owner of the preparations. Options include `AMAZON`, `SELLER` or `NONE`.
  attribute?(:prep_owner, String, from: "prepOwner")

  # @return [String] Type of preparation that should be done.
  #
  # Possible values: `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`,
  # `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`,
  # `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`,
  # `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`,
  # `FC_PROVIDED`, `UNKNOWN`, `NONE`.
  attribute?(:prep_type, String, from: "prepType")
end
ShipmentSummary =

Summary information about a shipment.

Structure.new do
  # @return [String] Identifier of a shipment. A shipment contains the boxes and units being inbounded.
  attribute(:shipment_id, String, from: "shipmentId")

  # @return [String] The status of a shipment. The state of the shipment will typically start as `UNCONFIRMED`,
  # then transition to `WORKING` after a placement option has been confirmed, and then to `READY_TO_SHIP` once
  # labels are generated.
  #
  # Possible values: `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`,
  # `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, `UNCONFIRMED`, `WORKING`
  attribute(:status, String)
end
TrackingDetails =

Tracking information for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.

Structure.new do
  # @return [LtlTrackingDetail]
  attribute?(:ltl_tracking_detail, LtlTrackingDetail, from: "ltlTrackingDetail")

  # @return [SpdTrackingDetail]
  attribute?(:spd_tracking_detail, SpdTrackingDetail, from: "spdTrackingDetail")
end
ComplianceDetail =

Contains item identifiers and related tax information.

Structure.new do
  # @return [String] The Amazon Standard Identification Number, which identifies the detail page identifier.
  attribute?(:asin, String)

  # @return [String] The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and
  # condition.
  attribute?(:fnsku, String)

  # @return [String] The merchant SKU, a merchant-supplied identifier for a specific SKU.
  attribute?(:msku, String)

  # @return [TaxDetails]
  attribute?(:tax_details, TaxDetails, from: "taxDetails")
end
DocumentDownload =

Resource to download the requested document.

Structure.new do
  # @return [String] The type of download. Possible values: `URL`.
  attribute(:download_type, String, from: "downloadType")

  # @return [String] Uniform resource identifier to identify where the document is located.
  attribute(:uri, String)

  # @return [Time] The URI's expiration time. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mm:ss.sssZ`.
  attribute?(:expiration, Time)
end
OperationProblem =

A problem with additional properties persisted to an operation.

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] The severity of the problem. Possible values: `WARNING`, `ERROR`.
  attribute(:severity, String)

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

Objects that were included in the update request.

Structure.new do
  # @return [Array<BoxUpdateInput>] A list of boxes that will be present in the shipment after the update.
  attribute?(:boxes, [BoxUpdateInput])

  # @return [Array<ItemInput>] A list of all items that will be present in the shipment after the update.
  attribute?(:items, [ItemInput])
end
SpdTrackingItem =

Contains information used to track and identify a Small Parcel Delivery (SPD) item.

Structure.new do
  # @return [String] The ID provided by Amazon that identifies a given box. This ID is comprised of the external
  # shipment ID (which is generated after transportation has been confirmed) and the index of the box.
  attribute?(:box_id, String, from: "boxId")

  # @return [String] The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery
  # (SPD) shipment.
  attribute?(:tracking_id, String, from: "trackingId")

  # @return [String] Indicates whether Amazon has validated the tracking number. Because shipment validation is
  # asynchronous, tracking IDs might not be validated immediately, and the status might change after a few hours.
  # If more than 24 hours have passed and the status is not yet 'VALIDATED' or `NOT_SUPPORTED`, verify the number
  # and update it if necessary. **Possible values:** `VALIDATED`, `NOT_VALIDATED`, `NOT_SUPPORTED` (Amazon is
  # unable to find tracking information for the provided tracking ID).
  attribute?(:tracking_number_validation_status, String, from: "trackingNumberValidationStatus")
end
CarrierAppointment =

Contains details for a transportation carrier appointment. This appointment is vended out by Amazon and is an indicator for when a transportation carrier is accepting shipments to be picked up.

Structure.new do
  # @return [Time] The end timestamp of the appointment in UTC.
  attribute(:end_time, Time, from: "endTime")

  # @return [Time] The start timestamp of the appointment in UTC.
  attribute(:start_time, Time, from: "startTime")
end
ContactInformation =

The seller's contact information.

Structure.new do
  # @return [String] The contact's name.
  attribute(:name, String)

  # @return [String] The phone number.
  attribute(:phone_number, String, from: "phoneNumber")

  # @return [String] The email address.
  attribute?(:email, String)
end
FreightInformation =

Freight information describes the SKUs that are in transit. Freight carrier options and quotes will only be returned if the freight information is provided.

Structure.new do
  # @return [Money]
  attribute?(:declared_value, Money, from: "declaredValue")

  # @return [String] Freight class.
  #
  # Possible values: `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`,
  # `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, `FC_500`.
  attribute?(:freight_class, String, from: "freightClass")
end
LtlTrackingDetail =

Contains information related to Less-Than-Truckload (LTL) shipment tracking.

Structure.new do
  # @return [String] The number of the carrier shipment acknowledgement document.
  attribute?(:bill_of_lading_number, String, from: "billOfLadingNumber")

  # @return [Array<String>] The number associated with the freight bill.
  attribute?(:freight_bill_number, [String], from: "freightBillNumber")
end
SpdTrackingDetail =

Contains information related to Small Parcel Delivery (SPD) shipment tracking.

Structure.new do
  # @return [Array<SpdTrackingItem>] List of Small Parcel Delivery (SPD) tracking items.
  attribute?(:spd_tracking_items, [SpdTrackingItem], from: "spdTrackingItems")
end
InboundPlanSummary =

A light-weight inbound plan.

Structure.new do
  # @return [Time] The time at which the inbound plan was created. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mm:ssZ`.
  attribute(:created_at, Time, from: "createdAt")

  # @return [String] Identifier of an inbound plan.
  attribute(:inbound_plan_id, String, from: "inboundPlanId")

  # @return [Time] The time at which the inbound plan was last updated. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mm:ssZ`.
  attribute(:last_updated_at, Time, from: "lastUpdatedAt")

  # @return [Array<String>] A list of marketplace IDs.
  attribute(:marketplace_ids, [String], from: "marketplaceIds")

  # @return [String] Human-readable name of the inbound plan.
  attribute(:name, String)

  # @return [Address]
  attribute(:source_address, Address, from: "sourceAddress")

  # @return [String] The current status of the inbound plan. Possible values: `ACTIVE`, `VOIDED`, `SHIPPED`,
  # `ERRORED`.
  attribute(:status, String)
end
ShipmentDestination =

The Amazon fulfillment center address and warehouse ID.

Structure.new do
  # @return [String] The type of destination for this shipment. Possible values: `AMAZON_OPTIMIZED`,
  # `AMAZON_WAREHOUSE`.
  attribute(:destination_type, String, from: "destinationType")

  # @return [Address] The address the shipment should be sent to. This can be empty if the destination type is
  # `AMAZON_OPTIMIZED`.
  attribute?(:address, Address)

  # @return [String] The warehouse that the shipment should be sent to. This can be empty if the destination type
  # is `AMAZON_OPTIMIZED`.
  attribute?(:warehouse_id, String, from: "warehouseId")
end
AppointmentSlotTime =

An appointment slot time with start and end.

Structure.new do
  # @return [Time] The end timestamp of the appointment in UTC.
  attribute(:end_time, Time, from: "endTime")

  # @return [Time] The start timestamp of the appointment in UTC.
  attribute(:start_time, Time, from: "startTime")
end
PackingConfiguration =

A way to configure this packing option. Some box content information sources might not be allowed. Non-standard minimum and maximum box weights might be enforced.

Structure.new do
  # @return [Array<BoxContentInformationSource>] The box content information sources that are allowed.
  attribute?(:box_packing_methods, Array, from: "boxPackingMethods")

  # @return [BoxRequirements]
  attribute?(:box_requirements, BoxRequirements, from: "boxRequirements")

  # @return [Array<ShippingRequirements>] A list of supported shipping requirements for this packing
  # configuration.
  attribute?(:shipping_requirements, [ShippingRequirements], from: "shippingRequirements")
end
ShippingRequirements =

The possible shipping modes for the packing option for a given shipping solution or program. Available solutions are Amazon-Partnered Carrier and Use Your Own Carrier. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.

Structure.new do
  # @return [Array<String>] Available shipment modes for this shipping program.
  attribute(:modes, [String])

  # @return [String] Shipping program for the option. Can be: `AMAZON_PARTNERED_CARRIER`, `USE_YOUR_OWN_CARRIER`.
  attribute(:solution, String)
end
TransportationOption =

Contains information pertaining to a transportation option and the related carrier.

Structure.new do
  # @return [Carrier]
  attribute(:carrier, Carrier)

  # @return [Array<String>] Identifies a list of preconditions for confirming the transportation option.
  attribute(:preconditions, [String])

  # @return [String] Identifier of a shipment. A shipment contains the boxes and units being inbounded.
  attribute(:shipment_id, String, from: "shipmentId")

  # @return [String] Mode of shipment transportation that this option will provide.
  #
  # Possible values: `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`,
  # `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, `AIR_SMALL_PARCEL_EXPRESS`.
  attribute(:shipping_mode, String, from: "shippingMode")

  # @return [String] Shipping program for the option. Possible values: `AMAZON_PARTNERED_CARRIER`,
  # `USE_YOUR_OWN_CARRIER`.
  attribute(:shipping_solution, String, from: "shippingSolution")

  # @return [String] Identifier of a transportation option. A transportation option represent one option for how
  # to send a shipment.
  attribute(:transportation_option_id, String, from: "transportationOptionId")

  # @return [CarrierAppointment]
  attribute?(:carrier_appointment, CarrierAppointment, from: "carrierAppointment")

  # @return [Quote]
  attribute?(:quote, Quote)
end
ContentUpdatePreview =

Preview of the changes that will be applied to the shipment.

Structure.new do
  # @return [String] Identifier of a content update preview.
  attribute(:content_update_preview_id, String, from: "contentUpdatePreviewId")

  # @return [Time] The time at which the content update expires. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mm:ss.sssZ`.
  attribute(:expiration, Time)

  # @return [RequestedUpdates]
  attribute(:requested_updates, RequestedUpdates, from: "requestedUpdates")

  # @return [TransportationOption]
  attribute(:transportation_option, TransportationOption, from: "transportationOption")
end
CustomPlacementInput =

Provide units going to the warehouse.

Structure.new do
  # @return [Array<ItemInput>] Items included while creating Inbound Plan.
  attribute(:items, [ItemInput])

  # @return [String] Warehouse Id.
  attribute(:warehouse_id, String, from: "warehouseId")
end
DeliveryWindowOption =

Contains information pertaining to a delivery window option.

Structure.new do
  # @return [String] Identifies type of Delivery Window Availability. Values: `AVAILABLE`, `CONGESTED`
  attribute(:availability_type, String, from: "availabilityType")

  # @return [String] Identifier of a delivery window option. A delivery window option represent one option for
  # when a shipment is expected to be delivered.
  attribute(:delivery_window_option_id, String, from: "deliveryWindowOptionId")

  # @return [Time] The time at which this delivery window option ends. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mmZ`.
  attribute(:end_date, Time, from: "endDate")

  # @return [Time] The time at which this delivery window option starts. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mmZ`.
  attribute(:start_date, Time, from: "startDate")

  # @return [Time] The time at which this window delivery option is no longer valid. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format with pattern
  # `yyyy-MM-ddTHH:mmZ`.
  attribute(:valid_until, Time, from: "validUntil")
end
MskuPrepDetailInput =

An MSKU and its related prep details.

Structure.new do
  # @return [String] The merchant SKU, a merchant-supplied identifier for a specific SKU.
  attribute(:msku, String)

  # @return [String]
  attribute(:prep_category, String, from: "prepCategory")

  # @return [Array<PrepType>] A list of preparation types associated with a preparation category.
  attribute(:prep_types, Array, from: "prepTypes")
end
PackageGroupingInput =

Packing information for the inbound plan.

Structure.new do
  # @return [Array<BoxInput>] Box level information being provided.
  attribute(:boxes, [BoxInput])

  # @return [String] The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can
  # only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of
  # `ShipmentId` or `PackingGroupId` must be provided with every request.
  attribute?(:packing_group_id, String, from: "packingGroupId")

  # @return [String] The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be
  # provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of
  # `ShipmentId` or `PackingGroupId` must be provided with every request.
  attribute?(:shipment_id, String, from: "shipmentId")
end
PackingOptionSummary =

Summary information about a packing option.

Structure.new do
  # @return [String] Identifier of a packing option.
  attribute(:packing_option_id, String, from: "packingOptionId")

  # @return [String] The status of a packing option. Possible values: 'OFFERED', 'ACCEPTED', 'EXPIRED'.
  attribute(:status, String)
end
ShippingConfiguration =

The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express.

Structure.new do
  # @return [String] Mode of shipment transportation that this option will provide.
  #
  # Possible values: `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`,
  # `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, `AIR_SMALL_PARCEL_EXPRESS`.
  attribute?(:shipping_mode, String, from: "shippingMode")

  # @return [String] Shipping program for the option. Possible values: `AMAZON_PARTNERED_CARRIER`,
  # `USE_YOUR_OWN_CARRIER`.
  attribute?(:shipping_solution, String, from: "shippingSolution")
end
TrackingDetailsInput =

Tracking information input for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments.

Structure.new do
  # @return [LtlTrackingDetailInput]
  attribute?(:ltl_tracking_detail, LtlTrackingDetailInput, from: "ltlTrackingDetail")

  # @return [SpdTrackingDetailInput]
  attribute?(:spd_tracking_detail, SpdTrackingDetailInput, from: "spdTrackingDetail")
end
SpdTrackingItemInput =

Small Parcel Delivery (SPD) tracking items input information.

Structure.new do
  # @return [String] The ID provided by Amazon that identifies a given box. This ID is comprised of the external
  # shipment ID (which is generated after transportation has been confirmed) and the index of the box.
  attribute(:box_id, String, from: "boxId")

  # @return [String] The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery
  # (SPD) shipment. The seller must provide this information.
  attribute(:tracking_id, String, from: "trackingId")
end
InboundOperationStatus =

GetInboundOperationStatus response.

Structure.new do
  # @return [String] The name of the operation in the asynchronous API call.
  attribute(:operation, String)

  # @return [String] The operation ID returned by the asynchronous API call.
  attribute(:operation_id, String, from: "operationId")

  # @return [Array<OperationProblem>] The problems in the processing of the asynchronous operation.
  attribute(:operation_problems, [OperationProblem], from: "operationProblems")

  # @return [String]
  attribute(:operation_status, String, from: "operationStatus")
end
PlacementOptionSummary =

Summary information about a placement option.

Structure.new do
  # @return [String] The identifier of a placement option. A placement option represents the shipment splits and
  # destinations of SKUs.
  attribute(:placement_option_id, String, from: "placementOptionId")

  # @return [String] The status of a placement option. Possible values: `OFFERED`, `ACCEPTED`.
  attribute(:status, String)
end
SelectedDeliveryWindow =

Selected delivery window attributes.

Structure.new do
  # @return [String] Identifies type of Delivery Window Availability. Values: `AVAILABLE`, `CONGESTED`
  attribute(:availability_type, String, from: "availabilityType")

  # @return [String] Identifier of a delivery window option. A delivery window option represent one option for
  # when a shipment is expected to be delivered.
  attribute(:delivery_window_option_id, String, from: "deliveryWindowOptionId")

  # @return [Time] The end timestamp of the window.
  attribute(:end_date, Time, from: "endDate")

  # @return [Time] The start timestamp of the window.
  attribute(:start_date, Time, from: "startDate")

  # @return [Time] The timestamp at which this Window can no longer be edited.
  attribute?(:editable_until, Time, from: "editableUntil")
end
SetPrepDetailsRequest =

The setPrepDetails request.

Structure.new do
  # @return [String] The marketplace ID. For a list of possible values, refer to [Marketplace
  # IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [Array<MskuPrepDetailInput>] A list of MSKUs and related prep details.
  attribute(:msku_prep_details, [MskuPrepDetailInput], from: "mskuPrepDetails")
end
TransportationSelection =

The transportation option selected to confirm.

Structure.new do
  # @return [String] Shipment ID that the transportation Option is for.
  attribute(:shipment_id, String, from: "shipmentId")

  # @return [String] Transportation option being selected for the provided shipment.
  attribute(:transportation_option_id, String, from: "transportationOptionId")

  # @return [ContactInformation]
  attribute?(:contact_information, ContactInformation, from: "contactInformation")
end
LtlTrackingDetailInput =

Contains input information to update Less-Than-Truckload (LTL) tracking information.

Structure.new do
  # @return [Array<String>] Number associated with the freight bill.
  attribute(:freight_bill_number, [String], from: "freightBillNumber")

  # @return [String] The number of the carrier shipment acknowledgement document.
  attribute?(:bill_of_lading_number, String, from: "billOfLadingNumber")
end
SetPrepDetailsResponse =

The setPrepDetails response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
SpdTrackingDetailInput =

Contains input information to update Small Parcel Delivery (SPD) tracking information.

Structure.new do
  # @return [Array<SpdTrackingItemInput>] List of Small Parcel Delivery (SPD) tracking items input.
  attribute(:spd_tracking_items, [SpdTrackingItemInput], from: "spdTrackingItems")
end
ListPrepDetailsResponse =

The response to the listPrepDetails operation.

Structure.new do
  # @return [Array<MskuPrepDetail>] A list of MSKUs and related prep details.
  attribute(:msku_prep_details, [MskuPrepDetail], from: "mskuPrepDetails")
end
CreateInboundPlanRequest =

The createInboundPlan request.

Structure.new do
  # @return [Array<String>] Marketplaces where the items need to be shipped to. Currently only one marketplace can
  # be selected in this request.
  attribute(:destination_marketplaces, [String], from: "destinationMarketplaces")

  # @return [Array<ItemInput>] Items included in this plan.
  attribute(:items, [ItemInput])

  # @return [AddressInput]
  attribute(:source_address, AddressInput, from: "sourceAddress")

  # @return [String] Name for the Inbound Plan. If one isn't provided, a default name will be provided.
  attribute?(:name, String)
end
ListInboundPlansResponse =

The listInboundPlans response.

Structure.new do
  # @return [Array<InboundPlanSummary>] A list of inbound plans with minimal information.
  attribute?(:inbound_plans, [InboundPlanSummary], from: "inboundPlans")

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
CancelInboundPlanResponse =

The cancelInboundPlan response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
CreateInboundPlanResponse =

The createInboundPlan response.

Structure.new do
  # @return [String] Identifier of an inbound plan.
  attribute(:inbound_plan_id, String, from: "inboundPlanId")

  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
ListShipmentBoxesResponse =

The listShipmentBoxes response.

Structure.new do
  # @return [Array<Box>] A list of boxes in a shipment.
  attribute(:boxes, [Box])

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
ListShipmentItemsResponse =

The listShipmentItems response.

Structure.new do
  # @return [Array<Item>] The items in a shipment.
  attribute(:items, [Item])

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
UpdateShipmentNameRequest =

The updateShipmentName request.

Structure.new do
  # @return [String] A human-readable name to update the shipment name to.
  attribute(:name, String)
end
ListPackingOptionsResponse =

The listPlacementOptions response.

Structure.new do
  # @return [Array<PackingOption>] List of packing options.
  attribute(:packing_options, [PackingOption], from: "packingOptions")

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
SelfShipAppointmentDetails =

Appointment details for carrier pickup or fulfillment center appointments.

Structure.new do
  # @return [Float] Identifier for appointment.
  attribute?(:appointment_id, Float, from: "appointmentId")

  # @return [AppointmentSlotTime]
  attribute?(:appointment_slot_time, AppointmentSlotTime, from: "appointmentSlotTime")

  # @return [String] Status of the appointment.
  attribute?(:appointment_status, String, from: "appointmentStatus")
end
ListShipmentPalletsResponse =

The listShipmentPallets response.

Structure.new do
  # @return [Array<Pallet>] The pallets in a shipment.
  attribute(:pallets, [Pallet])

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
ConfirmPackingOptionResponse =

The confirmPackingOption response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
ListPlacementOptionsResponse =

The listPlacementOptions response.

Structure.new do
  # @return [Array<PlacementOption>] Placement options generated for the inbound plan.
  attribute(:placement_options, [PlacementOption], from: "placementOptions")

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
SetPackingInformationRequest =

The setPackingInformation request.

Structure.new do
  # @return [Array<PackageGroupingInput>] List of packing information for the inbound plan.
  attribute(:package_groupings, [PackageGroupingInput], from: "packageGroupings")
end
ListInboundPlanBoxesResponse =

The listInboundPlanBoxes response.

Structure.new do
  # @return [Array<Box>] A list of boxes in an inbound plan.
  attribute(:boxes, [Box])

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
ListInboundPlanItemsResponse =

The listInboundPlanItems response.

Structure.new do
  # @return [Array<Item>] The items in an inbound plan.
  attribute(:items, [Item])

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
SetPackingInformationResponse =

The setPackingInformation response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
UpdateInboundPlanNameRequest =

The updateInboundPlanName request.

Structure.new do
  # @return [String] A human-readable name to update the inbound plan name to.
  attribute(:name, String)
end
ConfirmPlacementOptionResponse =

The confirmPlacementOption response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
GeneratePackingOptionsResponse =

The generatePackingOptions response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
ListPackingGroupBoxesResponse =

The listPackingGroupBoxes response.

Structure.new do
  # @return [Array<Box>] Provides the information about the list of boxes in the packing group.
  attribute(:boxes, [Box])

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
ListPackingGroupItemsResponse =

The listPackingGroupItems response.

Structure.new do
  # @return [Array<Item>] Provides the information about the list of items in the packing group.
  attribute(:items, [Item])

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
GeneratePlacementOptionsRequest =

The generatePlacementOptions request.

Structure.new do
  # @return [Array<CustomPlacementInput>] Custom placement options you want to add to the plan. This is only used
  # for the India (IN - A21TJRUUN4KGV) marketplace.
  attribute?(:custom_placement, [CustomPlacementInput], from: "customPlacement")
end
ListInboundPlanPalletsResponse =

The listInboundPlanPallets response.

Structure.new do
  # @return [Array<Pallet>] The pallets in an inbound plan.
  attribute(:pallets, [Pallet])

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
GeneratePlacementOptionsResponse =

The generatePlacementOptions response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
CancelSelfShipAppointmentRequest =

The cancelSelfShipAppointment request.

Structure.new do
  # @return [String]
  attribute?(:reason_comment, String, from: "reasonComment")
end
ListTransportationOptionsResponse =

The listTransportationOptions response.

Structure.new do
  # @return [Array<TransportationOption>] Transportation options generated for the placement option.
  attribute(:transportation_options, [TransportationOption], from: "transportationOptions")

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
CancelSelfShipAppointmentResponse =

The CancelSelfShipAppointment response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
ListDeliveryWindowOptionsResponse =

The listDeliveryWindowOptions response.

Structure.new do
  # @return [Array<DeliveryWindowOption>] Delivery window options generated for the placement option.
  attribute(:delivery_window_options, [DeliveryWindowOption], from: "deliveryWindowOptions")

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
ListItemComplianceDetailsResponse =

The listItemComplianceDetails response.

Structure.new do
  # @return [Array<ComplianceDetail>] List of compliance details.
  attribute?(:compliance_details, [ComplianceDetail], from: "complianceDetails")
end
ShipmentTransportationConfiguration =

Details needed to generate the transportation options.

Structure.new do
  # @return [WindowInput] The range of dates within which the seller intends to ship their items. This is the
  # pick-up date or 'ready to ship' date, not an estimated delivery date.
  attribute(:ready_to_ship_window, WindowInput, from: "readyToShipWindow")

  # @return [String] Identifier of a shipment. A shipment contains the boxes and units being inbounded.
  attribute(:shipment_id, String, from: "shipmentId")

  # @return [ContactInformation]
  attribute?(:contact_information, ContactInformation, from: "contactInformation")

  # @return [FreightInformation]
  attribute?(:freight_information, FreightInformation, from: "freightInformation")

  # @return [Array<PalletInput>] List of pallet configuration inputs.
  attribute?(:pallets, [PalletInput])
end
ConfirmTransportationOptionsRequest =

The confirmTransportationOptions request.

Structure.new do
  # @return [Array<TransportationSelection>] Information needed to confirm one of the available transportation
  # options.
  attribute(:transportation_selections, [TransportationSelection], from: "transportationSelections")
end
CreateMarketplaceItemLabelsRequest =

The createMarketplaceItemLabels request.

Structure.new do
  # @return [String]
  attribute(:label_type, String, from: "labelType")

  # @return [String] The Marketplace ID. For a list of possible values, refer to [Marketplace
  # IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [Array<MskuQuantity>] Represents the quantity of an MSKU to print item labels for.
  attribute(:msku_quantities, [MskuQuantity], from: "mskuQuantities")

  # @return [Float] The height of the item label.
  attribute?(:height, Float)

  # @return [String] The locale code constructed from ISO 639 language code and ISO 3166-1 alpha-2 standard of
  # country codes separated by an underscore character.
  attribute?(:locale_code, String, from: "localeCode")

  # @return [String]
  attribute?(:page_type, String, from: "pageType")

  # @return [Float] The width of the item label.
  attribute?(:width, Float)
end
GetDeliveryChallanDocumentResponse =

The getDeliveryChallanDocumentResponse response.

Structure.new do
  # @return [DocumentDownload]
  attribute(:document_download, DocumentDownload, from: "documentDownload")
end
ScheduleSelfShipAppointmentRequest =

The scheduleSelfShipAppointment request.

Structure.new do
  # @return [String]
  attribute?(:reason_comment, String, from: "reasonComment")
end
UpdateItemComplianceDetailsRequest =

The updateItemComplianceDetails request.

Structure.new do
  # @return [String] The merchant SKU, a merchant-supplied identifier for a specific SKU.
  attribute(:msku, String)

  # @return [TaxDetails]
  attribute(:tax_details, TaxDetails, from: "taxDetails")
end
UpdateShipmentSourceAddressRequest =

The UpdateShipmentSourceAddress request.

Structure.new do
  # @return [AddressInput]
  attribute(:address, AddressInput)
end
ConfirmTransportationOptionsResponse =

The confirmTransportationOptions response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
CreateMarketplaceItemLabelsResponse =

The createMarketplaceItemLabels response.

Structure.new do
  # @return [Array<DocumentDownload>] Resources to download the requested document.
  attribute(:document_downloads, [DocumentDownload], from: "documentDownloads")
end
GenerateTransportationOptionsRequest =

The generateTransportationOptions request.

Structure.new do
  # @return [String] The placement option to generate transportation options for.
  attribute(:placement_option_id, String, from: "placementOptionId")

  # @return [Array<ShipmentTransportationConfiguration>] List of shipment transportation configurations.
  attribute(:shipment_transportation_configurations, [ShipmentTransportationConfiguration], from: "shipmentTransportationConfigurations")
end
ScheduleSelfShipAppointmentResponse =

The scheduleSelfShipAppointment response.

Structure.new do
  # @return [SelfShipAppointmentDetails]
  attribute(:self_ship_appointment_details, SelfShipAppointmentDetails, from: "selfShipAppointmentDetails")
end
UpdateItemComplianceDetailsResponse =

The updateItemComplianceDetails response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
UpdateShipmentSourceAddressResponse =

The UpdateShipmentSourceAddress response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
ConfirmDeliveryWindowOptionsResponse =

The confirmDeliveryWindowOptions response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
GenerateTransportationOptionsResponse =

The generateTransportationOptions response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
GetSelfShipAppointmentSlotsResponse =

The getSelfShipAppointmentSlots response.

Structure.new do
  # @return [SelfShipAppointmentSlotsAvailability]
  attribute(:self_ship_appointment_slots_availability, SelfShipAppointmentSlotsAvailability, from: "selfShipAppointmentSlotsAvailability")

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
SelfShipAppointmentSlotsAvailability =

The self ship appointment time slots availability and an expiration date for which the slots can be scheduled.

Structure.new do
  # @return [Time] The time at which the self ship appointment slot expires. In [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) datetime format.
  attribute?(:expires_at, Time, from: "expiresAt")

  # @return [Array<AppointmentSlot>] A list of appointment slots.
  attribute?(:slots, [AppointmentSlot])
end
UpdateShipmentTrackingDetailsRequest =

The updateShipmentTrackingDetails request.

Structure.new do
  # @return [TrackingDetailsInput]
  attribute(:tracking_details, TrackingDetailsInput, from: "trackingDetails")
end
GenerateDeliveryWindowOptionsResponse =

The generateDeliveryWindowOptions response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
UpdateShipmentTrackingDetailsResponse =

The updateShipmentTrackingDetails response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
GenerateSelfShipAppointmentSlotsRequest =

The generateSelfShipAppointmentSlots request.

Structure.new do
  # @return [Time] The desired end date. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601)
  # datetime format.
  attribute?(:desired_end_date, Time, from: "desiredEndDate")

  # @return [Time] The desired start date. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601)
  # datetime format.
  attribute?(:desired_start_date, Time, from: "desiredStartDate")
end
GenerateSelfShipAppointmentSlotsResponse =

The generateSelfShipAppointmentSlots response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
ListShipmentContentUpdatePreviewsResponse =

The ListShipmentContentUpdatePreviews response.

Structure.new do
  # @return [Array<ContentUpdatePreview>] A list of content update previews in a shipment.
  attribute(:content_update_previews, [ContentUpdatePreview], from: "contentUpdatePreviews")

  # @return [Pagination]
  attribute?(:pagination, Pagination)
end
ConfirmShipmentContentUpdatePreviewResponse =

The confirmShipmentContentUpdatePreview response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
end
GenerateShipmentContentUpdatePreviewsRequest =

The GenerateShipmentContentUpdatePreviews request.

Structure.new do
  # @return [Array<BoxUpdateInput>] A list of boxes that will be present in the shipment after the update.
  attribute(:boxes, [BoxUpdateInput])

  # @return [Array<ItemInput>] A list of all items that will be present in the shipment after the update.
  attribute(:items, [ItemInput])
end
GenerateShipmentContentUpdatePreviewsResponse =

The GenerateShipmentContentUpdatePreviews response.

Structure.new do
  # @return [String] UUID for the given operation.
  attribute(:operation_id, String, from: "operationId")
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_inbound_plan(inbound_plan_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



94
95
96
97
98
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 94

def cancel_inbound_plan(inbound_plan_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/cancellation"
  parser = -> { CancelInboundPlanResponse }
  meter(rate_limit).put(path, parser:)
end

#cancel_self_ship_appointment(inbound_plan_id, shipment_id, body, rate_limit: nil) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Cancels a self-ship appointment slot against a shipment. Only available in the following marketplaces: MX, BR, EG, SA, AE, IN.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • body (Hash)

    The body of the request to cancelSelfShipAppointment.

  • rate_limit (Float) (defaults to: nil)

    Requests per second

Returns:



548
549
550
551
552
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 548

def cancel_self_ship_appointment(inbound_plan_id, shipment_id, body, rate_limit: nil)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/selfShipAppointmentCancellation"
  parser = -> { CancelSelfShipAppointmentResponse }
  meter(rate_limit).put(path, body:, parser:)
end

#confirm_delivery_window_options(inbound_plan_id, shipment_id, delivery_window_option_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Confirms the delivery window option for chosen shipment within an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new delivery window options cannot be generated, but the chosen delivery window option can be updated before shipment closure. The window is used to provide the expected time when a shipment will arrive at the warehouse. All transportation options which have the program CONFIRMED_DELIVERY_WINDOW require a delivery window to be confirmed prior to transportation option confirmation.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    The shipment to confirm the delivery window option for.

  • delivery_window_option_id (String)

    The id of the delivery window option to be confirmed.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



477
478
479
480
481
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 477

def confirm_delivery_window_options(inbound_plan_id, shipment_id, delivery_window_option_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/deliveryWindowOptions/#{percent_encode(delivery_window_option_id)}/confirmation"
  parser = -> { ConfirmDeliveryWindowOptionsResponse }
  meter(rate_limit).post(path, parser:)
end

#confirm_packing_option(inbound_plan_id, packing_option_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Confirms the packing option for an inbound plan.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • packing_option_id (String)

    Identifier of a packing option.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



233
234
235
236
237
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 233

def confirm_packing_option(inbound_plan_id, packing_option_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/packingOptions/#{percent_encode(packing_option_id)}/confirmation"
  parser = -> { ConfirmPackingOptionResponse }
  meter(rate_limit).post(path, parser:)
end

#confirm_placement_option(inbound_plan_id, placement_option_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.

shipment splits and destinations of SKUs.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • placement_option_id (String)

    The identifier of a placement option. A placement option represents the

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



302
303
304
305
306
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 302

def confirm_placement_option(inbound_plan_id, placement_option_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/placementOptions/#{percent_encode(placement_option_id)}/confirmation"
  parser = -> { ConfirmPlacementOptionResponse }
  meter(rate_limit).post(path, parser:)
end

#confirm_shipment_content_update_preview(inbound_plan_id, shipment_id, content_update_preview_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Confirm a shipment content update preview and accept the changes in transportation cost.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • content_update_preview_id (String)

    Identifier of a content update preview.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



407
408
409
410
411
412
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 407

def confirm_shipment_content_update_preview(inbound_plan_id, shipment_id, content_update_preview_id,
  rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/contentUpdatePreviews/#{percent_encode(content_update_preview_id)}/confirmation"
  parser = -> { ConfirmShipmentContentUpdatePreviewResponse }
  meter(rate_limit).post(path, parser:)
end

#confirm_transportation_options(inbound_plan_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • body (Hash)

    The body of the request to confirmTransportationOptions.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



691
692
693
694
695
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 691

def confirm_transportation_options(inbound_plan_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/transportationOptions/confirmation"
  parser = -> { ConfirmTransportationOptionsResponse }
  meter(rate_limit).post(path, body:, parser:)
end

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

Note:

This operation can make a static sandbox call.

Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.

Parameters:

  • body (Hash)

    The body of the request to createInboundPlan.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



48
49
50
51
52
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 48

def create_inbound_plan(body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans"
  parser = -> { CreateInboundPlanResponse }
  meter(rate_limit).post(path, body:, parser:)
end

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

Note:

This operation can make a static sandbox call.

For a given marketplace - creates labels for a list of MSKUs.

Parameters:

  • body (Hash)

    The body of the request to createMarketplaceItemLabels.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



751
752
753
754
755
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 751

def create_marketplace_item_labels(body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/items/labels"
  parser = -> { CreateMarketplaceItemLabelsResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#generate_delivery_window_options(inbound_plan_id, shipment_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Generates available delivery window options for a given shipment.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    The shipment to generate delivery window options for.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



458
459
460
461
462
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 458

def generate_delivery_window_options(inbound_plan_id, shipment_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/deliveryWindowOptions"
  parser = -> { GenerateDeliveryWindowOptionsResponse }
  meter(rate_limit).post(path, parser:)
end

#generate_packing_options(inbound_plan_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Generates available packing options for the inbound plan.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



220
221
222
223
224
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 220

def generate_packing_options(inbound_plan_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/packingOptions"
  parser = -> { GeneratePackingOptionsResponse }
  meter(rate_limit).post(path, parser:)
end

#generate_placement_options(inbound_plan_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Generates placement options for the inbound plan.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • body (Hash)

    The body of the request to generatePlacementOptions.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



288
289
290
291
292
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 288

def generate_placement_options(inbound_plan_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/placementOptions"
  parser = -> { GeneratePlacementOptionsResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#generate_self_ship_appointment_slots(inbound_plan_id, shipment_id, body, rate_limit: nil) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Initiates the process of generating the appointment slots list. Only available in the following marketplaces: MX, BR, EG, SA, AE, IN.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • body (Hash)

    The body of the request to generateSelfShipAppointmentSlots.

  • rate_limit (Float) (defaults to: nil)

    Requests per second

Returns:



588
589
590
591
592
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 588

def generate_self_ship_appointment_slots(inbound_plan_id, shipment_id, body, rate_limit: nil)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/selfShipAppointmentSlots"
  parser = -> { GenerateSelfShipAppointmentSlotsResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#generate_shipment_content_update_previews(inbound_plan_id, shipment_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Generate a shipment content update preview given a set of intended boxes and/or items for a shipment with a confirmed carrier. The shipment content update preview will be viewable with the updated costs and contents prior to confirmation.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • body (Hash)

    The body of the request to generateShipmentContentUpdatePreviews.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



377
378
379
380
381
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 377

def generate_shipment_content_update_previews(inbound_plan_id, shipment_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/contentUpdatePreviews"
  parser = -> { GenerateShipmentContentUpdatePreviewsResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#generate_transportation_options(inbound_plan_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Generates available transportation options for a given placement option.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • body (Hash)

    The body of the request to generateTransportationOptions.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



677
678
679
680
681
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 677

def generate_transportation_options(inbound_plan_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/transportationOptions"
  parser = -> { GenerateTransportationOptionsResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#get_delivery_challan_document(inbound_plan_id, shipment_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provide delivery challan document for PCP transportation in IN marketplace.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



421
422
423
424
425
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 421

def get_delivery_challan_document(inbound_plan_id, shipment_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/deliveryChallanDocument"
  parser = -> { GetDeliveryChallanDocumentResponse }
  meter(rate_limit).get(path, parser:)
end

#get_inbound_operation_status(operation_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Gets the status of the processing of an asynchronous API call.

Parameters:

  • operation_id (String)

    Identifier of an asynchronous operation.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



805
806
807
808
809
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 805

def get_inbound_operation_status(operation_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/operations/#{percent_encode(operation_id)}"
  parser = -> { InboundOperationStatus }
  meter(rate_limit).get(path, parser:)
end

#get_inbound_plan(inbound_plan_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Fetches the top level information about an inbound plan.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



60
61
62
63
64
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 60

def get_inbound_plan(inbound_plan_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}"
  parser = -> { InboundPlan }
  meter(rate_limit).get(path, parser:)
end

#get_self_ship_appointment_slots(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil, rate_limit: nil) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse. Only available in the following marketplaces: MX, BR, EG, SA, AE, IN.

given query. The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • page_size (Integer) (defaults to: 10)

    The number of self ship appointment slots to return in the response matching the

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: nil)

    Requests per second

Returns:



568
569
570
571
572
573
574
575
576
577
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 568

def get_self_ship_appointment_slots(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil,
  rate_limit: nil)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/selfShipAppointmentSlots"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { GetSelfShipAppointmentSlotsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#get_shipment(inbound_plan_id, shipment_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides the full details for a specific shipment within an inbound plan. The transportationOptionId inside acceptedTransportationSelection can be used to retrieve the transportation details for the shipment.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



316
317
318
319
320
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 316

def get_shipment(inbound_plan_id, shipment_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}"
  parser = -> { Shipment }
  meter(rate_limit).get(path, parser:)
end

#get_shipment_content_update_preview(inbound_plan_id, shipment_id, content_update_preview_id, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieve a shipment content update preview which provides a summary of the requested shipment content changes along with the transportation cost implications of the change that can only be confirmed prior to the expiry date specified.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • content_update_preview_id (String)

    Identifier of a content update preview.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



393
394
395
396
397
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 393

def get_shipment_content_update_preview(inbound_plan_id, shipment_id, content_update_preview_id, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/contentUpdatePreviews/#{percent_encode(content_update_preview_id)}"
  parser = -> { ContentUpdatePreview }
  meter(rate_limit).get(path, parser:)
end

#list_delivery_window_options(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieves all delivery window options for a shipment. Delivery window options must first be generated by the generateDeliveryWindowOptions operation before becoming available.

query. The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    The shipment to get delivery window options for.

  • page_size (Integer) (defaults to: 10)

    The number of delivery window options to return in the response matching the given

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



440
441
442
443
444
445
446
447
448
449
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 440

def list_delivery_window_options(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil,
  rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/deliveryWindowOptions"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListDeliveryWindowOptionsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_inbound_plan_boxes(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides a paginated list of box packages in an inbound plan.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • page_size (Integer) (defaults to: 10)

    The number of boxes to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



76
77
78
79
80
81
82
83
84
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 76

def list_inbound_plan_boxes(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/boxes"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListInboundPlanBoxesResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_inbound_plan_items(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides a paginated list of item packages in an inbound plan.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • page_size (Integer) (defaults to: 10)

    The number of items to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



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

def list_inbound_plan_items(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/items"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListInboundPlanItemsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_inbound_plan_pallets(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • page_size (Integer) (defaults to: 10)

    The number of pallets to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



250
251
252
253
254
255
256
257
258
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 250

def list_inbound_plan_pallets(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/pallets"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListInboundPlanPalletsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_inbound_plans(page_size: 10, pagination_token: nil, status: nil, sort_by: nil, sort_order: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides a list of inbound plans with minimal information.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • page_size (Integer) (defaults to: 10)

    The number of inbound plans to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • status (String) (defaults to: nil)

    The status of an inbound plan.

  • sort_by (String) (defaults to: nil)

    Sort by field.

  • sort_order (String) (defaults to: nil)

    The sort order.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 27

def list_inbound_plans(page_size: 10, pagination_token: nil, status: nil, sort_by: nil, sort_order: nil,
  rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
    "status" => status,
    "sortBy" => sort_by,
    "sortOrder" => sort_order,
  }.compact
  parser = -> { ListInboundPlansResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_item_compliance_details(mskus, marketplace_id, rate_limit: nil) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

List the inbound compliance details for MSKUs in a given marketplace.

Note: MSKUs that contain certain characters must be encoded. For more information, refer to URL Encoding.

The following characters must be double percent encoded:

  • %
  • +
  • ,

Examples: An MSKU value of test%msku is encoded as test%2525msku. An MSKU value of test,msku is encoded as test%252Cmsku.

IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).

Parameters:

  • mskus (Array<String>)

    A list of merchant SKUs, a merchant-supplied identifier of a specific SKU.

  • marketplace_id (String)

    The Marketplace ID. For a list of possible values, refer to [Marketplace

  • rate_limit (Float) (defaults to: nil)

    Requests per second

Returns:



717
718
719
720
721
722
723
724
725
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 717

def list_item_compliance_details(mskus, marketplace_id, rate_limit: nil)
  path = "/inbound/fba/2024-03-20/items/compliance"
  params = {
    "mskus" => stringify_array(mskus),
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { ListItemComplianceDetailsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_packing_group_boxes(inbound_plan_id, packing_group_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieves a page of boxes from a given packing group. These boxes were previously provided through the setPackingInformation operation. This API is used for workflows where boxes are packed before Amazon determines shipment splits.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • packing_group_id (String)

    Identifier of a packing group.

  • page_size (Integer) (defaults to: 10)

    The number of packing group boxes to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



145
146
147
148
149
150
151
152
153
154
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 145

def list_packing_group_boxes(inbound_plan_id, packing_group_id, page_size: 10, pagination_token: nil,
  rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/packingGroups/#{percent_encode(packing_group_id)}/boxes"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListPackingGroupBoxesResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_packing_group_items(inbound_plan_id, packing_group_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieves a page of items in a given packing group. Packing options must first be generated by the corresponding operation before packing group items can be listed.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • packing_group_id (String)

    Identifier of a packing group.

  • page_size (Integer) (defaults to: 10)

    The number of packing group items to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



168
169
170
171
172
173
174
175
176
177
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 168

def list_packing_group_items(inbound_plan_id, packing_group_id, page_size: 10, pagination_token: nil,
  rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/packingGroups/#{percent_encode(packing_group_id)}/items"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListPackingGroupItemsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_packing_options(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding operation before becoming available.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • page_size (Integer) (defaults to: 10)

    The number of packing options to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



204
205
206
207
208
209
210
211
212
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 204

def list_packing_options(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/packingOptions"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListPackingOptionsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_placement_options(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding operation before becoming available.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • page_size (Integer) (defaults to: 10)

    The number of placement options to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



271
272
273
274
275
276
277
278
279
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 271

def list_placement_options(inbound_plan_id, page_size: 10, pagination_token: nil, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/placementOptions"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListPlacementOptionsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_prep_details(marketplace_id, mskus, rate_limit: nil) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Get preparation details for a list of MSKUs in a specified marketplace.

Note: MSKUs that contain certain characters must be encoded. For more information, refer to URL Encoding.

The following characters must be double percent encoded:

  • %
  • +
  • ,

Examples: An MSKU value of test%msku is encoded as test%2525msku. An MSKU value of test,msku is encoded as test%252Cmsku.

IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).

Parameters:

  • marketplace_id (String)

    The marketplace ID. For a list of possible values, refer to [Marketplace

  • mskus (Array<String>)

    A list of merchant SKUs, a merchant-supplied identifier of a specific SKU.

  • rate_limit (Float) (defaults to: nil)

    Requests per second

Returns:



777
778
779
780
781
782
783
784
785
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 777

def list_prep_details(marketplace_id, mskus, rate_limit: nil)
  path = "/inbound/fba/2024-03-20/items/prepDetails"
  params = {
    "marketplaceId" => marketplace_id,
    "mskus" => stringify_array(mskus),
  }.compact
  parser = -> { ListPrepDetailsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_shipment_boxes(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides a paginated list of box packages in a shipment.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • page_size (Integer) (defaults to: 10)

    The number of boxes to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



333
334
335
336
337
338
339
340
341
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 333

def list_shipment_boxes(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/boxes"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListShipmentBoxesResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_shipment_content_update_previews(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieve a paginated list of shipment content update previews for a given shipment. The shipment content update preview is a summary of the requested shipment content changes along with the transportation cost implications of the change that can only be confirmed prior to the expiry date specified.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • page_size (Integer) (defaults to: 10)

    The number of content update previews to return.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



356
357
358
359
360
361
362
363
364
365
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 356

def list_shipment_content_update_previews(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil,
  rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/contentUpdatePreviews"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListShipmentContentUpdatePreviewsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_shipment_items(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides a paginated list of item packages in a shipment.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • page_size (Integer) (defaults to: 10)

    The number of items to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



494
495
496
497
498
499
500
501
502
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 494

def list_shipment_items(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/items"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListShipmentItemsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_shipment_pallets(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides a paginated list of pallet packages in a shipment. A palletized shipment will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.

The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • page_size (Integer) (defaults to: 10)

    The number of pallets to return in the response matching the given query.

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



529
530
531
532
533
534
535
536
537
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 529

def list_shipment_pallets(inbound_plan_id, shipment_id, page_size: 10, pagination_token: nil, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/pallets"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
  }.compact
  parser = -> { ListShipmentPalletsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#list_transportation_options(inbound_plan_id, page_size: 10, pagination_token: nil, placement_option_id: nil, shipment_id: nil, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Retrieves all transportation options for a shipment. Transportation options must first be generated by the generateTransportationOptions operation before becoming available.

query. The value of this token is fetched from the pagination returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result. placementOptionId or shipmentId must be specified. shipmentId must be specified.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • page_size (Integer) (defaults to: 10)

    The number of transportation options to return in the response matching the given

  • pagination_token (String) (defaults to: nil)

    A token to fetch a certain page when there are multiple pages worth of results.

  • placement_option_id (String) (defaults to: nil)

    The placement option to get transportation options for. Either

  • shipment_id (String) (defaults to: nil)

    The shipment to get transportation options for. Either placementOptionId or

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



657
658
659
660
661
662
663
664
665
666
667
668
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 657

def list_transportation_options(inbound_plan_id, page_size: 10, pagination_token: nil, placement_option_id: nil,
  shipment_id: nil, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/transportationOptions"
  params = {
    "pageSize" => page_size,
    "paginationToken" => pagination_token,
    "placementOptionId" => placement_option_id,
    "shipmentId" => shipment_id,
  }.compact
  parser = -> { ListTransportationOptionsResponse }
  meter(rate_limit).get(path, params:, parser:)
end

#schedule_self_ship_appointment(inbound_plan_id, shipment_id, slot_id, body, rate_limit: nil) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Confirms or reschedules a self-ship appointment slot against a shipment. Only available in the following marketplaces: MX, BR, EG, SA, AE, IN.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • slot_id (String)

    An identifier to a self-ship appointment slot.

  • body (Hash)

    The body of the request to scheduleSelfShipAppointment.

  • rate_limit (Float) (defaults to: nil)

    Requests per second

Returns:



604
605
606
607
608
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 604

def schedule_self_ship_appointment(inbound_plan_id, shipment_id, slot_id, body, rate_limit: nil)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/selfShipAppointmentSlots/#{percent_encode(slot_id)}/schedule"
  parser = -> { ScheduleSelfShipAppointmentResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#set_packing_information(inbound_plan_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate the box level information required for planning and transportation estimates.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • body (Hash)

    The body of the request to setPackingInformation.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



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

def set_packing_information(inbound_plan_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/packingInformation"
  parser = -> { SetPackingInformationResponse }
  meter(rate_limit).post(path, body:, parser:)
end

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

Note:

This operation can make a static sandbox call.

Set the preparation details for a list of MSKUs in a specified marketplace.

Parameters:

  • body (Hash)

    The body of the request to setPrepDetails.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



793
794
795
796
797
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 793

def set_prep_details(body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/items/prepDetails"
  parser = -> { SetPrepDetailsResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#update_inbound_plan_name(inbound_plan_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Updates the name of an existing inbound plan.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • body (Hash)

    The body of the request to updateInboundPlanName.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



127
128
129
130
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 127

def update_inbound_plan_name(inbound_plan_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/name"
  meter(rate_limit).put(path, body:)
end

#update_item_compliance_details(marketplace_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Update compliance details for a list of MSKUs. The details provided here are only used for the India (IN - A21TJRUUN4KGV) marketplace compliance validation.

IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).

Parameters:

  • marketplace_id (String)

    The Marketplace ID. For a list of possible values, refer to [Marketplace

  • body (Hash)

    The body of the request to updateItemComplianceDetails.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



736
737
738
739
740
741
742
743
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 736

def update_item_compliance_details(marketplace_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/items/compliance"
  params = {
    "marketplaceId" => marketplace_id,
  }.compact
  parser = -> { UpdateItemComplianceDetailsResponse }
  meter(rate_limit).put(path, body:, params:, parser:)
end

#update_shipment_name(inbound_plan_id, shipment_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Updates the name of an existing shipment.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • body (Hash)

    The body of the request to updateShipmentName.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



512
513
514
515
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 512

def update_shipment_name(inbound_plan_id, shipment_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/name"
  meter(rate_limit).put(path, body:)
end

#update_shipment_source_address(inbound_plan_id, shipment_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Updates the source address of an existing shipment. The shipment source address can only be updated prior to the confirmation of the shipment carriers. As a result of the updated source address, existing transportation options will be invalidated and will need to be regenerated to capture the potential difference in transportation options and quotes due to the new source address.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • body (Hash)

    The body of the request to updateShipmentSourceAddress.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



621
622
623
624
625
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 621

def update_shipment_source_address(inbound_plan_id, shipment_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/sourceAddress"
  parser = -> { UpdateShipmentSourceAddressResponse }
  meter(rate_limit).put(path, body:, parser:)
end

#update_shipment_tracking_details(inbound_plan_id, shipment_id, body, rate_limit: 2.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Updates a shipment's tracking details.

Parameters:

  • inbound_plan_id (String)

    Identifier of an inbound plan.

  • shipment_id (String)

    Identifier of a shipment. A shipment contains the boxes and units being inbounded.

  • body (Hash)

    The body of the request to updateShipmentTrackingDetails.

  • rate_limit (Float) (defaults to: 2.0)

    Requests per second

Returns:



635
636
637
638
639
# File 'lib/peddler/apis/fulfillment_inbound_2024_03_20.rb', line 635

def update_shipment_tracking_details(inbound_plan_id, shipment_id, body, rate_limit: 2.0)
  path = "/inbound/fba/2024-03-20/inboundPlans/#{percent_encode(inbound_plan_id)}/shipments/#{percent_encode(shipment_id)}/trackingDetails"
  parser = -> { UpdateShipmentTrackingDetailsResponse }
  meter(rate_limit).put(path, body:, parser:)
end