peddler 3.0.0.beta1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +96 -106
  3. data/lib/peddler/api/amazon_warehousing_and_distribution_2024_05_09.rb +34 -22
  4. data/lib/peddler/api/aplus_content_2020_11_01.rb +86 -48
  5. data/lib/peddler/api/application_integrations_2024_04_01.rb +56 -0
  6. data/lib/peddler/api/application_management_2023_11_30.rb +12 -2
  7. data/lib/peddler/api/catalog_items_2020_12_01.rb +31 -20
  8. data/lib/peddler/api/catalog_items_2022_04_01.rb +35 -25
  9. data/lib/peddler/api/catalog_items_v0.rb +39 -26
  10. data/lib/peddler/api/data_kiosk_2023_11_15.rb +41 -25
  11. data/lib/peddler/api/easy_ship_2022_03_23.rb +62 -43
  12. data/lib/peddler/api/fba_inbound_eligibility_v1.rb +13 -5
  13. data/lib/peddler/api/fba_inventory_v1.rb +40 -24
  14. data/lib/peddler/api/feeds_2021_06_30.rb +43 -25
  15. data/lib/peddler/api/finances_2024_06_19.rb +50 -0
  16. data/lib/peddler/api/finances_v0.rb +86 -59
  17. data/lib/peddler/api/fulfillment_inbound_2024_03_20.rb +304 -205
  18. data/lib/peddler/api/fulfillment_inbound_v0.rb +112 -74
  19. data/lib/peddler/api/fulfillment_outbound_2020_07_01.rb +90 -53
  20. data/lib/peddler/api/invoices_2024_06_19.rb +180 -0
  21. data/lib/peddler/api/listings_items_2020_09_01.rb +44 -33
  22. data/lib/peddler/api/listings_items_2021_08_01.rb +76 -60
  23. data/lib/peddler/api/listings_restrictions_2021_08_01.rb +19 -9
  24. data/lib/peddler/api/merchant_fulfillment_v0.rb +31 -15
  25. data/lib/peddler/api/messaging_v1.rb +93 -61
  26. data/lib/peddler/api/notifications_v1.rb +54 -23
  27. data/lib/peddler/api/orders_v0.rb +87 -72
  28. data/lib/peddler/api/product_fees_v0.rb +39 -31
  29. data/lib/peddler/api/product_pricing_2022_05_01.rb +17 -6
  30. data/lib/peddler/api/product_pricing_v0.rb +63 -45
  31. data/lib/peddler/api/product_type_definitions_2020_09_01.rb +29 -18
  32. data/lib/peddler/api/replenishment_2022_11_07.rb +21 -9
  33. data/lib/peddler/api/reports_2021_06_30.rb +60 -36
  34. data/lib/peddler/api/sales_v1.rb +20 -12
  35. data/lib/peddler/api/sellers_v1.rb +16 -4
  36. data/lib/peddler/api/services_v1.rb +138 -98
  37. data/lib/peddler/api/shipment_invoicing_v0.rb +25 -12
  38. data/lib/peddler/api/shipping_v1.rb +54 -29
  39. data/lib/peddler/api/shipping_v2.rb +132 -80
  40. data/lib/peddler/api/solicitations_v1.rb +18 -8
  41. data/lib/peddler/api/supply_sources_2020_07_01.rb +33 -15
  42. data/lib/peddler/api/tokens_2021_03_01.rb +13 -5
  43. data/lib/peddler/api/uploads_2020_11_01.rb +16 -6
  44. data/lib/peddler/api/vendor_direct_fulfillment_inventory_v1.rb +12 -4
  45. data/lib/peddler/api/vendor_direct_fulfillment_orders_2021_12_28.rb +29 -17
  46. data/lib/peddler/api/vendor_direct_fulfillment_orders_v1.rb +29 -17
  47. data/lib/peddler/api/vendor_direct_fulfillment_payments_v1.rb +11 -3
  48. data/lib/peddler/api/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.rb +14 -4
  49. data/lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb +74 -48
  50. data/lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb +74 -50
  51. data/lib/peddler/api/vendor_direct_fulfillment_transactions_2021_12_28.rb +11 -3
  52. data/lib/peddler/api/vendor_direct_fulfillment_transactions_v1.rb +11 -3
  53. data/lib/peddler/api/vendor_invoices_v1.rb +11 -3
  54. data/lib/peddler/api/vendor_orders_v1.rb +54 -43
  55. data/lib/peddler/api/vendor_shipments_v1.rb +63 -51
  56. data/lib/peddler/api/vendor_transaction_status_v1.rb +12 -3
  57. data/lib/peddler/api.rb +41 -18
  58. data/lib/peddler/endpoint.rb +51 -0
  59. data/lib/peddler/error.rb +1 -0
  60. data/lib/peddler/marketplace.rb +49 -0
  61. data/lib/peddler/token.rb +70 -0
  62. data/lib/peddler/version.rb +1 -1
  63. data/lib/peddler.rb +56 -52
  64. metadata +10 -6
  65. data/lib/peddler/access_token.rb +0 -76
  66. data/lib/peddler/region.rb +0 -30
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_direct_fulfillment_shipping_2021_12_28(...)
8
+ API::VendorDirectFulfillmentShipping20211228.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Direct Fulfillment Shipping
8
14
  #
