peddler 5.3.1 → 5.5.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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +74 -11
  3. data/lib/peddler/api.rb +30 -6
  4. data/lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09/order_attribute.rb +20 -0
  5. data/lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09/outbound_execution_error.rb +24 -0
  6. data/lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09/outbound_listing.rb +24 -0
  7. data/lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09/outbound_order.rb +60 -0
  8. data/lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09/outbound_order_creation_data.rb +23 -0
  9. data/lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09/outbound_order_reference.rb +18 -0
  10. data/lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09/outbound_shipment.rb +43 -0
  11. data/lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09/shipment_label_page_types.rb +20 -0
  12. data/lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09.rb +100 -0
  13. data/lib/peddler/apis/external_fulfillment_shipments_2024_09_11/address.rb +4 -1
  14. data/lib/peddler/apis/external_fulfillment_shipments_2024_09_11/distance.rb +20 -0
  15. data/lib/peddler/apis/external_fulfillment_shipments_2024_09_11/geocodes.rb +23 -0
  16. data/lib/peddler/apis/external_fulfillment_shipments_2024_09_11/handover_location.rb +23 -0
  17. data/lib/peddler/apis/external_fulfillment_shipments_2024_09_11/ship_label_metadata.rb +4 -0
  18. data/lib/peddler/apis/external_fulfillment_shipments_2024_09_11/shipment_info.rb +3 -0
  19. data/lib/peddler/apis/external_fulfillment_shipments_2024_09_11/shipping_options.rb +4 -0
  20. data/lib/peddler/apis/external_fulfillment_shipments_2024_09_11.rb +1 -1
  21. data/lib/peddler/apis/feeds_2021_06_30.rb +8 -2
  22. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/amount.rb +2 -2
  23. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_document.rb +2 -2
  24. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_information.rb +2 -1
  25. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_preferences.rb +1 -1
  26. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/delivery_window.rb +3 -4
  27. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/drop_off_location.rb +9 -7
  28. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/feature_settings.rb +5 -1
  29. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/feature_sku.rb +1 -1
  30. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_order.rb +2 -2
  31. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_preview_shipment.rb +6 -6
  32. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/fulfillment_shipment_package.rb +3 -4
  33. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/get_feature_inventory_response.rb +1 -1
  34. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/get_feature_sku_result.rb +12 -3
  35. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/origin.rb +2 -1
  36. data/lib/peddler/apis/fulfillment_outbound_2020_07_01/tracking_event.rb +1 -2
  37. data/lib/peddler/apis/listings_restrictions_2021_08_01/restriction_list.rb +1 -1
  38. data/lib/peddler/apis/listings_restrictions_2021_08_01.rb +4 -1
  39. data/lib/peddler/apis/notifications_v1/aggregation_filter.rb +2 -2
  40. data/lib/peddler/apis/notifications_v1/destination.rb +1 -1
  41. data/lib/peddler/apis/notifications_v1/event_bridge_resource.rb +2 -2
  42. data/lib/peddler/apis/notifications_v1/event_filter.rb +6 -6
  43. data/lib/peddler/apis/notifications_v1/marketplace_filter.rb +1 -1
  44. data/lib/peddler/apis/notifications_v1/marketplace_ids.rb +2 -2
  45. data/lib/peddler/apis/notifications_v1/order_change_type_filter.rb +2 -1
  46. data/lib/peddler/apis/notifications_v1/order_change_types.rb +2 -2
  47. data/lib/peddler/apis/notifications_v1/processing_directive.rb +18 -7
  48. data/lib/peddler/apis/notifications_v1/send_test_notification_request.rb +20 -0
  49. data/lib/peddler/apis/notifications_v1/send_test_notification_response.rb +20 -0
  50. data/lib/peddler/apis/notifications_v1/test_notification.rb +22 -0
  51. data/lib/peddler/apis/notifications_v1.rb +45 -17
  52. data/lib/peddler/apis/orders_2026_01_01/associated_order_item.rb +27 -0
  53. data/lib/peddler/apis/orders_2026_01_01/fulfillment_order.rb +19 -0
  54. data/lib/peddler/apis/orders_2026_01_01/item_packing.rb +3 -0
  55. data/lib/peddler/apis/orders_2026_01_01/item_picking.rb +1 -1
  56. data/lib/peddler/apis/orders_2026_01_01/item_proceeds_breakdown.rb +5 -5
  57. data/lib/peddler/apis/orders_2026_01_01/item_proceeds_detailed_breakdown.rb +1 -1
  58. data/lib/peddler/apis/orders_2026_01_01/item_tax.rb +20 -0
  59. data/lib/peddler/apis/orders_2026_01_01/item_tax_calculation_breakdown.rb +21 -0
  60. data/lib/peddler/apis/orders_2026_01_01/item_tax_collection.rb +24 -0
  61. data/lib/peddler/apis/orders_2026_01_01/order.rb +13 -1
  62. data/lib/peddler/apis/orders_2026_01_01/order_item.rb +7 -0
  63. data/lib/peddler/apis/orders_2026_01_01/order_payment.rb +17 -0
  64. data/lib/peddler/apis/orders_2026_01_01/order_proceeds.rb +5 -0
  65. data/lib/peddler/apis/orders_2026_01_01/order_proceeds_breakdown.rb +30 -0
  66. data/lib/peddler/apis/orders_2026_01_01/order_tax.rb +20 -0
  67. data/lib/peddler/apis/orders_2026_01_01/order_tax_invoicing.rb +34 -0
  68. data/lib/peddler/apis/orders_2026_01_01/order_tax_registration.rb +39 -0
  69. data/lib/peddler/apis/orders_2026_01_01/package_status.rb +4 -3
  70. data/lib/peddler/apis/orders_2026_01_01/pagination.rb +5 -5
  71. data/lib/peddler/apis/orders_2026_01_01/payment_execution.rb +39 -0
  72. data/lib/peddler/apis/orders_2026_01_01/search_orders_response.rb +10 -11
  73. data/lib/peddler/apis/orders_2026_01_01/serial_number_requirement.rb +19 -0
  74. data/lib/peddler/apis/orders_2026_01_01/tax_registration_attribute.rb +22 -0
  75. data/lib/peddler/apis/orders_2026_01_01.rb +15 -13
  76. data/lib/peddler/apis/orders_v0/address.rb +3 -3
  77. data/lib/peddler/apis/orders_v0/address_extended_fields.rb +9 -2
  78. data/lib/peddler/apis/orders_v0/approved_alternative_details.rb +20 -0
  79. data/lib/peddler/apis/orders_v0/approved_attribute.rb +23 -0
  80. data/lib/peddler/apis/orders_v0/buyer_info.rb +3 -0
  81. data/lib/peddler/apis/orders_v0/geo_coordinates.rb +20 -0
  82. data/lib/peddler/apis/orders_v0/interim_status_detail.rb +24 -0
  83. data/lib/peddler/apis/orders_v0/order_buyer_info.rb +3 -0
  84. data/lib/peddler/apis/orders_v0/regulated_order_verification_status.rb +5 -0
  85. data/lib/peddler/apis/orders_v0/valid_interim_status_code.rb +21 -0
  86. data/lib/peddler/apis/orders_v0/valid_verification_detail.rb +2 -1
  87. data/lib/peddler/apis/orders_v0/verification_details.rb +8 -0
  88. data/lib/peddler/apis/orders_v0.rb +6 -2
  89. data/lib/peddler/apis/product_pricing_2022_05_01/competitive_summary_response_body.rb +3 -0
  90. data/lib/peddler/apis/product_pricing_2022_05_01/item.rb +17 -0
  91. data/lib/peddler/apis/product_pricing_2022_05_01/points.rb +1 -1
  92. data/lib/peddler/apis/product_pricing_2022_05_01/similar_items.rb +17 -0
  93. data/lib/peddler/apis/product_type_definitions_2020_09_01/error_list.rb +1 -1
  94. data/lib/peddler/apis/product_type_definitions_2020_09_01/product_type.rb +1 -1
  95. data/lib/peddler/apis/product_type_definitions_2020_09_01/product_type_list.rb +1 -1
  96. data/lib/peddler/apis/product_type_definitions_2020_09_01/schema_link.rb +2 -1
  97. data/lib/peddler/apis/product_type_definitions_2020_09_01.rb +12 -8
  98. data/lib/peddler/apis/replenishment_2022_11_07/deliveries_condition.rb +22 -0
  99. data/lib/peddler/apis/replenishment_2022_11_07/forecast_deliveries.rb +26 -0
  100. data/lib/peddler/apis/replenishment_2022_11_07/get_selling_partner_metrics_request.rb +8 -3
  101. data/lib/peddler/apis/replenishment_2022_11_07/get_selling_partner_metrics_request_filters.rb +48 -0
  102. data/lib/peddler/apis/replenishment_2022_11_07/get_selling_partner_metrics_response_metric.rb +14 -10
  103. data/lib/peddler/apis/replenishment_2022_11_07/list_offer_metrics_request.rb +2 -2
  104. data/lib/peddler/apis/replenishment_2022_11_07/list_offer_metrics_request_filters.rb +17 -4
  105. data/lib/peddler/apis/replenishment_2022_11_07/list_offer_metrics_response_offer.rb +37 -23
  106. data/lib/peddler/apis/replenishment_2022_11_07/list_offers_request.rb +2 -2
  107. data/lib/peddler/apis/replenishment_2022_11_07/list_offers_request_filters.rb +7 -3
  108. data/lib/peddler/apis/replenishment_2022_11_07/list_offers_response_offer.rb +27 -1
  109. data/lib/peddler/apis/replenishment_2022_11_07/offer_program_configuration.rb +1 -1
  110. data/lib/peddler/apis/replenishment_2022_11_07/time_interval.rb +10 -6
  111. data/lib/peddler/apis/reports_2021_06_30.rb +8 -2
  112. data/lib/peddler/apis/seller_wallet_2024_03_01/balance.rb +6 -6
  113. data/lib/peddler/apis/seller_wallet_2024_03_01/balance_listing.rb +2 -2
  114. data/lib/peddler/apis/seller_wallet_2024_03_01/bank_account.rb +5 -5
  115. data/lib/peddler/apis/seller_wallet_2024_03_01/bank_account_listing.rb +2 -2
  116. data/lib/peddler/apis/seller_wallet_2024_03_01/delete_transfer_schedule.rb +3 -2
  117. data/lib/peddler/apis/seller_wallet_2024_03_01/fee.rb +4 -7
  118. data/lib/peddler/apis/seller_wallet_2024_03_01/fx_rate_details.rb +6 -6
  119. data/lib/peddler/apis/seller_wallet_2024_03_01/payee_contact_information.rb +5 -5
  120. data/lib/peddler/apis/seller_wallet_2024_03_01/payment_preference.rb +2 -3
  121. data/lib/peddler/apis/seller_wallet_2024_03_01/schedule_expression.rb +4 -5
  122. data/lib/peddler/apis/seller_wallet_2024_03_01/transaction.rb +13 -14
  123. data/lib/peddler/apis/seller_wallet_2024_03_01/transaction_account.rb +8 -8
  124. data/lib/peddler/apis/seller_wallet_2024_03_01/transaction_initiation_request.rb +8 -7
  125. data/lib/peddler/apis/seller_wallet_2024_03_01/transaction_instrument_details.rb +6 -7
  126. data/lib/peddler/apis/seller_wallet_2024_03_01/transaction_listing.rb +6 -5
  127. data/lib/peddler/apis/seller_wallet_2024_03_01/transfer_rate_preview.rb +4 -3
  128. data/lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule.rb +11 -12
  129. data/lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule_failures.rb +3 -3
  130. data/lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule_information.rb +5 -6
  131. data/lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule_listing.rb +6 -5
  132. data/lib/peddler/apis/seller_wallet_2024_03_01/transfer_schedule_request.rb +11 -13
  133. data/lib/peddler/apis/seller_wallet_2024_03_01.rb +30 -28
  134. data/lib/peddler/apis/services_v1/associated_item.rb +3 -0
  135. data/lib/peddler/apis/services_v1/linked_asset.rb +24 -0
  136. data/lib/peddler/apis/services_v1/money_amount.rb +20 -0
  137. data/lib/peddler/apis/services_v1/payment.rb +20 -0
  138. data/lib/peddler/apis/services_v1/service_job.rb +9 -0
  139. data/lib/peddler/apis/services_v1.rb +11 -5
  140. data/lib/peddler/apis/shipment_invoicing_v0/payment_information.rb +6 -6
  141. data/lib/peddler/apis/shipment_invoicing_v0/payment_information_list.rb +1 -1
  142. data/lib/peddler/apis/uploads_2020_11_01.rb +1 -1
  143. data/lib/peddler/data_kiosk/economics20240315.json +6 -6
  144. data/lib/peddler/data_kiosk/sales_and_traffic20231115.json +6 -6
  145. data/lib/peddler/data_kiosk/sales_and_traffic20240424.json +6 -6
  146. data/lib/peddler/data_kiosk/vendor_analytics20240930.json +6 -6
  147. data/lib/peddler/errors.rb +1 -0
  148. data/lib/peddler/notifications/order_change/notification.rb +4 -3
  149. data/lib/peddler/notifications/order_change/order_change_notification.rb +2 -2
  150. data/lib/peddler/notifications/order_change/order_change_trigger.rb +4 -4
  151. data/lib/peddler/notifications/order_change/order_item.rb +7 -7
  152. data/lib/peddler/notifications/order_change/summary.rb +17 -17
  153. data/lib/peddler/version.rb +1 -1
  154. data/sig/peddler/api.rbs +3 -1
  155. data/sig/peddler/apis/amazon_warehousing_and_distribution_2024_05_09.rbs +167 -0
  156. data/sig/peddler/apis/external_fulfillment_shipments_2024_09_11.rbs +85 -28
  157. data/sig/peddler/apis/feeds_2021_06_30.rbs +1 -1
  158. data/sig/peddler/apis/fulfillment_outbound_2020_07_01.rbs +11 -8
  159. data/sig/peddler/apis/listings_restrictions_2021_08_01.rbs +1 -1
  160. data/sig/peddler/apis/notifications_v1.rbs +61 -7
  161. data/sig/peddler/apis/orders_2026_01_01.rbs +272 -39
  162. data/sig/peddler/apis/orders_v0.rbs +115 -36
  163. data/sig/peddler/apis/product_pricing_2022_05_01.rbs +40 -7
  164. data/sig/peddler/apis/product_type_definitions_2020_09_01.rbs +1 -1
  165. data/sig/peddler/apis/replenishment_2022_11_07.rbs +117 -42
  166. data/sig/peddler/apis/reports_2021_06_30.rbs +1 -1
  167. data/sig/peddler/apis/services_v1.rbs +71 -15
  168. data/sig/peddler/errors.rbs +3 -0
  169. metadata +51 -5
