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
@@ -0,0 +1,19 @@
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 Orders20260101
10
+ # Whether serial numbers must be provided for this line item.
11
+ SerialNumberRequirement = Structure.new do
12
+ # @return [String] The requirement type for this request.
13
+ #
14
+ # **Possible values**: `REQUIRED`
15
+ attribute?(:requirement_type, String, from: "requirementType")
16
+ end
17
+ end
18
+ end
19
+ 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 Orders20260101
10
+ # An additional attribute associated with a tax registration.
11
+ TaxRegistrationAttribute = Structure.new do
12
+ # @return [String] The name of the tax registration attribute.
13
+ #
14
+ # **Possible values**: `TAX_OFFICE`
15
+ attribute?(:key, String)
16
+
17
+ # @return [String] The value of the tax registration attribute.
18
+ attribute?(:value, String)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -15,8 +15,8 @@ module Peddler
15
15
  #
16
16
  # @see https://github.com/amzn/selling-partner-api-models/blob/main/models/orders-api-model/orders_2026-01-01.json
17
17
  class Orders20260101 < API
18
- # Returns orders that are created or updated during the time period that you specify. You can filter the response
19
- # for specific types of orders.
18
+ # Returns orders created or updated during the time period that you specify. You can filter the response for
19
+ # specific types of orders.
20
20
  #
21
21
  # @note This operation can make a static sandbox call.
22
22
  # @param created_after [String] The response includes orders created at or after this time. The date must be in
@@ -28,14 +28,14 @@ module Peddler
28
28
  # `createdAfter` in the request, `createdBefore` is optional, and if provided must be equal to or after the
29
29
  # `createdAfter` date and at least two minutes before the time of the request. If `createdBefore` is provided,
30
30
  # neither `lastUpdatedAfter` nor `lastUpdatedBefore` may be provided.
31
- # @param last_updated_after [String] The response includes orders updated at or after this time. An update is
32
- # defined as any change made by Amazon or by the seller, including an update to the order status. The date must
33
- # be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) format. **Note**: You must provide
34
- # exactly one of `createdAfter` and `lastUpdatedAfter`. If `lastUpdatedAfter` is provided, neither
35
- # `createdAfter` nor `createdBefore` may be provided.
31
+ # @param last_updated_after [String] The response includes orders updated at or after this time. An update is any
32
+ # change made by Amazon or the seller, including changes to order status. The date must be in [ISO
33
+ # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) format. **Note**: You must provide exactly one
34
+ # of `createdAfter` and `lastUpdatedAfter`. If `lastUpdatedAfter` is provided, neither `createdAfter` nor
35
+ # `createdBefore` may be provided.
36
36
  # @param last_updated_before [String] The response includes orders updated at or before this time. An update is
37
- # defined as any change made by Amazon or by the seller, including an update to the order status. The date must
38
- # be in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) format. **Note**: If you include
37
+ # any change made by Amazon or the seller, including changes to order status. The date must be in [ISO
38
+ # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) format. **Note**: If you include
39
39
  # `lastUpdatedAfter` in the request, `lastUpdatedBefore` is optional, and if provided must be equal to or after
40
40
  # the `lastUpdatedAfter` date and at least two minutes before the time of the request. If `lastUpdatedBefore` is
41
41
  # provided, neither `createdAfter` nor `createdBefore` may be provided.
@@ -53,10 +53,11 @@ module Peddler
53
53
  # you must pass the `nextToken` value as the `paginationToken` query parameter in the next request. You will not
54
54
  # receive a `nextToken` value on the last page.
55
55
  # @param included_data [Array<String>] A list of datasets to include in the response.
56
+ # @param rate_limit [Float] Requests per second
56
57
  # @return [Peddler::Response] The API response