@@ -13,19 +19,21 @@ module Peddler
13
19
  # using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to
14
20
  # search must not be more than 7 days.
15
21
  #
16
- # @param [String] ship_from_party_id The vendor warehouseId for order fulfillment. If not specified, the result
22
+ # @note This operation can make a dynamic sandbox call.
23
+ # @param ship_from_party_id [String] The vendor warehouseId for order fulfillment. If not specified, the result
17
24
  # will contain orders for all warehouses.
18
- # @param [Integer] limit The limit to the number of records returned.
19
- # @param [String] created_after Shipping labels that became available after this date and time will be included in
25
+ # @param limit [Integer] The limit to the number of records returned.
26
+ # @param created_after [String] Shipping labels that became available after this date and time will be included in
20
27
  # the result. Must be in ISO-8601 date/time format.
21
- # @param [String] created_before Shipping labels that became available before this date and time will be included
28
+ # @param created_before [String] Shipping labels that became available before this date and time will be included
22
29
  # in the result. Must be in ISO-8601 date/time format.
23
- # @param [String] sort_order Sort ASC or DESC by order creation date.
24
- # @param [String] next_token Used for pagination when there are more ship labels than the specified result size
30
+ # @param sort_order [String] Sort ASC or DESC by order creation date.
31
+ # @param next_token [String] Used for pagination when there are more ship labels than the specified result size
25
32
  # limit. The token value is returned in the previous API call.
33
+ # @param rate_limit [Float] Requests per second
26
34
  # @return [Hash] The API response
27
- def get_shipping_labels(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
28
- next_token: nil)
35
+ def get_shipping_labels(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: "ASC",
36
+ next_token: nil, rate_limit: 10.0)
29
37
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels"
30
38
  params = {
31
39
  "shipFromPartyId" => ship_from_party_id,
@@ -36,81 +44,93 @@ module Peddler
36
44
  "nextToken" => next_token,
37
45
  }.compact
38
46
 
39
- rate_limit(10.0).get(path, params:)
47
+ meter(rate_limit).get(path, params:)
40
48
  end
41
49
 
42
50
  # Creates a shipping label for a purchase order and returns a transactionId for reference.
43
51
  #
44
- # @param [Hash] body Request body that contains the shipping labels data.
52
+ # @note This operation can make a dynamic sandbox call.
53
+ # @param body [Hash] Request body that contains the shipping labels data.
54
+ # @param rate_limit [Float] Requests per second
45
55
  # @return [Hash] The API response
46
- def submit_shipping_label_request(body)
56
+ def submit_shipping_label_request(body, rate_limit: 10.0)
47
57
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels"
48
58
 
49
- rate_limit(10.0).post(path, body:)
59
+ meter(rate_limit).post(path, body:)
50
60
  end
51
61
 
52
62
  # Returns a shipping label for the purchaseOrderNumber that you specify.
53
63
  #