@@ -33,6 +33,9 @@ module Peddler
33
33
  # either `REPLACEMENT` or `EXCHANGE`.
34
34
  attribute?(:original_shipment_info, ReplacedShipmentInfo, from: "originalShipmentInfo")
35
35
 
36
+ # @return [String] The payment method for the shipment.
37
+ attribute?(:payment_method, String, from: "paymentMethod")
38
+
36
39
  # @return [String] The source of the order operation.
37
40
  attribute?(:processing_source, String, from: "processingSource")
38
41
  end
@@ -19,6 +19,10 @@ module Peddler
19
19
  # @return [String] The carrier name for the offering.
20
20
  attribute?(:carrier_name, String, from: "carrierName")
21
21
 
22
+ # @return [HandoverLocation] The drop-off location details. This value is populated when `handoverMethod` is
23
+ # `DROPOFF`.
24
+ attribute?(:handover_location, HandoverLocation, from: "handoverLocation")
25
+
22
26
  # @return [TimeWindow] The time window during which the package will be picked up.
23
27
  attribute?(:pickup_window, TimeWindow, from: "pickupWindow")
24
28
 
@@ -21,7 +21,7 @@ module Peddler
21
21
  # marketplace, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).
22
22
  # @param channel_name [String] The channel name associated with the location.
