class Peddler::API::VendorDirectFulfillmentShippingV1

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.

Public Instance Methods

get_customer_invoice(purchase_order_number, rate_limit: 10.0) click to toggle source

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

@note This operation can make a static sandbox call. @param purchase_order_number [String] Purchase order number of the shipment for which to return the invoice. @param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb, line 139
def get_customer_invoice(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/customerInvoices/#{purchase_order_number}"

  meter(rate_limit).get(path)
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) click to toggle source

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.

@note This operation can make a static sandbox call. @param ship_from_party_id [String] The vendor ‘warehouseId` for order fulfillment. If not specified, the result

will contain orders for all warehouses.

@param limit [Integer] The limit to the number of records returned @param created_after [String] Orders that became available after this date and time will be included in the

result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.

@param created_before [String] Orders that became available before this date and time will be included in the

result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.

@param sort_order [String] Sort ASC or DESC by order creation date. @param next_token [String] Used for pagination when there are more orders than the specified result size limit.

The token value is returned in the previous API call.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb, line 118
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

  meter(rate_limit).get(path, params:)
end
get_packing_slip(purchase_order_number, rate_limit: 10.0) click to toggle source

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

@note This operation can make a static sandbox call. @param purchase_order_number [String] The ‘purchaseOrderNumber` for the packing slip you want. @param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb, line 182
def get_packing_slip(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/packingSlips/#{purchase_order_number}"

  meter(rate_limit).get(path)
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) click to toggle source

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.

@note This operation can make a static sandbox call. @param ship_from_party_id [String] The vendor ‘warehouseId` for order fulfillment. If not specified the result

will contain orders for all warehouses.

@param limit [Integer] The limit to the number of records returned @param created_after [String] Packing slips that became available after this date and time will be included in

the result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.

@param created_before [String] Packing slips that became available before this date and time will be included in

the result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.

@param sort_order [String] Sort ASC or DESC by packing slip creation date. @param next_token [String] Used for pagination when there are more packing slips than the specified result size

limit. The token value is returned in the previous API call.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb, line 161
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

  meter(rate_limit).get(path, params:)
end
get_shipping_label(purchase_order_number, rate_limit: 10.0) click to toggle source

Returns a shipping label for the ‘purchaseOrderNumber` that you specify.

@note This operation can make a static sandbox call. @param purchase_order_number [String] The purchase order number for which you want to return the shipping label.

It should be the same `purchaseOrderNumber` as received in the order.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb, line 69
def get_shipping_label(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/shippingLabels/#{purchase_order_number}"

  meter(rate_limit).get(path)
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) click to toggle source

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.

@note This operation can make a static sandbox call. @param ship_from_party_id [String] The vendor ‘warehouseId` for order fulfillment. If not specified, the result

will contain orders for all warehouses.

@param limit [Integer] The limit to the number of records returned. @param created_after [String] Shipping labels that became available after this date and time will be included in

the result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.

@param created_before [String] Shipping labels that became available before this date and time will be included

in the result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.

@param sort_order [String] Sort ASC or DESC by order creation date. @param next_token [String] Used for pagination when there are more ship labels than the specified result size

limit. The token value is returned in the previous API call.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb, line 35
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

  meter(rate_limit).get(path, params:)
end
submit_shipment_confirmations(body, rate_limit: 10.0) click to toggle source

Submits one or more shipment confirmations for vendor orders.

@note This operation can make a static sandbox call. @param body [Hash] Request body containing the shipment confirmations data. @param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb, line 81
def submit_shipment_confirmations(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/shipmentConfirmations"

  meter(rate_limit).post(path, body:)
end
submit_shipment_status_updates(body, rate_limit: 10.0) click to toggle source

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.

@note This operation can make a static sandbox call. @param body [Hash] Request body containing the shipment status update data. @param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb, line 95
def submit_shipment_status_updates(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/shipmentStatusUpdates"

  meter(rate_limit).post(path, body:)
end
submit_shipping_label_request(body, rate_limit: 10.0) click to toggle source

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

@note This operation can make a static sandbox call. @param body [Hash] Request body containing one or more shipping labels data. @param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb, line 56
def submit_shipping_label_request(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/v1/shippingLabels"

  meter(rate_limit).post(path, body:)
end