54
- # @param [String] purchase_order_number The purchase order number for which you want to return the shipping label.
64
+ # @note This operation can make a dynamic sandbox call.
65
+ # @param purchase_order_number [String] The purchase order number for which you want to return the shipping label.
55
66
  # Should be the same `purchaseOrderNumber` as received in the order.
67
+ # @param rate_limit [Float] Requests per second
56
68
  # @return [Hash] The API response
57
- def get_shipping_label(purchase_order_number)
69
+ def get_shipping_label(purchase_order_number, rate_limit: 10.0)
58
70
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/#{purchase_order_number}"
59
71
 
60
- rate_limit(10.0).get(path)
72
+ meter(rate_limit).get(path)
61
73
  end
62
74
 
63
75
  # Creates shipping labels for a purchase order and returns the labels.
64
76
  #
65
- # @param [String] purchase_order_number The purchase order number for which you want to return the shipping
77
+ # @note This operation can make a dynamic sandbox call.
78
+ # @param purchase_order_number [String] The purchase order number for which you want to return the shipping
66
79
  # labels. It should be the same purchaseOrderNumber as received in the order.
67
- # @param [Hash] body The request payload that contains parameters for creating shipping labels.
80
+ # @param body [Hash] The request payload that contains parameters for creating shipping labels.
81
+ # @param rate_limit [Float] Requests per second
68
82
  # @return [Hash] The API response
69
- def create_shipping_labels(purchase_order_number, body)
83
+ def create_shipping_labels(purchase_order_number, body, rate_limit: 10.0)
70
84
  path = "/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/#{purchase_order_number}"
71
85
 
72
- rate_limit(10.0).post(path, body:)
86
+ meter(rate_limit).post(path, body:)
73
87
  end
74
88
 
75
89
  # Submits one or more shipment confirmations for vendor orders.
76
90
  #
77
- # @param [Hash] body Request body containing the shipment confirmations data.
91
+ # @note This operation can make a dynamic sandbox call.
92
+ # @param body [Hash] Request body containing the shipment confirmations data.
93
+ # @param rate_limit [Float] Requests per second
78
94
  # @return [Hash] The API response
79
- def submit_shipment_confirmations(body)
95
+ def submit_shipment_confirmations(body, rate_limit: 10.0)
80
96
  path = "/vendor/directFulfillment/shipping/2021-12-28/shipmentConfirmations"
81
97
 
82
- rate_limit(10.0).post(path, body:)
98
+ meter(rate_limit).post(path, body:)
83
99
  end
84
100
 
85
101
  # This operation is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API submits a shipment
86
102
  # status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their
87
103
  # order, when the package is outside of Amazon Network visibility.
88
104
  #
89
- # @param [Hash] body Request body that contains the shipment status update data.
105
+ # @note This operation can make a dynamic sandbox call.
106
+ # @param body [Hash] Request body that contains the shipment status update data.
107
+ # @param rate_limit [Float] Requests per second
90
108
  # @return [Hash] The API response
91
- def submit_shipment_status_updates(body)
109
+ def submit_shipment_status_updates(body, rate_limit: 10.0)
92
110
  path = "/vendor/directFulfillment/shipping/2021-12-28/shipmentStatusUpdates"
93
111
 
94
- rate_limit(10.0).post(path, body:)
112
+ meter(rate_limit).post(path, body:)
95
113
  end
96
114
 
97
115
  # Returns a list of customer invoices created during a time frame that you specify. You define the time frame
98
116
  # using the createdAfter and createdBefore parameters. You must use both of these parameters. The date range to
99
117
  # search must be no more than 7 days.
100
118
  #
101
- # @param [String] ship_from_party_id The vendor warehouseId for order fulfillment. If not specified, the result
119
+ # @note This operation can make a dynamic sandbox call.
120
+ # @param ship_from_party_id [String] The vendor warehouseId for order fulfillment. If not specified, the result
102
121
  # will contain orders for all warehouses.