23
23
  # @param status [String] The status of shipment you want to include in the response. To retrieve all new
24
- # shipments, set this value to `ACCEPTED`.
24
+ # shipments, set this value to `CREATED` or `ACCEPTED`.
25
25
  # @param last_updated_after [String] The response includes shipments whose latest update is after the specified
26
26
  # time. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date-time format.
27
27
  # @param last_updated_before [String] The response includes shipments whose latest update is before the specified
@@ -105,12 +105,18 @@ module Peddler
105
105
  #
106
106
  # @note This operation can make a static sandbox call.
107
107
  # @param feed_document_id [String] The identifier of the feed document.
108
+ # @param enable_content_encoding_url_header [Boolean] When `true`, the Content-Encoding header on the returned URL
109
+ # is set to `gzip` instead of the default `identity` when `compressionAlgorithm` is `GZIP`. This allows
110
+ # automatic decompression by HTTP clients.
108
111
  # @param rate_limit [Float] Requests per second
109
112
  # @return [Peddler::Response] The API response
110
- def get_feed_document(feed_document_id, rate_limit: 0.0222)
113
+ def get_feed_document(feed_document_id, enable_content_encoding_url_header: nil, rate_limit: 0.0222)
111
114
  path = "/feeds/2021-06-30/documents/#{percent_encode(feed_document_id)}"
