Class: Peddler::APIs::VendorDirectFulfillmentShipping20211228

Inherits:
Peddler::API
  • Object
show all
Defined in:
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/item.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/error.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/weight.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/address.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/package.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/packages.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/container.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/dimensions.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/error_list.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/label_data.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/pagination.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/packed_item.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/packing_slip.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/item_quantity.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/shipping_label.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/container_label.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/customer_invoice.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/shipment_details.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/packing_slip_list.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/shipment_schedule.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/shipping_label_list.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/party_identification.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/customer_invoice_list.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/shipment_confirmation.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/status_update_details.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/transaction_reference.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/shipment_status_update.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/shipping_label_request.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/tax_registration_details.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/create_container_label_request.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/create_shipping_labels_request.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/submit_shipping_labels_request.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/create_container_label_response.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/submit_shipment_confirmations_request.rb,
lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28/submit_shipment_status_updates_request.rb

Overview

Selling Partner API for Direct Fulfillment Shipping

Use the Selling Partner API for Direct Fulfillment Shipping to access a direct fulfillment vendor's shipping data.

Defined Under Namespace

Classes: Packages

Constant Summary collapse

Item =

Details of the item being shipped.

Structure.new do
  # @return [Integer] The sequence number of the item. The number must be the same as the order number of the
  # item.
  attribute(:item_sequence_number, Integer, from: "itemSequenceNumber")

  # @return [ItemQuantity] The total quantity of items that are in this shipment.
  attribute(:shipped_quantity, ItemQuantity, from: "shippedQuantity")

  # @return [String] The buyer's Amazon Standard Identification Number (ASIN) of an item. Either
  # `buyerProductIdentifier` or `vendorProductIdentifier` is required.
  attribute?(:buyer_product_identifier, String, from: "buyerProductIdentifier")

  # @return [String] An item's product identifier, which the vendor selects. This identifier should be the same as
  # the identifier, such as a SKU, in the purchase order.
  attribute?(:vendor_product_identifier, String, from: "vendorProductIdentifier")
end
Error =

Error response returned when the request is unsuccessful.

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

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

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

The weight.

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

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

Address of the party.

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

  # @return [String] The two-letter country code in [ISO 3166-1 alpha-2](https://www.iban.com/country-codes)
  # format.
  attribute(:country_code, String, from: "countryCode")

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

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

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

  # @return [String] The city where the person, business or institution is located.
  attribute?(:city, String)

  # @return [String] The county where person, business or institution is located.
  attribute?(:county, String)

  # @return [String] The district where person, business or institution is located.
  attribute?(:district, String)

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

  # @return [String] The postal code of that address. It contains a series of letters or digits or both, sometimes
  # including spaces or punctuation.
  attribute?(:postal_code, String, from: "postalCode")

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

The package that is associated with the container.

Structure.new do
  # @return [String] The tracking number on the label of shipment package, that you can fetch from the
  # `shippingLabels` response. You can also scan the bar code on the shipping label to get the tracking number.
  attribute(:package_tracking_number, String, from: "packageTrackingNumber")
end
Container =

A container used for shipping and packing items.

Structure.new do
  # @return [String] The container identifier.
  attribute(:container_identifier, String, from: "containerIdentifier")

  # @return [String] The type of container.
  attribute(:container_type, String, from: "containerType")

  # @return [Array<PackedItem>] A list of packed items.
  attribute(:packed_items, [PackedItem], from: "packedItems")

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

  # @return [String] Carrier required for EU VOC vendors only.
  attribute?(:carrier, String)

  # @return [Integer] An integer that must be submitted for multi-box shipments only, where one item may come in
  # separate packages.
  attribute?(:container_sequence_number, Integer, from: "containerSequenceNumber")

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

  # @return [String] The date of the manifest.
  attribute?(:manifest_date, String, from: "manifestDate")

  # @return [String] The manifest identifier.
  attribute?(:manifest_id, String, from: "manifestId")

  # @return [String] SCAC code required for NA VOC vendors only.
  attribute?(:scac_code, String, from: "scacCode")

  # @return [String] The shipment method. This property is required when calling the `submitShipmentConfirmations`
  # operation, and optional otherwise.
  attribute?(:ship_method, String, from: "shipMethod")

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