103
- # @param [Integer] limit The limit to the number of records returned
104
- # @param [String] created_after Orders that became available after this date and time will be included in the
122
+ # @param limit [Integer] The limit to the number of records returned
123
+ # @param created_after [String] Orders that became available after this date and time will be included in the
105
124
  # result. Must be in ISO-8601 date/time format.
106
- # @param [String] created_before Orders that became available before this date and time will be included in the
125
+ # @param created_before [String] Orders that became available before this date and time will be included in the
107
126
  # result. Must be in ISO-8601 date/time format.
108
- # @param [String] sort_order Sort ASC or DESC by order creation date.
109
- # @param [String] next_token Used for pagination when there are more orders than the specified result size limit.
127
+ # @param sort_order [String] Sort ASC or DESC by order creation date.
128
+ # @param next_token [String] Used for pagination when there are more orders than the specified result size limit.
110
129
  # The token value is returned in the previous API call.
130
+ # @param rate_limit [Float] Requests per second
111
131
  # @return [Hash] The API response
112
132
  def get_customer_invoices(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
113
- next_token: nil)
133
+ next_token: nil, rate_limit: 10.0)
114
134
  path = "/vendor/directFulfillment/shipping/2021-12-28/customerInvoices"
115
135
  params = {
116
136
  "shipFromPartyId" => ship_from_party_id,
@@ -121,35 +141,39 @@ module Peddler
121
141
  "nextToken" => next_token,
122
142
  }.compact
123
143
 
124
- rate_limit(10.0).get(path, params:)
144
+ meter(rate_limit).get(path, params:)
125
145
  end
126
146
 
127
147
  # Returns a customer invoice based on the purchaseOrderNumber that you specify.
128
148
  #
129
- # @param [String] purchase_order_number Purchase order number of the shipment for which to return the invoice.
149
+ # @note This operation can make a dynamic sandbox call.
150
+ # @param purchase_order_number [String] Purchase order number of the shipment for which to return the invoice.
151
+ # @param rate_limit [Float] Requests per second
130
152
  # @return [Hash] The API response
131
- def get_customer_invoice(purchase_order_number)
153
+ def get_customer_invoice(purchase_order_number, rate_limit: 10.0)
132
154
  path = "/vendor/directFulfillment/shipping/2021-12-28/customerInvoices/#{purchase_order_number}"
133
155
 
134
- rate_limit(10.0).get(path)
156
+ meter(rate_limit).get(path)
135
157
  end
136
158
 
137
159
  # Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search
138
160
  # must not be more than 7 days.
139
161
  #
140
- # @param [String] ship_from_party_id The vendor warehouseId for order fulfillment. If not specified the result
162
+ # @note This operation can make a dynamic sandbox call.
163
+ # @param ship_from_party_id [String] The vendor warehouseId for order fulfillment. If not specified the result
141
164
  # will contain orders for all warehouses.
142
- # @param [Integer] limit The limit to the number of records returned
143
- # @param [String] created_after Packing slips that became available after this date and time will be included in
165
+ # @param limit [Integer] The limit to the number of records returned
166
+ # @param created_after [String] Packing slips that became available after this date and time will be included in
144
167
  # the result. Must be in ISO-8601 date/time format.
145
- # @param [String] created_before Packing slips that became available before this date and time will be included in
168
+ # @param created_before [String] Packing slips that became available before this date and time will be included in
146
169
  # the result. Must be in ISO-8601 date/time format.
147
- # @param [String] sort_order Sort ASC or DESC by packing slip creation date.
148
- # @param [String] next_token Used for pagination when there are more packing slips than the specified result size
170
+ # @param sort_order [String] Sort ASC or DESC by packing slip creation date.
171
+ # @param next_token [String] Used for pagination when there are more packing slips than the specified result size
149
172
  # limit. The token value is returned in the previous API call.
173
+ # @param rate_limit [Float] Requests per second
150
174
  # @return [Hash] The API response
151
- def get_packing_slips(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
152
- next_token: nil)
175
+ def get_packing_slips(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: "ASC",
176
+ next_token: nil, rate_limit: 10.0)
153
177
  path = "/vendor/directFulfillment/shipping/2021-12-28/packingSlips"