115
+ params = {
116
+ "enableContentEncodingUrlHeader" => enable_content_encoding_url_header,
117
+ }.compact
112
118
  parser = -> { FeedDocument }
113
- get(path, rate_limit:, parser:)
119
+ get(path, params:, rate_limit:, parser:)
114
120
  end
115
121
  end
116
122
  end
@@ -7,12 +7,12 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class FulfillmentOutbound20200701
10
- # A quantity based on unit of measure.
10
+ # A quantity based on the specified unit of measurement.
11
11
  Amount = Structure.new do
12
12
  # @return [String] The unit of measure for the amount.
13
13
  attribute(:unit_of_measure, String, null: false, from: "unitOfMeasure")
14
14
 
15
- # @return [String] The amount of a product in the associated unit of measure.
15
+ # @return [String] The amount of a product in the associated unit of measurement.
16
16
  attribute(:value, String, null: false)
17
17
  end
18
18
  end
@@ -12,8 +12,8 @@ module Peddler
12
12
  # @return [String] The delivery document type. The only possible value is `DELIVERY_IMAGE`.
13
13
  attribute(:document_type, String, null: false, from: "documentType")
14
14
 
15
- # @return [String] A URL that you can use to download the document. This URL has a `Content-Type` header. Note
16
- # that the URL expires after one hour. To get a new URL, you must call the API again.
15
+ # @return [String] A URL that is valid for one hour to download the document. In case of URL expiry, call the
16
+ # API again to get a new url. The URL will have a Content-Type header.
17
17
  attribute?(:url, String)
18
18
  end
19
19
  end
@@ -7,7 +7,8 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class FulfillmentOutbound20200701
10
- # The delivery information for the package. This information is available after the package is delivered.
10
+ # The delivery information of the package, this information is only available post package delivery to its
11
+ # intended destination.
11
12
  DeliveryInformation = Structure.new do
12
13
  # @return [Array<DeliveryDocument>] All of the delivery documents for a package.
13
14
  attribute?(:delivery_document_list, [DeliveryDocument], from: "deliveryDocumentList")
@@ -14,7 +14,7 @@ module Peddler
14
14
  # door, unless you specify otherwise.
15
15
  DeliveryPreferences = Structure.new do
16
16
  # @return [String] Additional delivery instructions. For example, this could be instructions on how to enter a
17
- # building, nearby landmark or navigation instructions, 'Beware of dogs', etc.
17
+ # building, nearby landmark or navigation instructions, or `Beware of dogs`.
18
18
  attribute?(:delivery_instructions, String, from: "deliveryInstructions")
19
19
 
20
20
  # @return [DropOffLocation] The preferred location to leave packages at the destination address.
@@ -10,12 +10,11 @@ module Peddler
10
10
  # The time range within which a Scheduled Delivery fulfillment order should be delivered. This is only available
11
11
  # in the JP marketplace.
12
12
  DeliveryWindow = Structure.new do
13
- # @return [String] The date and time of the end of the Scheduled Delivery window. Must be in
14
- # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
13
+ # @return [String] The date and time of the end of the Scheduled Delivery window, in ISO 8601 date time format.
15
14
  attribute(:end_date, String, null: false, from: "endDate")