Physical dimensional measurements of a container.

Structure.new do
  # @return [String] The height of the container.
  attribute(:height, String)

  # @return [String] The length of the container.
  attribute(:length, String)

  # @return [String] The unit of measure for dimensions.
  attribute(:unit_of_measure, String, from: "unitOfMeasure")

  # @return [String] The width of the container.
  attribute(:width, String)
end
ErrorList =

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

Structure.new do
  # @return [Array<Error>] An array of Error objects representing individual errors encountered during the
  # request.
  attribute(:errors, [Error])
end
LabelData =

Details of the shipment label.

Structure.new do
  # @return [String] This field will contain the Base64 string of the shipment label content.
  attribute(:content, String)

  # @return [String] Identifier for the package. The first package will be 001, the second 002, and so on. This
  # number is used as a reference to refer to this package from the pallet level.
  attribute?(:package_identifier, String, from: "packageIdentifier")

  # @return [String] Ship method to be used for shipping the order. Amazon defines Ship Method Codes indicating
  # shipping carrier and shipment service level. Ship Method Codes are case and format sensitive. The same ship
  # method code should returned on the shipment confirmation. Note that the Ship Method Codes are vendor specific
  # and will be provided to each vendor during the implementation.
  attribute?(:ship_method, String, from: "shipMethod")

  # @return [String] Shipping method name for internal reference.
  attribute?(:ship_method_name, String, from: "shipMethodName")

  # @return [String] Package tracking identifier from the shipping carrier.
  attribute?(:tracking_number, String, from: "trackingNumber")
end
Pagination =

The pagination elements required to retrieve the remaining data.

Structure.new do
  # @return [String] Pagination occurs when a request produces a response that exceeds the `pageSize`. This means
  # that the response is divided into individual pages. To retrieve the next page or the previous page, you must
  # pass the `nextToken` value or the `previousToken` value as the `pageToken` parameter in the next request.
  # There is no `nextToken` in the pagination object on the last page.
  attribute?(:next_token, String, from: "nextToken")
end
PackedItem =

An item that has been packed into a container for shipping.

Structure.new do
  # @return [Integer] The sequence number of the item. The number must be the same as the order number of the
  # item.
  attribute(:item_sequence_number, Integer, from: "itemSequenceNumber")

  # @return [ItemQuantity] The total quantity of items that are packed in the shipment.
  attribute(:packed_quantity, ItemQuantity, from: "packedQuantity")

  # @return [String] The buyer's Amazon Standard Identification Number (ASIN) of an item. Either
  # `buyerProductIdentifier` or `vendorProductIdentifier` is required.
  attribute?(:buyer_product_identifier, String, from: "buyerProductIdentifier")

  # @return [Integer] The piece number of the item in this container. This is required when the item is split
  # across different containers.
  attribute?(:piece_number, Integer, from: "pieceNumber")

  # @return [String] An item's product identifier, which the vendor selects. This identifier should be the same as
  # the identifier, such as a SKU, in the purchase order.
  attribute?(:vendor_product_identifier, String, from: "vendorProductIdentifier")
end
PackingSlip =

Packing slip information.

Structure.new do
  # @return [String] A Base64 string of the packing slip PDF.
  attribute(:content, String)

  # @return [String] Purchase order number of the shipment that the packing slip is for.
  attribute(:purchase_order_number, String, from: "purchaseOrderNumber")

  # @return [String] The format of the file such as PDF, JPEG etc.
  attribute?(:content_type, String, from: "contentType")
end
ItemQuantity =

Details of item quantity.

Structure.new do
  # @return [Integer] Quantity of units shipped for a specific item at a shipment level. If the item is present
  # only in certain packages or pallets within the shipment, please provide this at the appropriate package or
  # pallet level.
  attribute(:amount, Integer)

  # @return [String] Unit of measure for the shipped quantity.
  attribute(:unit_of_measure, String, from: "unitOfMeasure")