154
178
  params = {
155
179
  "shipFromPartyId" => ship_from_party_id,
@@ -160,17 +184,19 @@ module Peddler
160
184
  "nextToken" => next_token,
161
185
  }.compact
162
186
 
163
- rate_limit(10.0).get(path, params:)
187
+ meter(rate_limit).get(path, params:)
164
188
  end
165
189
 
166
190
  # Returns a packing slip based on the purchaseOrderNumber that you specify.
167
191
  #
168
- # @param [String] purchase_order_number The purchaseOrderNumber for the packing slip you want.
192
+ # @note This operation can make a dynamic sandbox call.
193
+ # @param purchase_order_number [String] The purchaseOrderNumber for the packing slip you want.
194
+ # @param rate_limit [Float] Requests per second
169
195
  # @return [Hash] The API response
170
- def get_packing_slip(purchase_order_number)
196
+ def get_packing_slip(purchase_order_number, rate_limit: 10.0)
171
197
  path = "/vendor/directFulfillment/shipping/2021-12-28/packingSlips/#{purchase_order_number}"
172
198
 
173
- rate_limit(10.0).get(path)
199
+ meter(rate_limit).get(path)
174
200
  end
175
201
  end
176
202
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_direct_fulfillment_shipping_v1(...)
8
+ API::VendorDirectFulfillmentShippingV1.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Direct Fulfillment Shipping
8
14
  #
@@ -13,19 +19,21 @@ module Peddler
13
19
  # using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range
14
20
  # to search must not be more than 7 days.
15
21
  #
16
- # @param [String] ship_from_party_id The vendor `warehouseId` for order fulfillment. If not specified, the result
22
+ # @note This operation can make a static sandbox call.
23
+ # @param ship_from_party_id [String] The vendor `warehouseId` for order fulfillment. If not specified, the result
17
24
  # will contain orders for all warehouses.
18
- # @param [Integer] limit The limit to the number of records returned.
19
- # @param [String] created_after Shipping labels that became available after this date and time will be included in
20
- # the result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
21
- # @param [String] created_before Shipping labels that became available before this date and time will be included
22
- # in the result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
23
- # @param [String] sort_order Sort ASC or DESC by order creation date.
24
- # @param [String] next_token Used for pagination when there are more ship labels than the specified result size
25
+ # @param limit [Integer] The limit to the number of records returned.
26
+ # @param created_after [String] Shipping labels that became available after this date and time will be included in
27
+ # the result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.
28
+ # @param created_before [String] Shipping labels that became available before this date and time will be included
29
+ # in the result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.
30
+ # @param sort_order [String] Sort ASC or DESC by order creation date.
31
+ # @param next_token [String] Used for pagination when there are more ship labels than the specified result size
25
32
  # limit. The token value is returned in the previous API call.
33
+ # @param rate_limit [Float] Requests per second
26
34
  # @return [Hash] The API response
27
- def get_shipping_labels(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
28
- next_token: nil)
35
+ def get_shipping_labels(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: "ASC",
36
+ next_token: nil, rate_limit: 10.0)
29
37
  path = "/vendor/directFulfillment/shipping/v1/shippingLabels"
30
38
  params = {
31
39
  "shipFromPartyId" => ship_from_party_id,
@@ -36,69 +44,79 @@ module Peddler
36
44
  "nextToken" => next_token,
37
45
  }.compact
38
46
 
39
- rate_limit(10.0).get(path, params:)
47
+ meter(rate_limit).get(path, params:)
40
48
  end
41
49
 
42
50
  # Creates a shipping label for a purchase order and returns a `transactionId` for reference.
43
51
  #
44
- # @param [Hash] body Request body containing one or more shipping labels data.
52
+ # @note This operation can make a static sandbox call.
53
+ # @param body [Hash] Request body containing one or more shipping labels data.
54
+ # @param rate_limit [Float] Requests per second
45
55
  # @return [Hash] The API response
46
- def submit_shipping_label_request(body)
56
+ def submit_shipping_label_request(body, rate_limit: 10.0)
47
57
  path = "/vendor/directFulfillment/shipping/v1/shippingLabels"
48
58
 
