Class: Peddler::APIs::VendorDirectFulfillmentShippingV1

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

Overview

Selling Partner API for Direct Fulfillment Shipping

The Selling Partner API for Direct Fulfillment Shipping provides programmatic access to a direct fulfillment vendor's shipping data.

Defined Under Namespace

Classes: ErrorList

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 [ItemQuantity] Total item quantity shipped in this shipment.
  attribute(:shipped_quantity, ItemQuantity, from: "shippedQuantity")

  # @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")
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 digit country code in ISO 3166-1 alpha-2 format.
  attribute(:country_code, String, from: "countryCode")

  # @return [String] The name of the person, business or institution at 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
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.
  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
LabelData =

Details of the shipment label.

Structure.new do
  # @return [String] This field will contain the Base64encoded 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] 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 [ItemQuantity] Total item quantity packed in the container.
  attribute(:packed_quantity, ItemQuantity, from: "packedQuantity")

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

Packing slip information.

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

  # @return [String] Purchase order number of the shipment that corresponds to the packing slip.
  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
CustomerInvoice =

Represents a customer invoice associated with a purchase order.

Structure.new do
  # @return [String] The Base64encoded 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] Indicate the shipment status.
  attribute(:shipment_status, String, from: "shipmentStatus")

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

  # @return [Time] 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, 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
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 [Array<CustomerInvoice>] Represents a customer invoice within the CustomerInvoiceList.
  attribute?(:customer_invoices, [CustomerInvoice], from: "customerInvoices")

  # @return [Pagination]
  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. 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, Time, from: "statusDateTime")

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

  # @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 [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 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
GetPackingSlipResponse =

Response payload with packing slip.

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

  # @return [PackingSlip]
  attribute?(:payload, PackingSlip)
end
GetShippingLabelResponse =

The response schema for the getShippingLabel operation.

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

  # @return [ShippingLabel] The payload for the getShippingLabel operation.
  attribute?(:payload, ShippingLabel)
end
GetCustomerInvoiceResponse =

The response schema for the getCustomerInvoice operation.

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

  # @return [CustomerInvoice] The payload for the getCustomerInvoice operation.
  attribute?(:payload, CustomerInvoice)
end
GetCustomerInvoicesResponse =

The response schema for the getCustomerInvoices operation.

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

  # @return [CustomerInvoiceList] List of customer invoices.
  attribute?(:payload, CustomerInvoiceList)
end
GetPackingSlipListResponse =

Response payload with the list of Packing Slips.

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

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

  # @return [TransactionReference] The response payload for the submitShippingLabelRequest operation.
  attribute?(:payload, TransactionReference)
end
GetShippingLabelListResponse =

The response schema for the getShippingLabels operation.

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

  # @return [ShippingLabelList] List of ship labels.
  attribute?(:payload, ShippingLabelList)
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 [Array<Error>]
  attribute?(:errors, [Error])

  # @return [TransactionReference] The response payload for the submitShipmentConfirmations operation.
  attribute?(:payload, TransactionReference)
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 [Array<Error>]
  attribute?(:errors, [Error])

  # @return [TransactionReference] The response payload for the submitShipmentStatusUpdates operation.
  attribute?(:payload, TransactionReference)
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

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

Note:

This operation can make a static 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:



135
136
137
138
139
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb', line 135

def get_customer_invoice(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/customerInvoices/#{percent_encode(purchase_order_number)}"
  parser = -> { GetCustomerInvoiceResponse }
  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 static 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. Must be in ISO-8601 date/time format. result. Must be 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:



114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb', line 114

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/v1/customerInvoices"
  params = {
    "shipFromPartyId" => ship_from_party_id,
    "limit" => limit,
    "createdAfter" => created_after,
    "createdBefore" => created_before,
    "sortOrder" => sort_order,
    "nextToken" => next_token,
  }.compact
  parser = -> { GetCustomerInvoicesResponse }
  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 static sandbox call.

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

Parameters:

  • purchase_order_number (String)

    The purchaseOrderNumber for the packing slip you want.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



178
179
180
181
182
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb', line 178

def get_packing_slip(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/packingSlips/#{percent_encode(purchase_order_number)}"
  parser = -> { GetPackingSlipResponse }
  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 static 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.

will contain orders for all warehouses. the result. Must be in ISO-8601 date/time format. the result. Must be 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 limit to the number of records returned

  • created_after (String)

    Packing slips that became 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")

    Sort ASC or DESC by packing slip creation date.

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



157
158
159
160
161
162
163
164
165
166
167
168
169
170
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb', line 157

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/v1/packingSlips"
  params = {
    "shipFromPartyId" => ship_from_party_id,
    "limit" => limit,
    "createdAfter" => created_after,
    "createdBefore" => created_before,
    "sortOrder" => sort_order,
    "nextToken" => next_token,
  }.compact
  parser = -> { GetPackingSlipListResponse }
  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 static sandbox call.

Returns a shipping label for the purchaseOrderNumber that you specify.

It should be the same purchaseOrderNumber as 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:



65
66
67
68
69
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb', line 65

def get_shipping_label(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/shippingLabels/#{percent_encode(purchase_order_number)}"
  parser = -> { GetShippingLabelResponse }
  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 static sandbox call.

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

will contain orders for all warehouses. the result. Must be in ISO-8601 date/time format. in the result. Must be 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 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")

    Sort ASC or DESC by order creation date.

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



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

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/v1/shippingLabels"
  params = {
    "shipFromPartyId" => ship_from_party_id,
    "limit" => limit,
    "createdAfter" => created_after,
    "createdBefore" => created_before,
    "sortOrder" => sort_order,
    "nextToken" => next_token,
  }.compact
  parser = -> { GetShippingLabelListResponse }
  meter(rate_limit).get(path, params:, parser:)
end

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

Note:

This operation can make a static 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:



77
78
79
80
81
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb', line 77

def submit_shipment_confirmations(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/shipmentConfirmations"
  parser = -> { SubmitShipmentConfirmationsResponse }
  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 static sandbox call.

This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit 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:



91
92
93
94
95
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb', line 91

def submit_shipment_status_updates(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/shipmentStatusUpdates"
  parser = -> { SubmitShipmentStatusUpdatesResponse }
  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 static sandbox call.

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

Parameters:

  • body (Hash)

    Request body containing one or more shipping labels data.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:



52
53
54
55
56
# File 'lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb', line 52

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