16
15
 
17
- # @return [String] The date and time of the start of the Scheduled Delivery window. Must be in
18
- # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
16
+ # @return [String] The date and time of the start of the Scheduled Delivery window, in ISO 8601 date time
17
+ # format.
19
18
  attribute(:start_date, String, null: false, from: "startDate")
20
19
  end
21
20
  end
@@ -7,17 +7,19 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class FulfillmentOutbound20200701
10
- # The preferred location to leave packages at the destination address.
10
+ # The drop-off location at the destination address.
11
11
  DropOffLocation = Structure.new do
12
- # @return [String] Specifies the preferred location to leave the package at the destination address.
12
+ # @return [String] The drop-off location type at the destination address.
13
13
  attribute(:type, String, null: false)
14
14
 
15
- # @return [Hash] Additional information about the drop-off location that can vary depending on the type of
16
- # drop-off location specified in the `type` field.
17
- # If the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys
15
+ # @return [Hash] Additional information about the drop-off location. This information can vary depending on the
16
+ # type of drop-off location specified in the `type` field.
17
+ #
18
+ # If the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object must include the keys
18
19
  # `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor.
19
- # For `RECEPTIONIST`, `MAIL_ROOM_CLERK`, and `AS_INSTRUCTED` types, the `attributes` object will include a
20
- # `recipientName` field containing the name of the person who received the package.
20
+ #
21
+ # For `RECEPTIONIST` type, the `attributes` object may include a `recipientName` field that contains the name of
22
+ # the person who received or will receive the package.
21
23
  attribute?(:attributes, Hash)
22
24
  end
23
25
  end
@@ -13,7 +13,9 @@ module Peddler
13
13
  # orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no
14
14
  # alternative carriers available. Using `BLOCK_AMZL` in an order request will take precedence over your Seller
15
15
  # Central account setting. To ship in non-Amazon branded packaging (blank boxes), set `featureName` to
16
- # `BLANK_BOX`. To require a signature from the recipient upon delivery, set `featureName` to
16
+ # `BLANK_BOX`. To require items to be shipped in an overbox rather than in their original product packaging, set
17
+ # `featureName` to `OVERBOX`. To require a packing slip to be included with the order, set `featureName` to
18
+ # `PACKING_SLIP`. To require a signature from the recipient upon delivery, set `featureName` to
17
19
  # `SIGNATURE_CONFIRMATION`. Note that using signature confirmation features will incur additional fees on MCF
18
20
  # orders and are currently supported only in the US marketplace. To ensure all items in an order are delivered
19
21
  # together, set `featureName` to `DELIVER_TOGETHER`.
@@ -28,6 +30,8 @@ module Peddler
28
30
  # unfulfilled or delayed deliveries if alternative carriers are unavailable. Using `BLOCK_AMZL` in an order
29
31
  # request will take precedence over your Seller Central account setting.
30
32
  # - `BLANK_BOX`: Ships orders in non-Amazon branded packaging (blank boxes).
33
+ # - `OVERBOX`: Requires items to be shipped in an overbox rather than in their original product packaging.
34
+ # - `PACKING_SLIP`: Requires a packing slip to be included with the order.
31
35
  # - `SIGNATURE_CONFIRMATION`: Requires a signature from the recipient upon delivery.
32
36
  # - Note: Using signature confirmation features will incur additional fees on MCF orders and are currently
33
37
  # supported only in the US marketplace.
@@ -19,7 +19,7 @@ module Peddler
19
19
  # @return [Array<String>] Other seller SKUs that are shared across the same inventory.
20
20
  attribute?(:overlapping_skus, [String], from: "overlappingSkus")
21
21
 
22
- # @return [String] Used to identify an item in the given marketplace. `SellerSKU` is qualified by the seller's
22
+ # @return [String] Used to identify an item in the given marketplace. SellerSKU is qualified by the seller's
23
23
  # SellerId, which is included with every operation that you submit.
24
24
  attribute?(:seller_sku, String, from: "sellerSku")
25
25
 
@@ -39,8 +39,8 @@ module Peddler
39
39
  # @return [String]
40
40
  attribute(:shipping_speed_category, String, null: false, from: "shippingSpeedCategory")
41
41
 
42
- # @return [String] The date and time that the status of the fulfillment order last changed. Must be in
43
- # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
42
+ # @return [String] The date and time that the status of the fulfillment order last changed, in ISO 8601 date
43
+ # time format.
44
44
  attribute(:status_updated_date, String, null: false, from: "statusUpdatedDate")
45
45
 
46
46
  # @return [CODSettings]
@@ -15,16 +15,16 @@ module Peddler
15
15
  # @return [String] The earliest date that the shipment is expected to arrive at its destination.
16
16
  attribute?(:earliest_arrival_date, String, from: "earliestArrivalDate")
17
17
 
18
- # @return [String] The earliest date that the shipment is expected to be sent from the fulfillment center. Must
19
- # be in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
18
+ # @return [String] The earliest date that the shipment is expected to be sent from the fulfillment center, in
19
+ # ISO 8601 date time format.
20
20
  attribute?(:earliest_ship_date, String, from: "earliestShipDate")
21
21
 
