Module: Peddler::Types::VendorDirectFulfillmentShippingV1

Defined in:
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/item.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/error.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/weight.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/address.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/container.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/dimensions.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/label_data.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/pagination.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/packed_item.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/packing_slip.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/item_quantity.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/shipping_label.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/customer_invoice.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/shipment_details.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/packing_slip_list.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/shipping_label_list.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/party_identification.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/customer_invoice_list.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/shipment_confirmation.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/status_update_details.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/transaction_reference.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/shipment_status_update.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/shipping_label_request.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/tax_registration_details.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/get_packing_slip_response.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/get_shipping_label_response.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/get_customer_invoice_response.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/get_customer_invoices_response.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/get_packing_slip_list_response.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/submit_shipping_labels_request.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/submit_shipping_labels_response.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/get_shipping_label_list_response.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/submit_shipment_confirmations_request.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/submit_shipment_confirmations_response.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/submit_shipment_status_updates_request.rb,
lib/peddler/types/vendor_direct_fulfillment_shipping_v1/submit_shipment_status_updates_response.rb

Constant Summary collapse

Item =

Details of the item being shipped.

Structure.new do
  # @return [Integer] Item Sequence Number for the item. This must be the same value as sent in order for a given
  # item.
  attribute(:item_sequence_number, Integer, from: "itemSequenceNumber")

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

  # @return [String] The vendor selected product identification of the item. Should be the same as was sent in the
  # purchase order, like SKU Number.
  attribute(:vendor_product_identifier, String, from: "vendorProductIdentifier")

  # @return [ItemQuantity] Total item quantity shipped 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 digit country code in ISO 3166-1 alpha-2 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
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.
  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
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 Base64encoded 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] A generated string used to pass information to your next request. If NextToken is returned,
  # pass the value of NextToken to the next request. If NextToken is not returned, there are no more order items
  # to return.
  attribute(:next_token, String, from: "nextToken")
end
PackedItem =

Represents an item that has been packed into a container for shipping.

Structure.new do
  # @return [Integer] Item Sequence Number for the item. This must be the same value as sent in the order for a
  # given item.
  attribute(:item_sequence_number, Integer, from: "itemSequenceNumber")

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

  # @return [String] The vendor selected product identification of the item. Should be the same as was sent in the
  # Purchase Order, like SKU Number.
  attribute(:vendor_product_identifier, String, from: "vendorProductIdentifier")

  # @return [ItemQuantity] Total item quantity packed in the container.
  attribute(:packed_quantity, ItemQuantity, from: "packedQuantity")
end
PackingSlip =

Packing slip information.

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

  # @return [String] A Base64encoded 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
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 Base64encoded customer invoice.
  attribute(:content, String)
end
ShipmentDetails =

Details about a shipment.

Structure.new do
  # @return [String] This field indicates the date of the departure of the shipment from vendor's location.
  # Vendors are requested to send ASNs within 30 minutes of departure from their warehouse/distribution center or
  # at least 6 hours prior to the appointment time at the Amazon destination warehouse, whichever is sooner.
  # Shipped date mentioned in the Shipment Confirmation should not be in the future.
  attribute(:shipped_date, String, from: "shippedDate")

  # @return [String] Indicate 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] Date on which the shipment is expected to reach the buyer's warehouse. It needs to be an
  # estimate based on the average transit time between the ship-from location and the destination. The exact
  # appointment time will be provided by buyer and is potentially not known when creating the shipment
  # confirmation.
  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
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 =

Name, address and tax details of a party.

Structure.new do
  # @return [String] Assigned Identification for the party.
  attribute(:party_id, String, from: "partyId")

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

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

Represents a list of customer invoices, potentially paginated.

Structure.new do
  # @return [Pagination]
  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] This is required to be provided for every package and should match with 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. This field is expected to be in
  # 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 [Hash] Details for the scheduled delivery timeline for a shipment, including the estimated delivery
  # date and time, as well as the start and end times of the appointment window for delivery.
  attribute(:shipment_schedule, Hash, 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] Purchase order number of the order for which to create a shipping label.
  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 [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
GetPackingSlipResponse =

Response payload with packing slip.

Structure.new do
  # @return [PackingSlip]
  attribute(:payload, PackingSlip)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end
GetShippingLabelResponse =

The response schema for the getShippingLabel operation.

Structure.new do
  # @return [ShippingLabel] The payload for the getShippingLabel operation.
  attribute(:payload, ShippingLabel)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end
GetCustomerInvoiceResponse =

The response schema for the getCustomerInvoice operation.

Structure.new do
  # @return [CustomerInvoice] The payload for the getCustomerInvoice operation.
  attribute(:payload, CustomerInvoice)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end
GetCustomerInvoicesResponse =

The response schema for the getCustomerInvoices operation.

Structure.new do
  # @return [CustomerInvoiceList] List of customer invoices.
  attribute(:payload, CustomerInvoiceList)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end
GetPackingSlipListResponse =

Response payload with the list of Packing Slips.

Structure.new do
  # @return [PackingSlipList]
  attribute(:payload, PackingSlipList)

  # @return [Array<Error>]
  attribute(:errors, [Error])
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
SubmitShippingLabelsResponse =

The response schema for the submitShippingLabelRequest operation.

Structure.new do
  # @return [TransactionReference] The response payload for the submitShippingLabelRequest operation.
  attribute(:payload, TransactionReference)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end
GetShippingLabelListResponse =

The response schema for the getShippingLabels operation.

Structure.new do
  # @return [ShippingLabelList] List of ship labels.
  attribute(:payload, ShippingLabelList)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end
SubmitShipmentConfirmationsRequest =

The request schema for the submitShipmentConfirmations operation.

Structure.new do
  # @return [Array<ShipmentConfirmation>] Array of ShipmentConfirmation objects, each representing confirmation
  # details for a specific shipment.
  attribute(:shipment_confirmations, [ShipmentConfirmation], from: "shipmentConfirmations")
end
SubmitShipmentConfirmationsResponse =

The response schema for the submitShipmentConfirmations operation.

Structure.new do
  # @return [TransactionReference] The response payload for the submitShipmentConfirmations operation.
  attribute(:payload, TransactionReference)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end
SubmitShipmentStatusUpdatesRequest =

Represents the request payload for submitting updates to the status of shipments, containing an array of one or more ShipmentStatusUpdate objects.

Structure.new do
  # @return [Array<ShipmentStatusUpdate>] Contains a list of one or more ShipmentStatusUpdate objects, each
  # representing an update to the status of a specific shipment.
  attribute(:shipment_status_updates, [ShipmentStatusUpdate], from: "shipmentStatusUpdates")
end
SubmitShipmentStatusUpdatesResponse =

The response schema for the submitShipmentStatusUpdates operation.

Structure.new do
  # @return [TransactionReference] The response payload for the submitShipmentStatusUpdates operation.
  attribute(:payload, TransactionReference)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end