49
- rate_limit(10.0).post(path, body:)
59
+ meter(rate_limit).post(path, body:)
50
60
  end
51
61
 
52
62
  # Returns a shipping label for the `purchaseOrderNumber` that you specify.
53
63
  #
54
- # @param [String] purchase_order_number The purchase order number for which you want to return the shipping label.
64
+ # @note This operation can make a static sandbox call.
65
+ # @param purchase_order_number [String] The purchase order number for which you want to return the shipping label.
55
66
  # It should be the same `purchaseOrderNumber` as received in the order.
67
+ # @param rate_limit [Float] Requests per second
56
68
  # @return [Hash] The API response
57
- def get_shipping_label(purchase_order_number)
69
+ def get_shipping_label(purchase_order_number, rate_limit: 10.0)
58
70
  path = "/vendor/directFulfillment/shipping/v1/shippingLabels/#{purchase_order_number}"
59
71
 
60
- rate_limit(10.0).get(path)
72
+ meter(rate_limit).get(path)
61
73
  end
62
74
 
63
75
  # Submits one or more shipment confirmations for vendor orders.
64
76
  #
65
- # @param [Hash] body Request body containing the shipment confirmations data.
77
+ # @note This operation can make a static sandbox call.
78
+ # @param body [Hash] Request body containing the shipment confirmations data.
79
+ # @param rate_limit [Float] Requests per second
66
80
  # @return [Hash] The API response
67
- def submit_shipment_confirmations(body)
81
+ def submit_shipment_confirmations(body, rate_limit: 10.0)
68
82
  path = "/vendor/directFulfillment/shipping/v1/shipmentConfirmations"
69
83
 
70
- rate_limit(10.0).post(path, body:)
84
+ meter(rate_limit).post(path, body:)
71
85
  end
72
86
 
73
87
  # This API call is only to be used by Vendor-Own-Carrier (VOC) vendors. Calling this API will submit a shipment
74
88
  # status update for the package that a vendor has shipped. It will provide the Amazon customer visibility on their
75
89
  # order, when the package is outside of Amazon Network visibility.
76
90
  #
77
- # @param [Hash] body Request body containing the shipment status update data.
91
+ # @note This operation can make a static sandbox call.
92
+ # @param body [Hash] Request body containing the shipment status update data.
93
+ # @param rate_limit [Float] Requests per second
78
94
  # @return [Hash] The API response
79
- def submit_shipment_status_updates(body)
95
+ def submit_shipment_status_updates(body, rate_limit: 10.0)
80
96
  path = "/vendor/directFulfillment/shipping/v1/shipmentStatusUpdates"
81
97
 
82
- rate_limit(10.0).post(path, body:)
98
+ meter(rate_limit).post(path, body:)
83
99
  end
84
100
 
85
101
  # Returns a list of customer invoices created during a time frame that you specify. You define the time frame
86
102
  # using the `createdAfter` and `createdBefore` parameters. You must use both of these parameters. The date range
87
103
  # to search must be no more than 7 days.
88
104
  #
89
- # @param [String] ship_from_party_id The vendor `warehouseId` for order fulfillment. If not specified, the result
105
+ # @note This operation can make a static sandbox call.
106
+ # @param ship_from_party_id [String] The vendor `warehouseId` for order fulfillment. If not specified, the result
90
107
  # will contain orders for all warehouses.
91
- # @param [Integer] limit The limit to the number of records returned
92
- # @param [String] created_after Orders that became available after this date and time will be included in the
93
- # result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
94
- # @param [String] created_before Orders that became available before this date and time will be included in the
95
- # result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
96
- # @param [String] sort_order Sort ASC or DESC by order creation date.
97
- # @param [String] next_token Used for pagination when there are more orders than the specified result size limit.
108
+ # @param limit [Integer] The limit to the number of records returned
109
+ # @param created_after [String] Orders that became available after this date and time will be included in the
110
+ # result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.
111
+ # @param created_before [String] Orders that became available before this date and time will be included in the
112
+ # result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.
113
+ # @param sort_order [String] Sort ASC or DESC by order creation date.
114
+ # @param next_token [String] Used for pagination when there are more orders than the specified result size limit.
98
115
  # The token value is returned in the previous API call.