57
58
  def search_orders(created_after: nil, created_before: nil, last_updated_after: nil, last_updated_before: nil,
58
59
  fulfillment_statuses: nil, marketplace_ids: nil, fulfilled_by: nil, max_results_per_page: nil,
59
- pagination_token: nil, included_data: nil)
60
+ pagination_token: nil, included_data: nil, rate_limit: 0.0056)
60
61
  path = "/orders/2026-01-01/orders"
61
62
  params = {
62
63
  "createdAfter" => created_after,
@@ -71,7 +72,7 @@ module Peddler
71
72
  "includedData" => stringify_array(included_data),
72
73
  }.compact
73
74
  parser = -> { SearchOrdersResponse }
74
- get(path, params:, parser:)
75
+ get(path, params:, rate_limit:, parser:)
75
76
  end
76
77
 
77
78
  # Returns the order that you specify.
@@ -79,14 +80,15 @@ module Peddler
79
80
  # @note This operation can make a static sandbox call.
80
81
  # @param order_id [String] An Amazon-defined order identifier.
81
82
  # @param included_data [Array<String>] A list of datasets to include in the response.
83
+ # @param rate_limit [Float] Requests per second
82
84
  # @return [Peddler::Response] The API response
83
- def get_order(order_id, included_data: nil)
85
+ def get_order(order_id, included_data: nil, rate_limit: 0.5)
84
86
  path = "/orders/2026-01-01/orders/#{percent_encode(order_id)}"
85
87
  params = {
86
88
  "includedData" => stringify_array(included_data),
87
89
  }.compact
88
90
  parser = -> { GetOrderResponse }
89
- get(path, params:, parser:)
91
+ get(path, params:, rate_limit:, parser:)
90
92
  end
91
93
  end
92
94
  end
@@ -38,10 +38,10 @@ module Peddler
38
38
  # @return [String] The district.
39
39
  attribute?(:district, String, from: "District")
40
40
 
41
- # @return [AddressExtendedFields] The container for address extended fields. For example, street name or street
42
- # number.
41
+ # @return [AddressExtendedFields] Extended address fields for additional address components including the street
42
+ # name or number.
43
43
  #
44
- # **Note**: This attribute is currently only available with Brazil shipping addresses.
44
+ # Note: Available for grocery sellers and Brazil shipping addresses.
45
45
  attribute?(:extended_fields, AddressExtendedFields, from: "ExtendedFields")
46
46
 
47
47
  # @return [String] The municipality.
@@ -7,12 +7,19 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class OrdersV0
10
- # The container for address extended fields (such as `street name` and `street number`). Currently only available
11
- # with Brazil shipping addresses.
10
+ # Extended address fields for additional address components including the street name or number.
11
+ #
12
+ # Note: Available for grocery sellers and Brazil shipping addresses.
12
13
  AddressExtendedFields = Structure.new do
13
14
  # @return [String] The floor number/unit number in the building/private house number.
14
15
  attribute?(:complement, String, from: "Complement")
15
16
 
17
+ # @return [GeoCoordinates] Latitude and longitude coordinates for the shipping address using the WGS84
18
+ # coordinate system.
19
+ #
20
+ # Note: Available for sellers that support geographic coordinates.
21
+ attribute?(:geo_coordinates, GeoCoordinates, from: "GeoCoordinates")
22
+
16
23
  # @return [String] The neighborhood. This value is only used in some countries (such as Brazil).
17
24
  attribute?(:neighborhood, String, from: "Neighborhood")