end
ShippingLabel =

Shipping label information for an order, including the purchase order number, selling party, ship from party, label format, and package details.

Structure.new do
  # @return [Array<LabelData>] Provides the details of the packages in this shipment.
  attribute(:label_data, [LabelData], from: "labelData")

  # @return [String] Format of the label.
  attribute(:label_format, String, from: "labelFormat")

  # @return [String] This field will contain the Purchase Order Number for this order.
  attribute(:purchase_order_number, String, from: "purchaseOrderNumber")

  # @return [PartyIdentification] ID of the selling party or vendor.
  attribute(:selling_party, PartyIdentification, from: "sellingParty")

  # @return [PartyIdentification] Warehouse code of vendor.
  attribute(:ship_from_party, PartyIdentification, from: "shipFromParty")
end
ContainerLabel =

The details of the container label.

Structure.new do
  # @return [String] The container label content encoded into a Base64 string.
  attribute(:content, String)

  # @return [String] The format of the container label.
  attribute(:format, String)

  # @return [String] The container (pallet) tracking identifier from the shipping carrier.
  attribute?(:container_tracking_number, String, from: "containerTrackingNumber")
end
CustomerInvoice =

Represents a customer invoice associated with a purchase order.

Structure.new do
  # @return [String] The Base64 customer invoice.
  attribute(:content, String)

  # @return [String] The purchase order number for this order.
  attribute(:purchase_order_number, String, from: "purchaseOrderNumber")
end
ShipmentDetails =

Details about a shipment.

Structure.new do
  # @return [String] The shipment status.
  attribute(:shipment_status, String, from: "shipmentStatus")

  # @return [Time] The date of the shipment's departure from vendor's location. Vendors send ASNs within 30
  # minutes of departure from their warehouse/distribution center or six hours prior to the appointment time at
  # the Amazon destination warehouse. The shipped date mentioned in the shipment confirmation cannot be in the
  # future.
  attribute(:shipped_date, Time, from: "shippedDate")

  # @return [Time] The date on which the shipment is expected to reach the buyer's warehouse. The date is
  # estimated based on the average transit time between the ship-from location and the destination. Usually, the
  # exact appointment time is unknown when creating the shipment confirmation and is later provided by the buyer.
  attribute?(:estimated_delivery_date, Time, from: "estimatedDeliveryDate")

  # @return [:boolean] Provide the priority of the shipment.
  attribute?(:priority_shipment, :boolean, from: "isPriorityShipment")

  # @return [String] The vendor order number is a unique identifier generated by a vendor for their reference.
  attribute?(:vendor_order_number, String, from: "vendorOrderNumber")
end
PackingSlipList =

A list of packing slips.

Structure.new do
  # @return [Array<PackingSlip>] An array of packing slip objects.
  attribute?(:packing_slips, [PackingSlip], from: "packingSlips")

  # @return [Pagination] The pagination elements required to retrieve the remaining data.
  attribute?(:pagination, Pagination)
end
ShipmentSchedule =

Details about the estimated delivery window.

Structure.new do
  # @return [Time] The date and time at the end of the appointment window when the shipment is expected to be
  # delivered. Values are in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date-time format,
  # with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00.
  attribute?(:appt_window_end_date_time, Time, from: "apptWindowEndDateTime")

  # @return [Time] The date and time at the start of the appointment window when the shipment is expected to be
  # delivered. Values are in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date-time format,
  # with UTC time zone or UTC offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00.
  attribute?(:appt_window_start_date_time, Time, from: "apptWindowStartDateTime")

  # @return [Time] Date on which the shipment is expected to reach the customer delivery location. Values are in
  # [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date-time format, with UTC time zone or UTC
  # offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00.
  attribute?(:estimated_delivery_date_time, Time, from: "estimatedDeliveryDateTime")
end
ShippingLabelList =

Response payload with the list of shipping labels.