116
+ # @param rate_limit [Float] Requests per second
99
117
  # @return [Hash] The API response
100
118
  def get_customer_invoices(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
101
- next_token: nil)
119
+ next_token: nil, rate_limit: 10.0)
102
120
  path = "/vendor/directFulfillment/shipping/v1/customerInvoices"
103
121
  params = {
104
122
  "shipFromPartyId" => ship_from_party_id,
@@ -109,35 +127,39 @@ module Peddler
109
127
  "nextToken" => next_token,
110
128
  }.compact
111
129
 
112
- rate_limit(10.0).get(path, params:)
130
+ meter(rate_limit).get(path, params:)
113
131
  end
114
132
 
115
133
  # Returns a customer invoice based on the `purchaseOrderNumber` that you specify.
116
134
  #
117
- # @param [String] purchase_order_number Purchase order number of the shipment for which to return the invoice.
135
+ # @note This operation can make a static sandbox call.
136
+ # @param purchase_order_number [String] Purchase order number of the shipment for which to return the invoice.
137
+ # @param rate_limit [Float] Requests per second
118
138
  # @return [Hash] The API response
119
- def get_customer_invoice(purchase_order_number)
139
+ def get_customer_invoice(purchase_order_number, rate_limit: 10.0)
120
140
  path = "/vendor/directFulfillment/shipping/v1/customerInvoices/#{purchase_order_number}"
121
141
 
122
- rate_limit(10.0).get(path)
142
+ meter(rate_limit).get(path)
123
143
  end
124
144
 
125
145
  # Returns a list of packing slips for the purchase orders that match the criteria specified. Date range to search
126
146
  # must not be more than 7 days.
127
147
  #
128
- # @param [String] ship_from_party_id The vendor `warehouseId` for order fulfillment. If not specified the result
148
+ # @note This operation can make a static sandbox call.
149
+ # @param ship_from_party_id [String] The vendor `warehouseId` for order fulfillment. If not specified the result
129
150
  # will contain orders for all warehouses.
130
- # @param [Integer] limit The limit to the number of records returned
131
- # @param [String] created_after Packing slips that became available after this date and time will be included in
132
- # the result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
133
- # @param [String] created_before Packing slips that became available before this date and time will be included in
134
- # the result. Must be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date/time format.
135
- # @param [String] sort_order Sort ASC or DESC by packing slip creation date.
136
- # @param [String] next_token Used for pagination when there are more packing slips than the specified result size
151
+ # @param limit [Integer] The limit to the number of records returned
152
+ # @param created_after [String] Packing slips that became available after this date and time will be included in
153
+ # the result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.
154
+ # @param created_before [String] Packing slips that became available before this date and time will be included in
155
+ # the result. Must be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} date/time format.
156
+ # @param sort_order [String] Sort ASC or DESC by packing slip creation date.
157
+ # @param next_token [String] Used for pagination when there are more packing slips than the specified result size
137
158
  # limit. The token value is returned in the previous API call.
159
+ # @param rate_limit [Float] Requests per second
138
160
  # @return [Hash] The API response
139
- def get_packing_slips(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: nil,
140
- next_token: nil)
161
+ def get_packing_slips(created_after, created_before, ship_from_party_id: nil, limit: nil, sort_order: "ASC",
162
+ next_token: nil, rate_limit: 10.0)
141
163
  path = "/vendor/directFulfillment/shipping/v1/packingSlips"
142
164
  params = {
143
165
  "shipFromPartyId" => ship_from_party_id,
@@ -148,17 +170,19 @@ module Peddler
148
170
  "nextToken" => next_token,
149
171
  }.compact
150
172
 
151
- rate_limit(10.0).get(path, params:)
173
+ meter(rate_limit).get(path, params:)
152
174
  end
153
175
 
154
176
  # Returns a packing slip based on the `purchaseOrderNumber` that you specify.
155
177
  #