18
25
 
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated. Edit template if necessary.
4
+
5
+ module Peddler
6
+ module APIs
7
+ class OrdersV0
8
+ # Pre-approved alternative product attributes available for a rejected order. Each element contains an attribute
9
+ # name, its original value from the rejected order, and the corrected value that would result in approval (for
10
+ # example, a substituted `asin` or adjusted `petWeight`).
11
+ class ApprovedAlternativeDetails < Array
12
+ class << self
13
+ def parse(array)
14
+ new(array.map { |item| ApprovedAttribute.parse(item) })
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,23 @@
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 OrdersV0
10
+ # An order attribute with its original value and the pre-approved alternative value suggested by the vet.
11
+ ApprovedAttribute = Structure.new do
12
+ # @return [String] The pre-approved value that would result in order approval.
13
+ attribute(:approved_value, String, null: false, from: "approvedValue")
14
+
15
+ # @return [String] The name of the attribute requiring correction (for example, `asin`, `petWeight`).
16
+ attribute(:attribute_name, String, null: false, from: "attributeName")
17
+
18
+ # @return [String] The original value of the attribute in the rejected order.
19
+ attribute(:original_value, String, null: false, from: "originalValue")
20
+ end
21
+ end
22
+ end
23
+ end
@@ -14,6 +14,9 @@ module Peddler
14
14
  # **Note**: This attribute is only available in the Brazil marketplace.
15
15
  attribute?(:buyer_county, String, from: "BuyerCounty")
16
16
 
17
+ # @return [String] The anonymized email address of the buyer.
18
+ attribute?(:buyer_email, String, from: "BuyerEmail")
19
+
17
20
  # @return [String] The buyer name or the recipient name.
18
21
  attribute?(:buyer_name, String, from: "BuyerName")
19
22
 
@@ -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 OrdersV0
10
+ # The latitude and longitude coordinates of the shipping address using the WGS84 coordinate system.
11
+ GeoCoordinates = Structure.new do
12
+ # @return [Float] The latitude coordinate of the shipping address using the WGS84 coordinate system.
13
+ attribute?(:latitude, Float, from: "Latitude")
14
+
15
+ # @return [Float] The longitude coordinate of the shipping address using the WGS84 coordinate system.
16
+ attribute?(:longitude, Float, from: "Longitude")
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated. Do not edit.
4
+
5
+ require "structure"
6
+ require "time"
7
+
8
+ module Peddler
9
+ module APIs
10
+ class OrdersV0
11
+ # Interim status information provided during the verification process to share granular progress updates while an
12
+ # order is pending verification (for example, vet contacted through email).
13
+ InterimStatusDetail = Structure.new do
14
+ # @return [String] The identifier for the interim status type. Must be one of the `ValidInterimStatusCodes`
15
+ # values returned by the `getOrderRegulatedInfo` operation.
16
+ attribute(:status_code, String, null: false, from: "statusCode")
17
+
18
+ # @return [Time] The date and time when this interim status was set, in [ISO
19
+ # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date and time format.
20
+ attribute(:status_date_time, Time, null: false, from: "statusDateTime")
21
+ end
22
+ end
23
+ end
24
+ end
@@ -17,6 +17,9 @@ module Peddler
17
17
  # **Note**: This attribute is only available in the Brazil marketplace.
18
18
  attribute?(:buyer_county, String, from: "BuyerCounty")
19
19
 
20
+ # @return [String] The anonymized email address of the buyer.
21
+ attribute?(:buyer_email, String, from: "BuyerEmail")
22
+
20
23
  # @return [String] The buyer name or the recipient name.
21
24
  attribute?(:buyer_name, String, from: "BuyerName")
22
25
 
@@ -31,6 +31,11 @@ module Peddler
31
31
  # 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.
32
32
  attribute?(:review_date, String, from: "ReviewDate")
33
33
 
34
+ # @return [Array<ValidInterimStatusCode>] Valid interim status codes that may be used when populating
35
+ # `InterimStatusDetail`. Each element contains a `StatusCode` identifier and its customer-facing
36
+ # `StatusDescription`.
37
+ attribute?(:valid_interim_status_codes, [ValidInterimStatusCode], from: "ValidInterimStatusCodes")
38
+
34
39
  # @return [Array<ValidVerificationDetail>] A list of valid verification details that may be provided and the
35
40
  # criteria required for when the verification detail can be provided.
36
41
  attribute?(:valid_verification_details, [ValidVerificationDetail], from: "ValidVerificationDetails")