Structure.new do
  # @return [Pagination]
  attribute?(:pagination, Pagination)

  # @return [Array<ShippingLabel>] An array containing the details of the generated shipping labels.
  attribute?(:shipping_labels, [ShippingLabel], from: "shippingLabels")
end
PartyIdentification =

The name, address, and tax details of a party.

Structure.new do
  # @return [String] The identifier of the party.
  attribute(:party_id, String, from: "partyId")

  # @return [Address] The address of the party.
  attribute?(:address, Address)

  # @return [Array<TaxRegistrationDetails>] The tax registration details of the party.
  attribute?(:tax_registration_details, [TaxRegistrationDetails], from: "taxRegistrationDetails")
end
CustomerInvoiceList =

Represents a list of customer invoices, potentially paginated.

Structure.new do
  # @return [Array<CustomerInvoice>] Represents a customer invoice within the `CustomerInvoiceList`.
  attribute?(:customer_invoices, [CustomerInvoice], from: "customerInvoices")

  # @return [Pagination] The pagination elements required to retrieve the remaining data.
  attribute?(:pagination, Pagination)
end
ShipmentConfirmation =

Represents the confirmation details of a shipment, including the purchase order number and other shipment details.

Structure.new do
  # @return [Array<Item>] Provide the details of the items in this shipment. If any of the item details field is
  # common at a package or a pallet level, then provide them at the corresponding package.
  attribute(:items, [Item])

  # @return [String] Purchase order number corresponding to the shipment.
  attribute(:purchase_order_number, String, from: "purchaseOrderNumber")

  # @return [PartyIdentification] ID of the selling party or vendor.
  attribute(:selling_party, PartyIdentification, from: "sellingParty")

  # @return [PartyIdentification] Warehouse code of vendor.
  attribute(:ship_from_party, PartyIdentification, from: "shipFromParty")

  # @return [ShipmentDetails] Shipment information.
  attribute(:shipment_details, ShipmentDetails, from: "shipmentDetails")

  # @return [Array<Container>] Provide the details of the items in this shipment. If any of the item details field
  # is common at a package or a pallet level, then provide them at the corresponding package.
  attribute?(:containers, [Container])
end
StatusUpdateDetails =

Details for the shipment status update given by the vendor for the specific package.

Structure.new do
  # @return [String] Provides a reason code for the status of the package that will provide additional information
  # about the transportation status. For more information, refer to the [Additional Fields
  # Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation).
  attribute(:reason_code, String, from: "reasonCode")

  # @return [String] Indicates the shipment status code of the package that provides transportation information
  # for Amazon tracking systems and ultimately for the final customer. For more information, refer to the
  # [Additional Fields
  # Explanation](https://developer-docs.amazon.com/sp-api/docs/vendor-direct-fulfillment-shipping-api-use-case-guide#additional-fields-explanation).
  attribute(:status_code, String, from: "statusCode")

  # @return [Time] The date and time when the shipment status was updated. Values are in [ISO
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date-time format, with UTC time zone or UTC
  # offset. For example, 2020-07-16T23:00:00Z or 2020-07-16T23:00:00+01:00.
  attribute(:status_date_time, Time, from: "statusDateTime")

  # @return [Address]
  attribute(:status_location_address, Address, from: "statusLocationAddress")

  # @return [String] The shipment tracking number is required for every package and should match the
  # `trackingNumber` sent for the shipment confirmation.
  attribute(:tracking_number, String, from: "trackingNumber")

  # @return [ShipmentSchedule]
  attribute?(:shipment_schedule, ShipmentSchedule, from: "shipmentSchedule")
end
TransactionReference =

Response containing the transaction ID.

Structure.new do
  # @return [String] GUID to identify this transaction. This value can be used with the Transaction Status API to
  # return the status of this transaction.
  attribute?(:transaction_id, String, from: "transactionId")
end
ShipmentStatusUpdate =

Represents an update to the status of a shipment.