22
- # @return [String] The latest date that the shipment is expected to arrive at its destination. Must be in
23
- # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
22
+ # @return [String] The latest date that the shipment is expected to arrive at its destination, in ISO 8601 date
23
+ # time format.
24
24
  attribute?(:latest_arrival_date, String, from: "latestArrivalDate")
25
25
 
26
- # @return [String] The latest date that the shipment is expected to be sent from the fulfillment center. Must be
27
- # in {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
26
+ # @return [String] The latest date that the shipment is expected to be sent from the fulfillment center, in ISO
27
+ # 8601 date time format.
28
28
  attribute?(:latest_ship_date, String, from: "latestShipDate")
29
29
 
30
30
  # @return [Array<String>] Provides additional insight into the shipment timeline when exact delivery dates are
@@ -19,12 +19,11 @@ module Peddler
19
19
  # delivery information.
20
20
  attribute?(:amazon_fulfillment_tracking_number, String, from: "amazonFulfillmentTrackingNumber")
21
21
 
22
- # @return [DeliveryInformation] The delivery information for the package. This information is available after
23
- # the package is delivered.
22
+ # @return [DeliveryInformation] The delivery information of the package, this information is only available post
23
+ # package delivery to its intended destination.
24
24
  attribute?(:delivery_information, DeliveryInformation, from: "deliveryInformation")
25
25
 
26
- # @return [String] The estimated arrival date and time of the package. Must be in
27
- # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
26
+ # @return [String] The estimated arrival date and time of the package, in ISO 8601 date time format.
28
27
  attribute?(:estimated_arrival_date, String, from: "estimatedArrivalDate")
29
28
 
30
29
  # @return [LockerDetails] The locker details, if provided can be used to access locker delivery box.
@@ -9,7 +9,7 @@ module Peddler
9
9
  class FulfillmentOutbound20200701
10
10
  # The breakdown of eligibility inventory by feature.
11
11
  GetFeatureInventoryResponse = Structure.new do
12
- # @return [Array<Error>] One or more unexpected errors occurred during the `getFeatureInventory` operation.
12
+ # @return [Array<Error>] One or more unexpected errors occurred during the getFeatureInventory operation.
13
13
  attribute?(:errors, [Error])
14
14
 
15
15
  # @return [GetFeatureInventoryResult]
@@ -18,6 +18,12 @@ module Peddler
18
18
  # @return [String] The requested marketplace.
19
19
  attribute(:marketplace_id, String, null: false, from: "marketplaceId")
20
20
 
21
+ # @return [String] The Amazon Standard Identification Number (ASIN) of the item.
22
+ attribute?(:asin, String)
23
+
24
+ # @return [String] The unique SKU used by Amazon's fulfillment network.
25
+ attribute?(:fn_sku, String, from: "fnSku")
26
+
21
27
  # @return [Array<String>] A list of one or more reasons that the seller SKU is ineligible for the feature.
22
28
  #
23
29
  # Possible values:
@@ -26,9 +32,12 @@ module Peddler
26
32
  # * `INVALID_SKU`: There is an issue with the SKU provided.
27
33
  attribute?(:ineligible_reasons, [String], from: "ineligibleReasons")
28
34
 
29
- # @return [FeatureSKU] Information about the SKU, including the count available, identifiers, and a list of
30
- # overlapping SKUs that share the same inventory pool.
31
- attribute?(:sku_info, FeatureSKU, from: "skuInfo")
35
+ # @return [String] Used to identify an item in the given marketplace. SellerSKU is qualified by the seller's
36
+ # SellerId, which is included with every operation that you submit.
37
+ attribute?(:seller_sku, String, from: "sellerSku")
38
+
39
+ # @return [Float] The number of SKUs available for this service.
40
+ attribute?(:sku_count, Float, from: "skuCount")
32
41
  end
33
42
  end
34
43
  end
@@ -9,7 +9,8 @@ module Peddler
9
9
  class FulfillmentOutbound20200701
10
10
  # The origin for the delivery offer.
11
11
  Origin = Structure.new do
12
- # @return [String] The two digit country code the items should ship from. In ISO 3166-1 alpha-2 format.
12
+ # @return [String] The two-digit country code (in ISO 3166-1 alpha-2 format) for the country where the items
13
+ # will ship from.
13
14
  attribute(:country_code, String, null: false, from: "countryCode")
14
15
  end
15
16
  end
@@ -15,8 +15,7 @@ module Peddler
15
15
  # @return [String] The event code for the delivery event.
16
16
  attribute(:event_code, String, null: false, from: "eventCode")
17
17
 
18
- # @return [String] The date and time that the delivery event took place. Must be in
19
- # {https://developer-docs.amazon.com/sp-api/docs/iso-8601 ISO 8601} format.
18
+ # @return [String] The date and time that the delivery event took place, in ISO 8601 date time format.
20
19
  attribute(:event_date, String, null: false, from: "eventDate")
21
20
 
22
21
  # @return [String] A description for the corresponding event code.
@@ -9,7 +9,7 @@ module Peddler
9
9
  class ListingsRestrictions20210801
10
10
  # A list of restrictions for the specified Amazon catalog item.
11
11
  RestrictionList = Structure.new do