@@ -0,0 +1,21 @@
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 OrdersV0
10
+ # A valid interim status code and its customer-facing description. Available with the `getOrderRegulatedInfo`
11
+ # operation to indicate which status codes can populate the `InterimStatusDetail` field.
12
+ ValidInterimStatusCode = Structure.new do
13
+ # @return [String] The identifier for the interim status type.
14
+ attribute(:status_code, String, null: false, from: "StatusCode")
15
+
16
+ # @return [String] A customer-facing description of the interim status.
17
+ attribute(:status_description, String, null: false, from: "StatusDescription")
18
+ end
19
+ end
20
+ end
21
+ end
@@ -18,7 +18,8 @@ module Peddler
18
18
  attribute(:valid_verification_statuses, Array, null: false, from: "ValidVerificationStatuses")
19
19
 
20
20
  # @return [String] A supported type of verification detail. The type indicates which verification detail could
21
- # be shared while updating the regulated order. Valid value: `prescriptionDetail`.
21
+ # be shared while updating the regulated order. Valid values: `prescriptionDetail`,
22
+ # `approvedAlternativeDetails`, `interimStatusDetail`.
22
23
  attribute(:verification_detail_type, String, null: false, from: "VerificationDetailType")
23
24
  end
24
25
  end
@@ -9,6 +9,14 @@ module Peddler
9
9
  class OrdersV0
10
10
  # Additional information related to the verification of a regulated order.
11
11
  VerificationDetails = Structure.new do
12
+ # @return [Array<ApprovedAttribute>] Pre-approved alternative product attributes provided when a vet rejects an
13
+ # order but suggests a correction. Only valid when the verification status is `Rejected`.
14
+ attribute?(:approved_alternative_details, [ApprovedAttribute], from: "approvedAlternativeDetails")
15
+
16
+ # @return [InterimStatusDetail] Interim status information provided during the verification process. Only valid
17
+ # when the verification status is `Pending`.
18
+ attribute?(:interim_status_detail, InterimStatusDetail, from: "interimStatusDetail")
19
+
12
20
  # @return [PrescriptionDetail] Information regarding the prescription tied to the order.
13
21
  attribute?(:prescription_detail, PrescriptionDetail, from: "prescriptionDetail")
14
22
  end
@@ -61,9 +61,12 @@ module Peddler
61
61
  # @param payment_methods [Array<String>] A list of payment method values. Use this field to select orders that
62
62
  # were paid with the specified payment methods. **Possible values**: `COD` (cash on delivery), `CVS`
63
63
  # (convenience store), `Other` (Any payment method other than COD or CVS).
64
+ # @param buyer_email [String] The email address of a buyer. Used to select orders that contain the specified email
65
+ # address.
64
66
  # @param seller_order_id [String] An order identifier that is specified by the seller. Used to select only the
65
67
  # orders that match the order identifier. If `SellerOrderId` is specified, then `FulfillmentChannels`,
66
- # `OrderStatuses`, `PaymentMethod`, `LastUpdatedAfter`, and `LastUpdatedBefore` cannot be specified.
68
+ # `OrderStatuses`, `PaymentMethod`, `LastUpdatedAfter`, `LastUpdatedBefore`, and `BuyerEmail` cannot be
69
+ # specified.
67
70
  # @param max_results_per_page [Integer] A number that indicates the maximum number of orders that can be returned
68
71
  # per page. Value must be 1 - 100. Default 100.
69
72
  # @param easy_ship_shipment_statuses [Array<String>] A list of `EasyShipShipmentStatus` values. Used to select
@@ -109,7 +112,7 @@ module Peddler
109
112
  # @return [Peddler::Response] The API response