Structure.new do
  # @return [String] Purchase order number of the shipment for which to update the shipment status.
  attribute(:purchase_order_number, String, from: "purchaseOrderNumber")

  # @return [PartyIdentification] ID of the selling party or vendor.
  attribute(:selling_party, PartyIdentification, from: "sellingParty")

  # @return [PartyIdentification] Warehouse code of vendor.
  attribute(:ship_from_party, PartyIdentification, from: "shipFromParty")

  # @return [StatusUpdateDetails] Provide the details about the status of the shipment at that particular point of
  # time.
  attribute(:status_update_details, StatusUpdateDetails, from: "statusUpdateDetails")
end
ShippingLabelRequest =

Represents the request payload for creating a shipping label, containing the purchase order number, selling party, ship from party, and a list of containers or packages in the shipment.

Structure.new do
  # @return [String] The purchase order number of the order for which to create a shipping label.
  attribute(:purchase_order_number, String, from: "purchaseOrderNumber")

  # @return [PartyIdentification] The ID of the selling party or vendor.
  attribute(:selling_party, PartyIdentification, from: "sellingParty")

  # @return [PartyIdentification] The warehouse code of the vendor.
  attribute(:ship_from_party, PartyIdentification, from: "shipFromParty")

  # @return [Array<Container>] A list of the packages in this shipment.
  attribute?(:containers, [Container])
end
TaxRegistrationDetails =

Tax registration details of the entity.

Structure.new do
  # @return [String] Tax registration number for the party. For example, VAT ID.
  attribute(:tax_registration_number, String, from: "taxRegistrationNumber")

  # @return [Address] Address associated with the tax registration number.
  attribute?(:tax_registration_address, Address, from: "taxRegistrationAddress")

  # @return [String] Tax registration message that can be used for additional tax related details.
  attribute?(:tax_registration_messages, String, from: "taxRegistrationMessages")

  # @return [String] Tax registration type for the entity.
  attribute?(:tax_registration_type, String, from: "taxRegistrationType")
end
CreateContainerLabelRequest =

The request body schema for the createContainerLabel operation.

Structure.new do
  # @return [String] The container (pallet) label's carrier.
  attribute(:carrier_id, String, from: "carrierId")

  # @return [Array<Package>] An array of package objects that associate shipment packages with a container.
  attribute(:packages, [Package])

  # @return [PartyIdentification] The ID of the selling party or vendor.
  attribute(:selling_party, PartyIdentification, from: "sellingParty")

  # @return [PartyIdentification] The warehouse code of the vendor.
  attribute(:ship_from_party, PartyIdentification, from: "shipFromParty")

  # @return [String] The vendor's unique identifier for the container.
  attribute(:vendor_container_id, String, from: "vendorContainerId")
end
CreateShippingLabelsRequest =

The request body for the createShippingLabels operation.

Structure.new do
  # @return [PartyIdentification] ID of the selling party or vendor.
  attribute(:selling_party, PartyIdentification, from: "sellingParty")

  # @return [PartyIdentification] Warehouse code of vendor.
  attribute(:ship_from_party, PartyIdentification, from: "shipFromParty")

  # @return [Array<Container>] A list of the packages in this shipment.
  attribute?(:containers, [Container])
end
SubmitShippingLabelsRequest =

The request schema for the submitShippingLabelRequest operation.

Structure.new do
  # @return [Array<ShippingLabelRequest>] An array of shipping label requests to be processed.
  attribute?(:shipping_label_requests, [ShippingLabelRequest], from: "shippingLabelRequests")
end
CreateContainerLabelResponse =

The response schema for the createContainerLabel operation.

Structure.new do
  # @return [ContainerLabel] The label data for the container label.
  attribute(:container_label, ContainerLabel, from: "containerLabel")
end
SubmitShipmentConfirmationsRequest =

The request schema for the submitShipmentConfirmations operation.

Structure.new do
  # @return [Array<ShipmentConfirmation>] Array of `ShipmentConfirmation` objects. Each `ShipmentConfirmation`
  # object represents the confirmation details for a specific shipment.
  attribute?(:shipment_confirmations, [ShipmentConfirmation], from: "shipmentConfirmations")