12
- # @return [Array<Restriction>]
12
+ # @return [Array<Restriction>] A list of restrictions.
13
13
  attribute(:restrictions, [Restriction], null: false)
14
14
  end
15
15
  end
@@ -25,10 +25,12 @@ module Peddler
25
25
  # @param reason_locale [String] A locale for reason text localization. When not provided, the default language
26
26
  # code of the first marketplace is used. Examples: "en_US", "fr_CA", "fr_FR". Localized messages default to
27
27
  # "en_US" when a localization is not available in the specified locale.
28
+ # @param product_type [String] The product type of the item. When provided with the brand name, the API evaluates
29
+ # GTIN exemption restrictions in addition to brand restrictions for the specified product type.
28
30
  # @param rate_limit [Float] Requests per second
29
31
  # @return [Peddler::Response] The API response
30
32
  def get_listings_restrictions(asin, seller_id, marketplace_ids, condition_type: nil, reason_locale: nil,
31
- rate_limit: 5.0)
33
+ product_type: nil, rate_limit: 5.0)
32
34
  path = "/listings/2021-08-01/restrictions"
33
35
  params = {
34
36
  "asin" => asin,
@@ -36,6 +38,7 @@ module Peddler
36
38
  "sellerId" => seller_id,
37
39
  "marketplaceIds" => stringify_array(marketplace_ids),
38
40
  "reasonLocale" => reason_locale,
41
+ "productType" => product_type,
39
42
  }.compact
40
43
  parser = -> { RestrictionList }
41
44
  get(path, params:, rate_limit:, parser:)
@@ -7,8 +7,8 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class NotificationsV1
10
- # A filter used to select the aggregation time period at which to send notifications (for example: limit to one
11
- # notification every five minutes for high frequency notifications).
10
+ # A filter you can use to select the aggregation time period at which to send notifications (for example, limit to
11
+ # one notification every five minutes for high frequency notifications).
12
12
  AggregationFilter = Structure.new do
13
13
  # @return [AggregationSettings]
14
14
  attribute?(:aggregation_settings, AggregationSettings, from: "aggregationSettings")
@@ -7,7 +7,7 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class NotificationsV1
10
- # Information about the destination created when you call the `createDestination` operation.
10
+ # Information about the destination you create when you call the `createDestination` operation.
11
11
  Destination = Structure.new do
12
12
  # @return [String] The destination identifier generated when you created the destination.
13
13
  attribute(:destination_id, String, null: false, from: "destinationId")
@@ -16,8 +16,8 @@ module Peddler
16
16
  # @return [String] The name of the partner event source associated with the destination.
17
17
  attribute(:name, String, null: false)
18
18
 
19
- # @return [String] The AWS region in which you receive the notifications. For AWS regions that are supported in
20
- # Amazon EventBridge, refer to [Amazon EventBridge endpoints and
19
+ # @return [String] The AWS region in which you receive the notifications. For AWS regions that Amazon
20
+ # EventBridge supports, refer to [Amazon EventBridge endpoints and
21
21
  # quotas](https://docs.aws.amazon.com/general/latest/gr/ev.html).
22
22
  attribute(:region, String, null: false)
23
23
  end
@@ -7,13 +7,13 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class NotificationsV1
10
- # A `notificationType` specific filter. This object contains all of the currently available filters and properties
11
- # that you can use to define a `notificationType` specific filter.
10
+ # A `notificationType` filter. This object contains all of the available filters and properties that you can use
11
+ # to define a `notificationType` specific filter.
12
12
  EventFilter = Structure.new do
13
- # @return [String] An `eventFilterType` value that is supported by the specific `notificationType`. This is used
14
- # by the subscription service to determine the type of event filter. Refer to [Notification Type
15
- # Values](https://developer-docs.amazon.com/sp-api/docs/notification-type-values) to determine if an
16
- # `eventFilterType` is supported.
13
+ # @return [String] An `eventFilterType` value that the `notificationType` supports. The subscription service
14
+ # uses the `eventFilterType` to determine the type of event filter. To determine if a specific
15
+ # `notificationType` supports an `eventFilterType`, refer to [Notification Type Values](
16
+ # https://developer-docs.amazon.com/sp-api/docs/notification-type-values).
17
17
  attribute(:event_filter_type, String, null: false, from: "eventFilterType")
18
18
 
19
19
  # @return [AggregationSettings]
@@ -7,7 +7,7 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class NotificationsV1
10
- # An event filter to customize your subscription to send notifications for only the specified `marketplaceId`s.
10
+ # An event filter you can use to customize your subscription to send notifications for specific `marketplaceId`s.
11
11
  MarketplaceFilter = Structure.new do
12
12
  # @return [Array<String>]
13
13
  attribute?(:marketplace_ids, [String], from: "marketplaceIds")
@@ -5,8 +5,8 @@
5
5
  module Peddler
6
6
  module APIs
7
7
  class NotificationsV1
8
- # A list of marketplace identifiers to subscribe to (for example: ATVPDKIKX0DER). To receive notifications in
9
- # every marketplace, do not provide this list.
8
+ # A list of marketplace identifiers you can subscribe to (for example, `ATVPDKIKX0DER`). To receive notifications
9
+ # in every marketplace, do not provide this list.
10
10
  class MarketplaceIds < Array
11
11
  class << self