156
- # @param [String] purchase_order_number The `purchaseOrderNumber` for the packing slip you want.
178
+ # @note This operation can make a static sandbox call.
179
+ # @param purchase_order_number [String] The `purchaseOrderNumber` for the packing slip you want.
180
+ # @param rate_limit [Float] Requests per second
157
181
  # @return [Hash] The API response
158
- def get_packing_slip(purchase_order_number)
182
+ def get_packing_slip(purchase_order_number, rate_limit: 10.0)
159
183
  path = "/vendor/directFulfillment/shipping/v1/packingSlips/#{purchase_order_number}"
160
184
 
161
- rate_limit(10.0).get(path)
185
+ meter(rate_limit).get(path)
162
186
  end
163
187
  end
164
188
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_direct_fulfillment_transactions_2021_12_28(...)
8
+ API::VendorDirectFulfillmentTransactions20211228.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Direct Fulfillment Transaction Status
8
14
  #
@@ -11,13 +17,15 @@ module Peddler
11
17
  class VendorDirectFulfillmentTransactions20211228 < API
12
18
  # Returns the status of the transaction indicated by the specified `transactionId`.
13
19
  #
14
- # @param [String] transaction_id Previously returned in the response to the POST request of a specific
20
+ # @note This operation can make a dynamic sandbox call.
21
+ # @param transaction_id [String] Previously returned in the response to the POST request of a specific
15
22
  # transaction.
23
+ # @param rate_limit [Float] Requests per second
16
24
  # @return [Hash] The API response
17
- def get_transaction_status(transaction_id)
25
+ def get_transaction_status(transaction_id, rate_limit: 10.0)
18
26
  path = "/vendor/directFulfillment/transactions/2021-12-28/transactions/#{transaction_id}"
19
27
 
20
- rate_limit(10.0).get(path)
28
+ meter(rate_limit).get(path)
21
29
  end
22
30
  end
23
31
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_direct_fulfillment_transactions_v1(...)
8
+ API::VendorDirectFulfillmentTransactionsV1.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Direct Fulfillment Transaction Status
8
14
  #
@@ -11,13 +17,15 @@ module Peddler
11
17
  class VendorDirectFulfillmentTransactionsV1 < API
12
18
  # Returns the status of the transaction indicated by the specified `transactionId`.
13
19
  #
14
- # @param [String] transaction_id Previously returned in the response to the POST request of a specific
20
+ # @note This operation can make a static sandbox call.
21
+ # @param transaction_id [String] Previously returned in the response to the POST request of a specific
15
22
  # transaction.
23
+ # @param rate_limit [Float] Requests per second
16
24
  # @return [Hash] The API response
17
- def get_transaction_status(transaction_id)
25
+ def get_transaction_status(transaction_id, rate_limit: 10.0)
18
26
  path = "/vendor/directFulfillment/transactions/v1/transactions/#{transaction_id}"
19
27
 
20
- rate_limit(10.0).get(path)
28
+ meter(rate_limit).get(path)
21
29
  end
22
30
  end
23
31
  end
@@ -3,6 +3,12 @@
3
3
  require "peddler/api"
4
4
 
5
5
  module Peddler
6
+ class << self
7
+ def vendor_invoices_v1(...)
8
+ API::VendorInvoicesV1.new(...)
9
+ end
10
+ end
11
+
6
12
  class API
7
13
  # Selling Partner API for Retail Procurement Payments
8
14
  #
@@ -10,12 +16,14 @@ module Peddler
10
16
  class VendorInvoicesV1 < API
11
17
  # Submit new invoices to Amazon.
12
18
  #
13
- # @param [Hash] body The request body containing the invoice data to submit.
19
+ # @note This operation can make a static sandbox call.
20
+ # @param body [Hash] The request body containing the invoice data to submit.
21
+ # @param rate_limit [Float] Requests per second
14
22
  # @return [Hash] The API response
15
- def submit_invoices(body)
23
+ def submit_invoices(body, rate_limit: 10.0)
16
24
  path = "/vendor/payments/v1/invoices"
17
25
 
18
- rate_limit(10.0).post(path, body:)
26
+ meter(rate_limit).post(path, body:)
19
27
  end
20
28
  end
21
29
  end