end
SubmitShipmentStatusUpdatesRequest =

The request schema for the submitShipmentStatusUpdates operation.

Structure.new do
  # @return [Array<ShipmentStatusUpdate>] Contains a list of one or more `ShipmentStatusUpdate` objects. Each
  # `ShipmentStatusUpdate` object represents an update to the status of a specific shipment.
  attribute?(:shipment_status_updates, [ShipmentStatusUpdate], from: "shipmentStatusUpdates")
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

#create_container_label(body, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Creates a container (pallet) label for the associated shipment package.

Parameters:

  • body (Hash)

    Request body containing the container label data.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



205
206
207
208
209
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 205

def create_container_label(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/containerLabel"
  parser = -> { CreateContainerLabelResponse }
  meter(rate_limit).post(path, body:, parser:)
end

#create_shipping_labels(purchase_order_number, body, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Creates shipping labels for a purchase order and returns the labels.

labels. It should be the same number as the purchaseOrderNumber in the order.

Parameters:

  • purchase_order_number (String)

    The purchase order number for which you want to return the shipping

  • body (Hash)

    The request payload that contains the parameters for creating shipping labels.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



80
81
82
83
84
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 80

def create_shipping_labels(purchase_order_number, body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/#{percent_encode(purchase_order_number)}"
  parser = -> { ShippingLabel }
  meter(rate_limit).post(path, body:, parser:)
end

#get_customer_invoice(purchase_order_number, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Returns a customer invoice based on the purchaseOrderNumber that you specify.

Parameters:

  • purchase_order_number (String)

    Purchase order number of the shipment for which to return the invoice.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



150
151
152
153
154
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 150

def get_customer_invoice(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/customerInvoices/#{percent_encode(purchase_order_number)}"
  parser = -> { CustomerInvoice }
  meter(rate_limit).get(path, parser:)
end

#get_customer_invoices(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil, next_token: nil, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Returns a list of customer invoices created during a time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to search must be no more than 7 days.

will contain orders for all warehouses. result. Values are in ISO 8601 date-time format. result. Values are in ISO 8601 date-time format. The token value is returned in the previous API call.

Parameters:

  • ship_from_party_id (String) (defaults to: nil)

    The vendor warehouseId for order fulfillment. If not specified, the result

  • limit (Integer) (defaults to: nil)

    The limit to the number of records returned

  • created_after (String)

    Orders that became available after this date and time will be included in the

  • created_before (String)

    Orders that became available before this date and time will be included in the

  • sort_order (String) (defaults to: nil)

    Sort ASC or DESC by order creation date.

  • next_token (String) (defaults to: nil)

    Used for pagination when there are more orders than the specified result size limit.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



129
130
131
132
133
134
135
136
137
138
139
140
141
142
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 129

def get_customer_invoices(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
  next_token: nil, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/customerInvoices"
  params = {
    "shipFromPartyId" => ship_from_party_id,
    "limit" => limit,
    "createdAfter" => created_after,
    "createdBefore" => created_before,
    "sortOrder" => sort_order,
    "nextToken" => next_token,
  }.compact
  parser = -> { CustomerInvoiceList }
  meter(rate_limit).get(path, params:, parser:)
end

#get_packing_slip(purchase_order_number, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Returns a packing slip based on the purchaseOrderNumber that you specify.

Parameters:

  • purchase_order_number (String)

    The purchaseOrderNumber for the packing slip that you want.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



193
194
195
196
197
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 193

def get_packing_slip(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/packingSlips/#{percent_encode(purchase_order_number)}"
  parser = -> { PackingSlip }
  meter(rate_limit).get(path, parser:)
end

#get_packing_slips(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: "ASC", next_token: nil, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search must not be more than 7 days.

contains orders for all warehouses. the result. Values are in ISO 8601 date-time format. the result. Values are in ISO 8601 date-time format. limit. The token value is returned in the previous API call.

Parameters:

  • ship_from_party_id (String) (defaults to: nil)

    The vendor warehouseId for order fulfillment. If not specified, the result

  • limit (Integer) (defaults to: nil)

    The maximum number of records to return.

  • created_after (String)

    Packing slips that become available after this date and time will be included in

  • created_before (String)

    Packing slips that became available before this date and time will be included in

  • sort_order (String) (defaults to: "ASC")

    The packing slip creation dates, which are sorted by ascending or descending order.

  • next_token (String) (defaults to: nil)

    Used for pagination when there are more packing slips than the specified result size

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 172

def get_packing_slips(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: "ASC",
  next_token: nil, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/packingSlips"
  params = {
    "shipFromPartyId" => ship_from_party_id,
    "limit" => limit,
    "createdAfter" => created_after,
    "createdBefore" => created_before,
    "sortOrder" => sort_order,
    "nextToken" => next_token,
  }.compact
  parser = -> { PackingSlipList }
  meter(rate_limit).get(path, params:, parser:)
end

#get_shipping_label(purchase_order_number, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Returns a shipping label for the purchaseOrderNumber that you specify.

It should be the same purchaseOrderNumber that you received in the order.

Parameters:

  • purchase_order_number (String)

    The purchase order number for which you want to return the shipping label.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



66
67
68
69
70
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 66

def get_shipping_label(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/#{percent_encode(purchase_order_number)}"
  parser = -> { ShippingLabel }
  meter(rate_limit).get(path, parser:)
end

#get_shipping_labels(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: "ASC", next_token: nil, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Returns a list of shipping labels created during the time frame that you specify. Use the createdAfter and createdBefore parameters to define the time frame. You must use both of these parameters. The date range to search must not be more than seven days.

contains orders for all warehouses. the result. Values are in ISO 8601 date-time format. in the result. Values are in ISO 8601 date-time format. (DESC) sort order. limit. The token value is returned in the previous API call.

Parameters:

  • ship_from_party_id (String) (defaults to: nil)

    The vendor warehouseId for order fulfillment. If not specified, the result

  • limit (Integer) (defaults to: nil)

    The limit to the number of records returned.

  • created_after (String)

    Shipping labels that became available after this date and time will be included in

  • created_before (String)

    Shipping labels that became available before this date and time will be included

  • sort_order (String) (defaults to: "ASC")

    The sort order creation date. You can choose between ascending (ASC) or descending

  • next_token (String) (defaults to: nil)

    Used for pagination when there are more ship labels than the specified result size

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 32

def get_shipping_labels(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: "ASC",
  next_token: nil, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels"
  params = {
    "shipFromPartyId" => ship_from_party_id,
    "limit" => limit,
    "createdAfter" => created_after,
    "createdBefore" => created_before,
    "sortOrder" => sort_order,
    "nextToken" => next_token,
  }.compact
  parser = -> { ShippingLabelList }
  meter(rate_limit).get(path, params:, parser:)
end

#submit_shipment_confirmations(body, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Submits one or more shipment confirmations for vendor orders.

Parameters:

  • body (Hash)

    Request body containing the shipment confirmations data.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



92
93
94
95
96
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 92

def submit_shipment_confirmations(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shipmentConfirmations"
  parser = -> { TransactionReference }
  meter(rate_limit).post(path, body:, parser:)
end

#submit_shipment_status_updates(body, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

This operation is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API submits a shipment status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their order, when the package is outside of Amazon Network visibility.

Parameters:

  • body (Hash)

    Request body containing the shipment status update data.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



106
107
108
109
110
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 106

def submit_shipment_status_updates(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shipmentStatusUpdates"
  parser = -> { TransactionReference }
  meter(rate_limit).post(path, body:, parser:)
end

#submit_shipping_label_request(body, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a dynamic sandbox call.

Creates a shipping label for a purchase order and returns a transactionId for reference.

Parameters:

  • body (Hash)

    The request body that contains the shipping labels data.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



53
54
55
56
57
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 53

def submit_shipping_label_request(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels"
  parser = -> { TransactionReference }
  meter(rate_limit).post(path, body:, parser:)
end