12
12
  def parse(array)
@@ -7,7 +7,8 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class NotificationsV1
10
- # An event filter to customize your subscription to send notifications for only the specified `orderChangeType`.
10
+ # An event filter you can use to customize your subscription to send notifications for a specific
11
+ # `orderChangeType`.
11
12
  OrderChangeTypeFilter = Structure.new do
12
13
  # @return [Array<OrderChangeTypeEnum>]
13
14
  attribute?(:order_change_types, Array, from: "orderChangeTypes")
@@ -5,8 +5,8 @@
5
5
  module Peddler
6
6
  module APIs
7
7
  class NotificationsV1
8
- # A list of order change types to subscribe to (for example: `BuyerRequestedChange`). To receive notifications of
9
- # all change types, do not provide this list.
8
+ # A list of order change types you can subscribe to (for example, `BuyerRequestedChange`). To receive
9
+ # notifications of all change types, do not provide this list.
10
10
  class OrderChangeTypes < Array
11
11
  class << self
12
12
  def parse(array)
@@ -8,15 +8,26 @@ module Peddler
8
8
  module APIs
9
9
  class NotificationsV1
10
10
  # Additional information passed to the subscription to control the processing of notifications. For example, you
11
- # can use an `eventFilter` to customize your subscription to send notifications for only the specified
12
- # `marketplaceId`s, or select the aggregation time period at which to send notifications (for example: limit to
13
- # one notification every five minutes for high frequency notifications). The specific features available vary
14
- # depending on the `notificationType`.
15
- #
16
- # This feature is currently only supported by the `ANY_OFFER_CHANGED` and `ORDER_CHANGE` `notificationType`s.
11
+ # can use an `eventFilter` to customize your subscription to send notifications for only the `marketplaceId`s that
12
+ # you specify, or select the aggregation time period at which to send notifications (for example, you can set a
13
+ # limit of one notification every five minutes for high frequency notifications). You can also use
14
+ # `filterExpression` to filter events based on notification payload. The specific features available can vary by
15
+ # the `notificationType`.
17
16
  ProcessingDirective = Structure.new do
18
- # @return [EventFilter] A `notificationType` specific filter.
17
+ # @return [EventFilter] A `notificationType` filter. Note: eventFilter and filterExpression are mutually
18
+ # exclusive, meaning if eventFilter is provided, filterExpression field cannot be used.
19
19
  attribute?(:event_filter, EventFilter, from: "eventFilter")
20
+
21
+ # @return [String] An expression for filtering events before delivery to destination based on the notification
22
+ # payload (example: FulfillmentOrderStatusNotification.FulfillmentOrderStatus == `SHIPPED` ). The
23
+ # `filterExpression` is a string that follows the CEL expression syntax (https://github.com/google/cel-spec)
24
+ # excluding arithmetic operators (+, -, *, /, %) and list/map indexing ([]). Refer to Notification Type Values
25
+ # to determine if filter Expression is supported for a Notification Type. Refer to CEL Operators
26
+ # (https://developer-docs.amazon.com/sp-api/docs/filter-notification-subscriptions) to see if a CEL operator
27
+ # is supported.
28
+ # Note: eventFilter and filterExpression are mutually exclusive. You can use filterExpression to replace
29
+ # existing eventFilter configurations.
30
+ attribute?(:filter_expression, String, from: "filterExpression")
20
31
  end
21
32
  end
22
33
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated. Do not edit.
4
+
5
+ require "structure"
6
+
7
+ module Peddler
8
+ module APIs
9
+ class NotificationsV1
10
+ # The request schema for the `sendTestNotification` operation.
11
+ SendTestNotificationRequest = Structure.new do
12
+ # @return [String] The identifier for the destination where notifications will be delivered.
13
+ attribute?(:destination_id, String, from: "destinationId")
14
+
15
+ # @return [TestNotification]
16
+ attribute?(:test_notification, TestNotification, from: "testNotification")
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated. Do not edit.
4
+
5
+ require "structure"
6
+
7
+ module Peddler
8
+ module APIs
9
+ class NotificationsV1
10
+ # The response schema for the `sendTestNotification` operation.
11
+ SendTestNotificationResponse = Structure.new do
12
+ # @return [Array<Error>] One or more unexpected errors occurred during the `sendTestNotification` operation.
13
+ attribute?(:errors, [Error])
14
+
15
+ # @return [String] The payload for the `sendTestNotification` operation.
16
+ attribute?(:payload, String)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated. Do not edit.
4
+
5
+ require "structure"
6
+
7
+ module Peddler
8
+ module APIs
9
+ class NotificationsV1
10
+ # The describer for the test notification that will be delivered.
11
+ TestNotification = Structure.new do
12
+ # @return [String] The version of the payload object to be used in the notification.
13
+ attribute(:payload_version, String, null: false, from: "payloadVersion")
14
+
15
+ # @return [String] The scenario of the specified notification to be used in the notification payload. If
16
+ # testScenario is empty, a 400 response will be returned back to the developer. The scenarios supported for
17
+ # each notification type can be found in the Selling Partner API Developer Guide.
18
+ attribute?(:test_scenario, String, from: "testScenario")
19
+ end
20
+ end
21
+ end
22
+ end