Module: Peddler::Types::VendorDirectFulfillmentShipping20211228

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

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 [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")

  # @return [ItemQuantity] The total quantity of items that are in this shipment.
  attribute(:shipped_quantity, ItemQuantity, from: "shippedQuantity")
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] The name of the person, business or institution at that address.
  attribute(:name, String)

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

  # @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 state or region where person, business or institution is located.
  attribute(:state_or_region, String, from: "stateOrRegion")

  # @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 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 phone number of the person, business or institution located at that address.
  attribute(:phone, String)
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 type of container.
  attribute(:container_type, String, from: "containerType")

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

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

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

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

  # @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] SCAC code required for NA VOC vendors only.
  attribute(:scac_code, String, from: "scacCode")

  # @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 [Weight]
  attribute(:weight, Weight)

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

Physical dimensional measurements of a container.

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

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

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

  # @return [String] The unit of measure for dimensions.
  attribute(:unit_of_measure, String, from: "unitOfMeasure")
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] 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] Package tracking identifier from the shipping carrier.
  attribute(:tracking_number, String, from: "trackingNumber")

  # @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] This field will contain the Base64 string of the shipment label content.
  attribute(:content, String)
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 [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")

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

Packing slip information.

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

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

  # @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 [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")

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

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

The details of the container label.

Structure.new do
  # @return [String] The container (pallet) tracking identifier from the shipping carrier.
  attribute(:container_tracking_number, String, from: "containerTrackingNumber")

  # @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)
end
CustomerInvoice =

Represents a customer invoice associated with a purchase order.

Structure.new do
  # @return [String] The purchase order number for this order.
  attribute(:purchase_order_number, String, from: "purchaseOrderNumber")

  # @return [String] The Base64 customer invoice.
  attribute(:content, String)
end
ShipmentDetails =

Details about a shipment.

Structure.new do
  # @return [String] 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, String, from: "shippedDate")

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

  # @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")

  # @return [String] 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, String, from: "estimatedDeliveryDate")
end
PackingSlipList =

A list of packing slips.

Structure.new do
  # @return [Pagination] The pagination elements required to retrieve the remaining data.
  attribute(:pagination, Pagination)

  # @return [Array<PackingSlip>] An array of packing slip objects.
  attribute(:packing_slips, [PackingSlip], from: "packingSlips")
end
ShipmentSchedule =

Details about the estimated delivery window.

Structure.new do
  # @return [String] 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, String, from: "estimatedDeliveryDateTime")

  # @return [String] 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, String, from: "apptWindowStartDateTime")

  # @return [String] 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, String, from: "apptWindowEndDateTime")
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 [Pagination] The pagination elements required to retrieve the remaining data.
  attribute(:pagination, Pagination)

  # @return [Array<CustomerInvoice>] Represents a customer invoice within the `CustomerInvoiceList`.
  attribute(:customer_invoices, [CustomerInvoice], from: "customerInvoices")
end
ShipmentConfirmation =

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

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

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

  # @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<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 [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] 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 [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 [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] 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, String, from: "statusDateTime")

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

  # @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 type for the entity.
  attribute(:tax_registration_type, String, from: "taxRegistrationType")

  # @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")
end
CreateContainerLabelRequest =

The request body schema for the createContainerLabel operation.

Structure.new do
  # @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 container (pallet) label's carrier.
  attribute(:carrier_id, String, from: "carrierId")

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

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