110
113
  def get_orders(marketplace_ids, created_after: nil, created_before: nil, last_updated_after: nil,
111
114
  last_updated_before: nil, order_statuses: nil, fulfillment_channels: nil, payment_methods: nil,
112
- seller_order_id: nil, max_results_per_page: nil, easy_ship_shipment_statuses: nil,
115
+ buyer_email: nil, seller_order_id: nil, max_results_per_page: nil, easy_ship_shipment_statuses: nil,
113
116
  electronic_invoice_statuses: nil, next_token: nil, amazon_order_ids: nil,
114
117
  actual_fulfillment_supply_source_id: nil, is_ispu: nil, store_chain_store_id: nil,
115
118
  earliest_delivery_date_before: nil, earliest_delivery_date_after: nil, latest_delivery_date_before: nil,
@@ -124,6 +127,7 @@ module Peddler
124
127
  "MarketplaceIds" => stringify_array(marketplace_ids),
125
128
  "FulfillmentChannels" => stringify_array(fulfillment_channels),
126
129
  "PaymentMethods" => stringify_array(payment_methods),
130
+ "BuyerEmail" => buyer_email,
127
131
  "SellerOrderId" => seller_order_id,
128
132
  "MaxResultsPerPage" => max_results_per_page,
129
133
  "EasyShipShipmentStatuses" => stringify_array(easy_ship_shipment_statuses),
@@ -28,6 +28,9 @@ module Peddler
28
28
 
29
29
  # @return [Array<ReferencePrice>] A list of reference prices for the specified ASIN `marketplaceId` combination.
30
30
  attribute?(:reference_prices, [ReferencePrice], from: "referencePrices")
31
+
32
+ # @return [Array<SimilarItems>] A list of similar items for the specified ASIN `marketplaceId` combination.
33
+ attribute?(:similar_items, [SimilarItems], from: "similarItems")
31
34
  end
32
35
  end
33
36
  end
@@ -0,0 +1,17 @@
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 ProductPricing20220501
10
+ # A similar item for the specified ASIN `marketplaceId` combination.
11
+ Item = Structure.new do
12
+ # @return [String] The Amazon identifier for the item.
13
+ attribute(:asin, String, null: false)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -10,7 +10,7 @@ module Peddler
10
10
  # The number of Amazon Points that are offered with the purchase of an item and the monetary value of these
11
11
  # points.
12
12
  Points = Structure.new do
13
- # @return [Money] The monetary value of the Amazon Points.
13
+ # @return [Money] The monetary value of Amazon Points.
14
14
  attribute?(:points_monetary_value, Money, from: "pointsMonetaryValue")
15
15
 
16
16
  # @return [Integer] The number of Amazon Points.
@@ -0,0 +1,17 @@
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 ProductPricing20220501
10
+ # The summary of similar items for the specified ASIN `marketplaceId` combination.
11
+ SimilarItems = Structure.new do
12
+ # @return [Array<Item>] A list of similar items for the specified ASIN `marketplaceId` combination.
13
+ attribute?(:items, [Item])
14
+ end
15
+ end
16
+ end
17
+ end
@@ -9,7 +9,7 @@ module Peddler
9
9
  class ProductTypeDefinitions20200901
10
10
  # A list of error responses returned when a request is unsuccessful.
11
11
  ErrorList = Structure.new do
12
- # @return [Array<Error>]
12
+ # @return [Array<Error>] A list of error responses.
13
13
  attribute(:errors, [Error], null: false)
14
14
  end
15
15
  end
@@ -9,7 +9,7 @@ module Peddler
9
9
  class ProductTypeDefinitions20200901
10
10
  # An Amazon product type with a definition available.
11
11
  ProductType = Structure.new do
12
- # @return [String] The human-readable and localized description of the Amazon product type.
12
+ # @return [String] Human-readable and localized description of the Amazon product type.
13
13
  attribute(:display_name, String, null: false, from: "displayName")
14
14
 
15
15
  # @return [Array<String>] The Amazon marketplace identifiers for which the product type definition is available.
@@ -12,7 +12,7 @@ module Peddler
12
12
  # @return [String] Amazon product type version identifier.
13
13
  attribute(:product_type_version, String, null: false, from: "productTypeVersion")
14
14
 
15
- # @return [Array<ProductType>]
15
+ # @return [Array<ProductType>] A list of product types.
16
16
  attribute(:product_types, [ProductType], null: false, from: "productTypes")
17
17
  end
18
18
  end
@@ -7,8 +7,9 @@ require "structure"
7
7
  module Peddler
8
8
  module APIs
9
9
  class ProductTypeDefinitions20200901
10
+ # A link to metadata schema.
10
11
  SchemaLink = Structure.new do
11
- # @return [String] Checksum hash of the schema (Base64 MD5). Can be used to verify schema contents, identify
12
+ # @return [String] Checksum hash of the schema (Base64 MD5). Use this to verify schema contents, identify
12
13
  # changes between schema versions, and for caching.
13
14
  attribute(:checksum, String, null: false)
14
15
 
@@ -22,12 +22,11 @@ module Peddler
22
22
  # @param keywords [Array<String>] A comma-delimited list of keywords to search product types. **Note:** Cannot be
23
23
  # used with `itemName`.
24
24
  # @param marketplace_ids [Array<String>] A comma-delimited list of Amazon marketplace identifiers for the request.
25
- # @param item_name [String] The title of the ASIN to get the product type recommendation. **Note:** Cannot be used
26
- # with `keywords`.
27
- # @param locale [String] The locale for the display names in the response. Defaults to the primary locale of the
28
- # marketplace.
29
- # @param search_locale [String] The locale used for the `keywords` and `itemName` parameters. Defaults to the
30
- # primary locale of the marketplace.
25
+ # @param item_name [String] Title of ASIN to get product type recommendation. **Note:** Cannot be used with
26
+ # `keywords`.
27
+ # @param locale [String] Locale for display names in response. Defaults to primary locale of the marketplace.
28
+ # @param search_locale [String] Language used for `keywords` or `itemName` parameters. Defaults to primary locale
29
+ # of the marketplace.
31
30
  # @param rate_limit [Float] Requests per second
32
31
  # @return [Peddler::Response] The API response
33
32
  def search_definitions_product_types(marketplace_ids, keywords: nil, item_name: nil, locale: nil,
@@ -53,7 +52,7 @@ module Peddler
53
52
  # partner.
54
53
  # @param marketplace_ids [Array<String>] A comma-delimited list of Amazon marketplace identifiers for the request.
55
54
  # Note: This parameter is limited to one marketplaceId at this time.
56
- # @param product_type_version [String] The version of the Amazon product type to retrieve. Defaults to "LATEST",.
55
+ # @param product_type_version [String] The version of the Amazon product type to retrieve. Defaults to "LATEST".
57
56
  # Prerelease versions of product type definitions may be retrieved with "RELEASE_CANDIDATE". If no prerelease
58
57
  # version is currently available, the "LATEST" live version will be provided.
59
58
  # @param requirements [String] The name of the requirements set to retrieve requirements for.
@@ -62,10 +61,14 @@ module Peddler
62
61
  # attributes without all the required attributes being present (such as for partial updates).
63
62
  # @param locale [String] Locale for retrieving display labels and other presentation details. Defaults to the
64
63
  # default language of the first marketplace in the request.
64
+ # @param parentage_level [String] The parentage level of the listing to retrieve a schema for. When provided, the
65
+ # schema is simplified by resolving all conditional logic related to the specified parentage level, resulting in
66
+ # a smaller schema with fewer conditions.
65
67
  # @param rate_limit [Float] Requests per second
66
68
  # @return [Peddler::Response] The API response
67
69
  def get_definitions_product_type(product_type, marketplace_ids, seller_id: nil, product_type_version: "LATEST",
68
- requirements: "LISTING", requirements_enforced: "ENFORCED", locale: "DEFAULT", rate_limit: 5.0)
70
+ requirements: "LISTING", requirements_enforced: "ENFORCED", locale: "DEFAULT", parentage_level: nil,
71
+ rate_limit: 5.0)
69
72
  path = "/definitions/2020-09-01/productTypes/#{percent_encode(product_type)}"
70
73
  params = {
71
74
  "sellerId" => seller_id,
@@ -74,6 +77,7 @@ module Peddler
74
77
  "requirements" => requirements,
75
78
  "requirementsEnforced" => requirements_enforced,
76
79
  "locale" => locale,
80
+ "parentageLevel" => parentage_level,
77
81
  }.compact
78
82
  parser = -> { ProductTypeDefinition }
79
83
  get(path, params:, rate_limit:, parser:)
@@ -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 Replenishment20221107
10
+ # An object which contains the delivery condition and the quantity of upcoming deliveries associated with that
11
+ # condition for an offer.
12
+ DeliveriesCondition = Structure.new do
13
+ # @return [String] The condition type of upcoming deliveries for the offer.
14
+ attribute?(:condition, String)
15
+
16
+ # @return [Integer] The number of upcoming deliveries in the next 30 days associated with this delivery
17
+ # condition.
18
+ attribute?(:next30_days_deliveries, Integer, from: "next30DaysDeliveries")
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,26 @@
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 Replenishment20221107
10
+ # An object which contains the projected subscriber demand for the offer over different time horizons.
11
+ ForecastDeliveries = Structure.new do
12
+ # @return [Integer] The projected number of subscriber deliveries in the next 15 days.
13
+ attribute?(:next15_days_deliveries, Integer, from: "next15DaysDeliveries")
14
+
15
+ # @return [Integer] The projected number of subscriber deliveries in the next 30 days.
16
+ attribute?(:next30_days_deliveries, Integer, from: "next30DaysDeliveries")
17
+
18
+ # @return [Integer] The projected number of subscriber deliveries in the next 60 days.
19
+ attribute?(:next60_days_deliveries, Integer, from: "next60DaysDeliveries")
20
+
21
+ # @return [Integer] The projected number of subscriber deliveries in the next 90 days.
22
+ attribute?(:next90_days_deliveries, Integer, from: "next90DaysDeliveries")
23
+ end
24
+ end
25
+ end
26
+ end
@@ -11,7 +11,7 @@ module Peddler
11
11
  # The request body for the `getSellingPartnerMetrics` operation.
12
12
  GetSellingPartnerMetricsRequest = Structure.new do
13
13
  # @return [String] The marketplace identifier. The supported marketplaces for both sellers and vendors are US,
14
- # CA, ES, UK, FR, IT, IN, DE and JP. The supported marketplaces for vendors only are BR, AU, MX, AE and NL.
14
+ # CA, ES, UK, FR, IT, IN, DE, and JP. The supported marketplaces for vendors only are BR, AU, MX, AE, and NL.
15
15
  # Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) to find the
16
16
  # identifier for the marketplace.
17
17
  attribute(:marketplace_id, String, null: false, from: "marketplaceId")
@@ -28,8 +28,13 @@ module Peddler
28
28
  # @return [String]
29
29
  attribute?(:aggregation_frequency, String, from: "aggregationFrequency")
30
30
 
31
- # @return [Array<Metric>] The list of metrics requested. If no metric value is provided, data for all of the
32
- # metrics will be returned.
31
+ # @return [GetSellingPartnerMetricsRequestFilters] Use these parameters to filter results. Any result must match
32
+ # all provided parameters. For parameters that accept multiple values (arrays), the API returns results that
33
+ # match at least one value in the array.
34
+ attribute?(:filters, GetSellingPartnerMetricsRequestFilters)
35
+
36
+ # @return [Array<Metric>] The list of metrics requested. If no metric value is provided, data for all metrics
37
+ # will be returned.
33
38
  attribute?(:metrics, Array)
34
39
  end
35
40
  end