Class: Peddler::API::VendorDirectFulfillmentShipping20211228

Inherits:
Peddler::API
  • Object
show all
Defined in:
lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.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.

Instance Attribute Summary

Attributes inherited from Peddler::API

#access_token, #endpoint

Instance Method Summary collapse

Methods inherited from Peddler::API

#cannot_sandbox!, #endpoint_uri, #http, #initialize, #meter, #must_sandbox!, #retriable, #sandbox, #sandbox?, #use, #via

Constructor Details

This class inherits a constructor from Peddler::API

Instance Method Details

#create_shipping_labels(purchase_order_number, body, rate_limit: 10.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

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

Parameters:

  • purchase_order_number (String)

    The purchase order number for which you want to return the shipping labels. It should be the same purchaseOrderNumber as received in the order.

  • body (Hash)

    The request payload that contains parameters for creating shipping labels.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



84
85
86
87
88
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 84

def create_shipping_labels(purchase_order_number, body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/#{purchase_order_number}"

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

#get_customer_invoice(purchase_order_number, rate_limit: 10.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

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

Parameters:

  • purchase_order_number (String)

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

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



154
155
156
157
158
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 154

def get_customer_invoice(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/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) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

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

Parameters:

  • ship_from_party_id (String) (defaults to: nil)

    The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.

  • 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 result. Must be in ISO-8601 date/time format.

  • created_before (String)

    Orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.

  • 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. The token value is returned in the previous API call.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



133
134
135
136
137
138
139
140
141
142
143
144
145
146
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 133

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

  meter(rate_limit).get(path, params:)
end

#get_packing_slip(purchase_order_number, rate_limit: 10.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

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

Parameters:

  • purchase_order_number (String)

    The purchaseOrderNumber for the packing slip you want.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



197
198
199
200
201
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 197

def get_packing_slip(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/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) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

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

Parameters:

  • ship_from_party_id (String) (defaults to: nil)

    The vendor warehouseId for order fulfillment. If not specified the result will contain orders for all warehouses.

  • 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 the result. Must be in ISO-8601 date/time format.

  • created_before (String)

    Packing slips that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.

  • 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 limit. The token value is returned in the previous API call.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 176

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

  meter(rate_limit).get(path, params:)
end

#get_shipping_label(purchase_order_number, rate_limit: 10.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Returns a shipping label for the purchaseOrderNumber that you specify.

Parameters:

  • purchase_order_number (String)

    The purchase order number for which you want to return the shipping label. Should be the same purchaseOrderNumber as received in the order.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



70
71
72
73
74
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 70

def get_shipping_label(purchase_order_number, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/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) ⇒ Hash

Note:

This operation can make a dynamic 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.

Parameters:

  • ship_from_party_id (String) (defaults to: nil)

    The vendor warehouseId for order fulfillment. If not specified, the result will contain orders for all warehouses.

  • 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 the result. Must be in ISO-8601 date/time format.

  • created_before (String)

    Shipping labels that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.

  • 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 limit. The token value is returned in the previous API call.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 36

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

  meter(rate_limit).get(path, params:)
end

#submit_shipment_confirmations(body, rate_limit: 10.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

Submits one or more shipment confirmations for vendor orders.

Parameters:

  • body (Hash)

    Request body containing the shipment confirmations data.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



96
97
98
99
100
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 96

def submit_shipment_confirmations(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shipmentConfirmations"

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

#submit_shipment_status_updates(body, rate_limit: 10.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

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

Parameters:

  • body (Hash)

    Request body that contains the shipment status update data.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



110
111
112
113
114
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 110

def submit_shipment_status_updates(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shipmentStatusUpdates"

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

#submit_shipping_label_request(body, rate_limit: 10.0) ⇒ Hash

Note:

This operation can make a dynamic sandbox call.

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

Parameters:

  • body (Hash)

    Request body that contains the shipping labels data.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



57
58
59
60
61
# File 'lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb', line 57

def submit_shipping_label_request(body, rate_limit: 10.0)
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels"

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