python-amazon-sp-api 2.0.15__py3-none-any.whl → 2.1.3__py3-none-any.whl

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 (214) hide show
  1. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/METADATA +7 -7
  2. python_amazon_sp_api-2.1.3.dist-info/RECORD +350 -0
  3. sp_api/__version__.py +1 -1
  4. sp_api/api/__init__.py +160 -4
  5. sp_api/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +85 -110
  6. sp_api/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu_2024_05_09.py +456 -0
  7. sp_api/api/aplus_content/aplus_content.py +176 -125
  8. sp_api/api/application_integrations/application_integrations.py +59 -68
  9. sp_api/api/application_management/application_management.py +20 -13
  10. sp_api/api/authorization/authorization.py +8 -26
  11. sp_api/api/catalog/catalog.py +27 -61
  12. sp_api/api/catalog_items/catalog_items.py +108 -78
  13. sp_api/api/catalog_items/catalog_items_2020_12_01.py +86 -0
  14. sp_api/api/catalog_items/catalog_items_2022_04_01.py +89 -0
  15. sp_api/api/customer_feedback/customer_feedback.py +100 -0
  16. sp_api/api/data_kiosk/data_kiosk.py +80 -75
  17. sp_api/api/delivery_by_amazon/__init__.py +0 -0
  18. sp_api/api/delivery_by_amazon/delivery_by_amazon.py +92 -0
  19. sp_api/api/delivery_by_amazon/delivery_by_amazon_2022_07_01.py +81 -0
  20. sp_api/api/easy_ship/easy_ship.py +121 -111
  21. sp_api/api/external_fulfillment/external_fulfillment.py +211 -434
  22. sp_api/api/external_fulfillment/inventory.py +120 -0
  23. sp_api/api/external_fulfillment/inventory_2021_01_06.py +71 -0
  24. sp_api/api/external_fulfillment/inventory_2024_09_11.py +96 -0
  25. sp_api/api/external_fulfillment/returns.py +120 -0
  26. sp_api/api/external_fulfillment/returns_2021_08_19.py +88 -0
  27. sp_api/api/external_fulfillment/returns_2024_09_11.py +141 -0
  28. sp_api/api/external_fulfillment/shipping.py +120 -0
  29. sp_api/api/external_fulfillment/shipping_2021_01_06.py +256 -0
  30. sp_api/api/external_fulfillment/shipping_2024_09_11.py +233 -0
  31. sp_api/api/fba_inbound_eligibility/fba_inbound_eligibility.py +30 -24
  32. sp_api/api/fba_small_and_light/fba_small_and_light.py +60 -99
  33. sp_api/api/feeds/feeds.py +75 -245
  34. sp_api/api/feeds/feeds_2021_06_30.py +320 -0
  35. sp_api/api/finances/finances.py +123 -90
  36. sp_api/api/finances/finances_2024_06_01.py +71 -0
  37. sp_api/api/finances/finances_2024_06_19.py +114 -0
  38. sp_api/api/finances/finances_v0.py +116 -0
  39. sp_api/api/fulfillment_inbound/fulfillment_inbound.py +107 -1784
  40. sp_api/api/fulfillment_inbound/fulfillment_inbound_2024_03_20.py +1722 -0
  41. sp_api/api/fulfillment_inbound/fulfillment_inbound_v0.py +1384 -0
  42. sp_api/api/fulfillment_outbound/fulfillment_outbound.py +256 -480
  43. sp_api/api/inventories/inventories.py +79 -42
  44. sp_api/api/invoices/__init__.py +0 -0
  45. sp_api/api/invoices/invoices.py +92 -0
  46. sp_api/api/invoices/invoices_2024_06_19.py +344 -0
  47. sp_api/api/listings_items/listings_items.py +110 -163
  48. sp_api/api/listings_items/listings_items_2020_09_01.py +189 -0
  49. sp_api/api/listings_items/listings_items_2021_08_01.py +233 -0
  50. sp_api/api/listings_restrictions/listings_restrictions.py +23 -10
  51. sp_api/api/merchant_fulfillment/merchant_fulfillment.py +107 -222
  52. sp_api/api/messaging/messaging.py +184 -198
  53. sp_api/api/notifications/notifications.py +144 -106
  54. sp_api/api/orders/orders.py +9 -46
  55. sp_api/api/orders/orders_2026_01_01.py +19 -65
  56. sp_api/api/orders/orders_v0.py +152 -184
  57. sp_api/api/product_fees/product_fees.py +101 -75
  58. sp_api/api/product_type_definitions/product_type_definitions.py +47 -36
  59. sp_api/api/products/products.py +94 -386
  60. sp_api/api/products/products_2022_05_01.py +96 -0
  61. sp_api/api/products/products_v0.py +389 -0
  62. sp_api/api/replenishment/replenishment.py +58 -69
  63. sp_api/api/reports/reports.py +124 -157
  64. sp_api/api/sales/sales.py +22 -39
  65. sp_api/api/seller_wallet/__init__.py +0 -0
  66. sp_api/api/seller_wallet/seller_wallet.py +92 -0
  67. sp_api/api/seller_wallet/seller_wallet_2024_03_01.py +300 -0
  68. sp_api/api/sellers/sellers.py +15 -35
  69. sp_api/api/services/services.py +479 -82
  70. sp_api/api/shipment_invoicing/__init__.py +0 -0
  71. sp_api/api/shipment_invoicing/shipment_invoicing.py +92 -0
  72. sp_api/api/shipment_invoicing/shipment_invoicing_v0.py +101 -0
  73. sp_api/api/shipping/shipping.py +94 -440
  74. sp_api/api/shipping/shippingV2.py +183 -474
  75. sp_api/api/shipping/shipping_v1.py +330 -0
  76. sp_api/api/shipping/shipping_v2.py +723 -0
  77. sp_api/api/solicitations/solicitations.py +28 -18
  78. sp_api/api/supply_sources/supply_sources.py +67 -57
  79. sp_api/api/tokens/tokens.py +14 -35
  80. sp_api/api/vehicles/__init__.py +0 -0
  81. sp_api/api/vehicles/vehicles.py +92 -0
  82. sp_api/api/vehicles/vehicles_2024_11_01.py +33 -0
  83. sp_api/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +16 -29
  84. sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +116 -189
  85. sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_2021_12_28.py +114 -0
  86. sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_v1.py +114 -0
  87. sp_api/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +15 -225
  88. sp_api/api/vendor_direct_fulfillment_sandbox_test_data/__init__.py +0 -0
  89. sp_api/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data.py +92 -0
  90. sp_api/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.py +50 -0
  91. sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +122 -624
  92. sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_2021_12_28.py +390 -0
  93. sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_v1.py +320 -0
  94. sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +113 -29
  95. sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_2021_12_28.py +47 -0
  96. sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_v1.py +47 -0
  97. sp_api/api/vendor_invoices/vendor_invoices.py +15 -264
  98. sp_api/api/vendor_orders/vendor_orders.py +83 -131
  99. sp_api/api/vendor_shipments/vendor_shipments.py +149 -68
  100. sp_api/api/vendor_transaction_status/vendor_transaction_status.py +16 -11
  101. sp_api/asyncio/api/__init__.py +159 -4
  102. sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +84 -110
  103. sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu_2024_05_09.py +457 -0
  104. sp_api/asyncio/api/aplus_content/aplus_content.py +176 -125
  105. sp_api/asyncio/api/application_integrations/application_integrations.py +59 -68
  106. sp_api/asyncio/api/application_management/application_management.py +20 -13
  107. sp_api/asyncio/api/authorization/authorization.py +8 -26
  108. sp_api/asyncio/api/catalog/catalog.py +27 -61
  109. sp_api/asyncio/api/catalog_items/catalog_items.py +94 -71
  110. sp_api/asyncio/api/catalog_items/catalog_items_2020_12_01.py +87 -0
  111. sp_api/asyncio/api/catalog_items/catalog_items_2022_04_01.py +90 -0
  112. sp_api/asyncio/api/customer_feedback/customer_feedback.py +100 -0
  113. sp_api/asyncio/api/data_kiosk/data_kiosk.py +80 -75
  114. sp_api/asyncio/api/delivery_by_amazon/__init__.py +0 -0
  115. sp_api/asyncio/api/delivery_by_amazon/delivery_by_amazon.py +92 -0
  116. sp_api/asyncio/api/delivery_by_amazon/delivery_by_amazon_2022_07_01.py +82 -0
  117. sp_api/asyncio/api/easy_ship/easy_ship.py +121 -111
  118. sp_api/asyncio/api/external_fulfillment/external_fulfillment.py +212 -435
  119. sp_api/asyncio/api/external_fulfillment/inventory.py +126 -0
  120. sp_api/asyncio/api/external_fulfillment/inventory_2021_01_06.py +73 -0
  121. sp_api/asyncio/api/external_fulfillment/inventory_2024_09_11.py +98 -0
  122. sp_api/asyncio/api/external_fulfillment/returns.py +124 -0
  123. sp_api/asyncio/api/external_fulfillment/returns_2021_08_19.py +90 -0
  124. sp_api/asyncio/api/external_fulfillment/returns_2024_09_11.py +143 -0
  125. sp_api/asyncio/api/external_fulfillment/shipping.py +124 -0
  126. sp_api/asyncio/api/external_fulfillment/shipping_2021_01_06.py +258 -0
  127. sp_api/asyncio/api/external_fulfillment/shipping_2024_09_11.py +235 -0
  128. sp_api/asyncio/api/fba_inbound_eligibility/fba_inbound_eligibility.py +31 -25
  129. sp_api/asyncio/api/fba_small_and_light/fba_small_and_light.py +61 -100
  130. sp_api/asyncio/api/feeds/feeds.py +75 -243
  131. sp_api/asyncio/api/feeds/feeds_2021_06_30.py +318 -0
  132. sp_api/asyncio/api/finances/finances.py +123 -91
  133. sp_api/asyncio/api/finances/finances_2024_06_01.py +72 -0
  134. sp_api/asyncio/api/finances/finances_2024_06_19.py +115 -0
  135. sp_api/asyncio/api/finances/finances_v0.py +117 -0
  136. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound.py +107 -1785
  137. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound_2024_03_20.py +1723 -0
  138. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound_v0.py +1385 -0
  139. sp_api/asyncio/api/fulfillment_outbound/fulfillment_outbound.py +257 -481
  140. sp_api/asyncio/api/inventories/inventories.py +79 -42
  141. sp_api/asyncio/api/invoices/__init__.py +0 -0
  142. sp_api/asyncio/api/invoices/invoices.py +92 -0
  143. sp_api/asyncio/api/invoices/invoices_2024_06_19.py +345 -0
  144. sp_api/asyncio/api/listings_items/listings_items.py +109 -163
  145. sp_api/asyncio/api/listings_items/listings_items_2020_09_01.py +190 -0
  146. sp_api/asyncio/api/listings_items/listings_items_2021_08_01.py +233 -0
  147. sp_api/asyncio/api/listings_restrictions/listings_restrictions.py +23 -10
  148. sp_api/asyncio/api/merchant_fulfillment/merchant_fulfillment.py +110 -222
  149. sp_api/asyncio/api/messaging/messaging.py +185 -199
  150. sp_api/asyncio/api/notifications/notifications.py +145 -107
  151. sp_api/asyncio/api/orders/orders.py +9 -46
  152. sp_api/asyncio/api/orders/orders_2026_01_01.py +19 -65
  153. sp_api/asyncio/api/orders/orders_v0.py +152 -184
  154. sp_api/asyncio/api/product_fees/product_fees.py +101 -75
  155. sp_api/asyncio/api/product_type_definitions/product_type_definitions.py +47 -36
  156. sp_api/asyncio/api/products/products.py +94 -387
  157. sp_api/asyncio/api/products/products_2022_05_01.py +109 -0
  158. sp_api/asyncio/api/products/products_v0.py +388 -0
  159. sp_api/asyncio/api/replenishment/replenishment.py +59 -70
  160. sp_api/asyncio/api/reports/reports.py +124 -157
  161. sp_api/asyncio/api/sales/sales.py +22 -39
  162. sp_api/asyncio/api/seller_wallet/__init__.py +0 -0
  163. sp_api/asyncio/api/seller_wallet/seller_wallet.py +92 -0
  164. sp_api/asyncio/api/seller_wallet/seller_wallet_2024_03_01.py +301 -0
  165. sp_api/asyncio/api/sellers/sellers.py +16 -36
  166. sp_api/asyncio/api/services/services.py +479 -82
  167. sp_api/asyncio/api/shipment_invoicing/__init__.py +0 -0
  168. sp_api/asyncio/api/shipment_invoicing/shipment_invoicing.py +92 -0
  169. sp_api/asyncio/api/shipment_invoicing/shipment_invoicing_v0.py +102 -0
  170. sp_api/asyncio/api/shipping/shipping.py +94 -441
  171. sp_api/asyncio/api/shipping/shippingV2.py +181 -472
  172. sp_api/asyncio/api/shipping/shipping_v1.py +331 -0
  173. sp_api/asyncio/api/shipping/shipping_v2.py +717 -0
  174. sp_api/asyncio/api/solicitations/solicitations.py +29 -19
  175. sp_api/asyncio/api/supply_sources/supply_sources.py +67 -57
  176. sp_api/asyncio/api/tokens/tokens.py +14 -35
  177. sp_api/asyncio/api/vehicles/__init__.py +0 -0
  178. sp_api/asyncio/api/vehicles/vehicles.py +92 -0
  179. sp_api/asyncio/api/vehicles/vehicles_2024_11_01.py +34 -0
  180. sp_api/asyncio/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +16 -29
  181. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +120 -192
  182. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_2021_12_28.py +116 -0
  183. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_v1.py +115 -0
  184. sp_api/asyncio/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +15 -225
  185. sp_api/asyncio/api/vendor_direct_fulfillment_sandbox_test_data/__init__.py +0 -0
  186. sp_api/asyncio/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data.py +92 -0
  187. sp_api/asyncio/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.py +51 -0
  188. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +120 -623
  189. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_2021_12_28.py +392 -0
  190. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_v1.py +321 -0
  191. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +112 -29
  192. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_2021_12_28.py +49 -0
  193. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_v1.py +48 -0
  194. sp_api/asyncio/api/vendor_invoices/vendor_invoices.py +16 -265
  195. sp_api/asyncio/api/vendor_orders/vendor_orders.py +84 -132
  196. sp_api/asyncio/api/vendor_shipments/vendor_shipments.py +150 -69
  197. sp_api/asyncio/api/vendor_transaction_status/vendor_transaction_status.py +17 -12
  198. sp_api/asyncio/base/client.py +2 -2
  199. sp_api/asyncio/util/load_date_bound.py +1 -1
  200. sp_api/base/__init__.py +10 -0
  201. sp_api/base/_core.py +2 -2
  202. sp_api/base/client.py +3 -3
  203. sp_api/base/helpers.py +12 -1
  204. sp_api/base/marketplaces.py +6 -3
  205. sp_api/util/__init__.py +2 -0
  206. sp_api/util/load_date_bound.py +1 -1
  207. sp_api/util/versioned_client.py +45 -0
  208. python_amazon_sp_api-2.0.15.dist-info/RECORD +0 -255
  209. sp_api/asyncio/api/models/__init__.py +0 -4
  210. sp_api/asyncio/api/overrides/__init__.py +0 -1
  211. {python_amazon_sp_api-2.0.15.data → python_amazon_sp_api-2.1.3.data}/scripts/make_endpoint +0 -0
  212. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/WHEEL +0 -0
  213. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/licenses/LICENSE +0 -0
  214. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,96 @@
1
+ from typing import Optional, List, Dict, Union
2
+
3
+ from sp_api.base import ApiResponse, Client, sp_endpoint
4
+ from sp_api.api.products.products_definitions import (
5
+ GetCompetitiveSummaryBatch,
6
+ GetFeaturedOfferExpectedPriceBatch,
7
+ )
8
+
9
+
10
+ class ProductsV20220501(Client):
11
+ """
12
+ :links:
13
+ https://github.com/amzn/selling-partner-api-docs/blob/main/references/product-pricing-api/productPricingV0.md
14
+ https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
15
+ """
16
+
17
+ @sp_endpoint('/batches/products/pricing/2022-05-01/offer/featuredOfferExpectedPrice', method='POST')
18
+ def get_featured_offer_expected_price_batch(self, requests_: Optional[
19
+ Union[List[Dict], GetFeaturedOfferExpectedPriceBatch]], **kwargs) -> ApiResponse:
20
+ """
21
+ get_featured_offer_expected_price_batch(self, requests_, **kwargs) -> ApiResponse
22
+
23
+ Returns the set of responses that correspond to the batched list of up to 40 requests defined in the request body. The response for each successful (HTTP status code 200) request in the set includes the computed listing price at or below which a seller can expect to become the featured offer (before applicable promotions). This is called the featured offer expected price (FOEP). Featured offer is not guaranteed because competing offers might change. Other offers might be featured based on factors such as fulfillment capabilities to a specific customer. The response to an unsuccessful request includes the available error text.
24
+
25
+ **Usage Plan:**
26
+
27
+ ====================================== ==============
28
+ Rate (requests per second) Burst
29
+ ====================================== ==============
30
+ 0.033 1
31
+ ====================================== ==============
32
+
33
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
34
+
35
+ Examples:
36
+ literal blocks::
37
+
38
+ ProductsV20220501().get_featured_offer_expected_price_batch("value")
39
+
40
+ Args:
41
+ getFeaturedOfferExpectedPriceBatchRequestBody: GetFeaturedOfferExpectedPriceBatchRequest | required The batch of `getFeaturedOfferExpectedPrice` requests.
42
+
43
+ Returns:
44
+ ApiResponse
45
+ """
46
+ if isinstance(requests_, GetFeaturedOfferExpectedPriceBatch):
47
+ get_featured_offer_expected_price_batch_request = requests_.to_dict()
48
+ else:
49
+ get_featured_offer_expected_price_batch_request = {"requests": requests_}
50
+
51
+ return self._request(
52
+ kwargs.pop('path'),
53
+ data=get_featured_offer_expected_price_batch_request,
54
+ params={**kwargs},
55
+ add_marketplace=False
56
+ )
57
+
58
+ @sp_endpoint('/batches/products/pricing/2022-05-01/items/competitiveSummary', method='POST')
59
+ def get_competitive_summary_batch(self, requests_: Optional[Union[List[Dict], GetCompetitiveSummaryBatch]], **kwargs) -> ApiResponse:
60
+ """
61
+ get_competitive_summary_batch(self, requests_, **kwargs) -> ApiResponse
62
+
63
+ Returns the competitive summary response, including featured buying options for the ASIN and `marketplaceId` combination.
64
+
65
+ **Usage Plan:**
66
+
67
+ ====================================== ==============
68
+ Rate (requests per second) Burst
69
+ ====================================== ==============
70
+ 0.033 1
71
+ ====================================== ==============
72
+
73
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
74
+
75
+ Examples:
76
+ literal blocks::
77
+
78
+ ProductsV20220501().get_competitive_summary_batch("value")
79
+
80
+ Args:
81
+ requests: CompetitiveSummaryBatchRequest | required The batch of `getCompetitiveSummary` requests.
82
+
83
+ Returns:
84
+ ApiResponse
85
+ """
86
+ if isinstance(requests_, GetCompetitiveSummaryBatch):
87
+ get_competitive_summary_batch_request = requests_.to_dict()
88
+ else:
89
+ get_competitive_summary_batch_request = {"requests": requests_}
90
+
91
+ return self._request(
92
+ kwargs.pop('path'),
93
+ data=get_competitive_summary_batch_request,
94
+ params={**kwargs},
95
+ add_marketplace=False
96
+ )
@@ -0,0 +1,389 @@
1
+ from typing import Optional, List, Dict, Union
2
+
3
+ from sp_api.base import ApiResponse, Client, fill_query_params, sp_endpoint
4
+ from sp_api.api.products.products_definitions import (
5
+ GetItemOffersBatchRequest,
6
+ GetListingOffersBatchRequest,
7
+ )
8
+ from sp_api.util import ensure_csv
9
+
10
+
11
+ class ProductsV0(Client):
12
+ """
13
+ :links:
14
+ https://github.com/amzn/selling-partner-api-docs/blob/main/references/product-pricing-api/productPricingV0.md
15
+ https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
16
+ """
17
+
18
+ @sp_endpoint("/products/pricing/v0/price", method="GET")
19
+ def get_product_pricing_for_skus(
20
+ self, seller_sku_list: [str], item_condition=None, offer_type=None, **kwargs
21
+ ) -> ApiResponse:
22
+ """
23
+ get_product_pricing_for_skus(self, seller_sku_list, item_condition, offer_type, **kwargs) -> ApiResponse
24
+
25
+ Returns pricing information for a seller's offer listings based on seller SKU or ASIN.
26
+
27
+ **Note:** The parameters associated with this operation may contain special characters that require URL encoding to call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).
28
+
29
+ **Usage Plan:**
30
+
31
+ ====================================== ==============
32
+ Rate (requests per second) Burst
33
+ ====================================== ==============
34
+ 0.5 1
35
+ ====================================== ==============
36
+
37
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
38
+
39
+ Examples:
40
+ literal blocks::
41
+
42
+ ProductsV0().get_product_pricing_for_skus("value", "value", "value")
43
+
44
+ Args:
45
+ key MarketplaceId: object | required A marketplace identifier. Specifies the marketplace for which prices are returned.
46
+ key Asins: object | A list of up to twenty Amazon Standard Identification Number (ASIN) values used to identify items in the given marketplace.
47
+ key Skus: object | A list of up to twenty seller SKU values used to identify items in the given marketplace.
48
+ key ItemType: object | required Indicates whether ASIN values or seller SKU values are used to identify items. If you specify Asin, the information in the response will be dependent on the list of Asins you provide in the Asins parameter. If you specify Sku, the information in the response will be dependent on the list of Skus you provide in the Skus parameter.
49
+ key ItemCondition: object | Filters the offer listings based on item condition. Possible values: New, Used, Collectible, Refurbished, Club.
50
+ key OfferType: object | Indicates whether to request pricing information for the seller's B2C or B2B offers. Default is B2C.
51
+
52
+ Returns:
53
+ ApiResponse
54
+ """
55
+ if item_condition is not None:
56
+ kwargs["ItemCondition"] = item_condition
57
+ if offer_type is not None:
58
+ kwargs["OfferType"] = offer_type
59
+
60
+ return self._create_get_pricing_request(seller_sku_list, "Sku", **kwargs)
61
+
62
+ @sp_endpoint("/products/pricing/v0/price", method="GET")
63
+ def get_product_pricing_for_asins(
64
+ self, asin_list: [str], item_condition=None, offer_type=None, **kwargs
65
+ ) -> ApiResponse:
66
+ """
67
+ get_product_pricing_for_asins(self, asin_list, item_condition, offer_type, **kwargs) -> ApiResponse
68
+
69
+ Returns pricing information for a seller's offer listings based on seller SKU or ASIN.
70
+
71
+ **Note:** The parameters associated with this operation may contain special characters that require URL encoding to call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).
72
+
73
+ **Usage Plan:**
74
+
75
+ ====================================== ==============
76
+ Rate (requests per second) Burst
77
+ ====================================== ==============
78
+ 0.5 1
79
+ ====================================== ==============
80
+
81
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
82
+
83
+ Examples:
84
+ literal blocks::
85
+
86
+ ProductsV0().get_product_pricing_for_asins("value", "value", "value")
87
+
88
+ Args:
89
+ key MarketplaceId: object | required A marketplace identifier. Specifies the marketplace for which prices are returned.
90
+ key Asins: object | A list of up to twenty Amazon Standard Identification Number (ASIN) values used to identify items in the given marketplace.
91
+ key Skus: object | A list of up to twenty seller SKU values used to identify items in the given marketplace.
92
+ key ItemType: object | required Indicates whether ASIN values or seller SKU values are used to identify items. If you specify Asin, the information in the response will be dependent on the list of Asins you provide in the Asins parameter. If you specify Sku, the information in the response will be dependent on the list of Skus you provide in the Skus parameter.
93
+ key ItemCondition: object | Filters the offer listings based on item condition. Possible values: New, Used, Collectible, Refurbished, Club.
94
+ key OfferType: object | Indicates whether to request pricing information for the seller's B2C or B2B offers. Default is B2C.
95
+
96
+ Returns:
97
+ ApiResponse
98
+ """
99
+ if item_condition is not None:
100
+ kwargs["ItemCondition"] = item_condition
101
+ if offer_type is not None:
102
+ kwargs["OfferType"] = offer_type
103
+
104
+ return self._create_get_pricing_request(asin_list, "Asin", **kwargs)
105
+
106
+
107
+ @sp_endpoint("/products/pricing/v0/competitivePrice", method="GET")
108
+ def get_competitive_pricing_for_skus(
109
+ self, seller_sku_list: [str], customer_type=None, **kwargs
110
+ ) -> ApiResponse:
111
+ """
112
+ get_competitive_pricing_for_skus(self, seller_sku_list, customer_type, **kwargs) -> ApiResponse
113
+
114
+ Returns competitive pricing information for a seller's offer listings based on seller SKU or ASIN.
115
+
116
+ **Note:** The parameters associated with this operation may contain special characters that require URL encoding to call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).
117
+
118
+ **Usage Plan:**
119
+
120
+ ====================================== ==============
121
+ Rate (requests per second) Burst
122
+ ====================================== ==============
123
+ 0.5 1
124
+ ====================================== ==============
125
+
126
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
127
+
128
+ Examples:
129
+ literal blocks::
130
+
131
+ ProductsV0().get_competitive_pricing_for_skus("value", "value")
132
+
133
+ Args:
134
+ key MarketplaceId: object | required A marketplace identifier. Specifies the marketplace for which prices are returned.
135
+ key Asins: object | A list of up to twenty Amazon Standard Identification Number (ASIN) values used to identify items in the given marketplace.
136
+ key Skus: object | A list of up to twenty seller SKU values used to identify items in the given marketplace.
137
+ key ItemType: object | required Indicates whether ASIN values or seller SKU values are used to identify items. If you specify Asin, the information in the response will be dependent on the list of Asins you provide in the Asins parameter. If you specify Sku, the information in the response will be dependent on the list of Skus you provide in the Skus parameter. Possible values: Asin, Sku.
138
+ key CustomerType: object | Indicates whether to request pricing information from the point of view of Consumer or Business buyers. Default is Consumer.
139
+
140
+ Returns:
141
+ ApiResponse
142
+ """
143
+
144
+ if customer_type is not None:
145
+ kwargs["CustomerType"] = customer_type
146
+
147
+ return self._create_get_pricing_request(seller_sku_list, "Sku", **kwargs)
148
+
149
+ @sp_endpoint("/products/pricing/v0/competitivePrice", method="GET")
150
+ def get_competitive_pricing_for_asins(
151
+ self, asin_list: [str], customer_type=None, **kwargs
152
+ ) -> ApiResponse:
153
+ """
154
+ get_competitive_pricing_for_asins(self, asin_list, customer_type, **kwargs) -> ApiResponse
155
+
156
+ Returns competitive pricing information for a seller's offer listings based on seller SKU or ASIN.
157
+
158
+ **Note:** The parameters associated with this operation may contain special characters that require URL encoding to call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).
159
+
160
+ **Usage Plan:**
161
+
162
+ ====================================== ==============
163
+ Rate (requests per second) Burst
164
+ ====================================== ==============
165
+ 0.5 1
166
+ ====================================== ==============
167
+
168
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
169
+
170
+ Examples:
171
+ literal blocks::
172
+
173
+ ProductsV0().get_competitive_pricing_for_asins("value", "value")
174
+
175
+ Args:
176
+ key MarketplaceId: object | required A marketplace identifier. Specifies the marketplace for which prices are returned.
177
+ key Asins: object | A list of up to twenty Amazon Standard Identification Number (ASIN) values used to identify items in the given marketplace.
178
+ key Skus: object | A list of up to twenty seller SKU values used to identify items in the given marketplace.
179
+ key ItemType: object | required Indicates whether ASIN values or seller SKU values are used to identify items. If you specify Asin, the information in the response will be dependent on the list of Asins you provide in the Asins parameter. If you specify Sku, the information in the response will be dependent on the list of Skus you provide in the Skus parameter. Possible values: Asin, Sku.
180
+ key CustomerType: object | Indicates whether to request pricing information from the point of view of Consumer or Business buyers. Default is Consumer.
181
+
182
+ Returns:
183
+ ApiResponse
184
+ """
185
+ if customer_type is not None:
186
+ kwargs["CustomerType"] = customer_type
187
+
188
+ return self._create_get_pricing_request(asin_list, "Asin", **kwargs)
189
+
190
+
191
+ @sp_endpoint("/products/pricing/v0/listings/{}/offers", method="GET")
192
+ def get_listings_offer(
193
+ self, seller_sku: str, item_condition: str, customer_type: str = None, **kwargs
194
+ ) -> ApiResponse:
195
+ """
196
+ get_listings_offer(self, seller_sku, item_condition, customer_type, **kwargs) -> ApiResponse
197
+
198
+ Returns the lowest priced offers for a single SKU listing.
199
+
200
+ **Note:** The parameters associated with this operation may contain special characters that require URL encoding to call the API. To avoid errors with SKUs when encoding URLs, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).
201
+
202
+ **Usage Plan:**
203
+
204
+ ====================================== ==============
205
+ Rate (requests per second) Burst
206
+ ====================================== ==============
207
+ 1 2
208
+ ====================================== ==============
209
+
210
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
211
+
212
+ Examples:
213
+ literal blocks::
214
+
215
+ ProductsV0().get_listings_offer("value", "value", "value")
216
+
217
+ Args:
218
+ key MarketplaceId: object | required A marketplace identifier. Specifies the marketplace for which prices are returned.
219
+ key ItemCondition: object | required Filters the offer listings based on item condition. Possible values: New, Used, Collectible, Refurbished, Club.
220
+ SellerSKU: object | required Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit.
221
+ key CustomerType: object | Indicates whether to request Consumer or Business offers. Default is Consumer.
222
+
223
+ Returns:
224
+ ApiResponse
225
+ """
226
+ kwargs["ItemCondition"] = item_condition
227
+
228
+ if customer_type is not None:
229
+ kwargs["CustomerType"] = customer_type
230
+
231
+ return self._request(
232
+ fill_query_params(kwargs.pop("path"), seller_sku), params={**kwargs}
233
+ )
234
+
235
+ @sp_endpoint("/products/pricing/v0/items/{}/offers", method="GET")
236
+ def get_item_offers(
237
+ self, asin: str, item_condition: str, customer_type: str = None, **kwargs
238
+ ) -> ApiResponse:
239
+ """
240
+ get_item_offers(self, asin, item_condition, customer_type, **kwargs) -> ApiResponse
241
+
242
+ Returns the lowest priced offers for a single item based on ASIN.
243
+
244
+ **Usage Plan:**
245
+
246
+ ====================================== ==============
247
+ Rate (requests per second) Burst
248
+ ====================================== ==============
249
+ 0.5 1
250
+ ====================================== ==============
251
+
252
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
253
+
254
+ Examples:
255
+ literal blocks::
256
+
257
+ ProductsV0().get_item_offers("value", "value", "value")
258
+
259
+ Args:
260
+ key MarketplaceId: object | required A marketplace identifier. Specifies the marketplace for which prices are returned.
261
+ key ItemCondition: object | required Filters the offer listings to be considered based on item condition. Possible values: New, Used, Collectible, Refurbished, Club.
262
+ Asin: object | required The Amazon Standard Identification Number (ASIN) of the item.
263
+ key CustomerType: object | Indicates whether to request Consumer or Business offers. Default is Consumer.
264
+
265
+ Returns:
266
+ ApiResponse
267
+ """
268
+ kwargs["ItemCondition"] = item_condition
269
+
270
+ if customer_type is not None:
271
+ kwargs["CustomerType"] = customer_type
272
+
273
+ return self._request(
274
+ fill_query_params(kwargs.pop("path"), asin), params={**kwargs}
275
+ )
276
+
277
+ @sp_endpoint("/batches/products/pricing/v0/itemOffers", method="POST")
278
+ def get_item_offers_batch(
279
+ self,
280
+ requests_: Optional[Union[List[Dict], GetItemOffersBatchRequest]] = None,
281
+ **kwargs,
282
+ ) -> ApiResponse:
283
+ """
284
+ get_item_offers_batch(self, requests_, **kwargs) -> ApiResponse
285
+
286
+ Returns the lowest priced offers for a batch of items based on ASIN.
287
+
288
+ **Usage Plan:**
289
+
290
+ ====================================== ==============
291
+ Rate (requests per second) Burst
292
+ ====================================== ==============
293
+ 0.1 1
294
+ ====================================== ==============
295
+
296
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
297
+
298
+ Examples:
299
+ literal blocks::
300
+
301
+ ProductsV0().get_item_offers_batch("value")
302
+
303
+ Args:
304
+ getItemOffersBatchRequestBody: GetItemOffersBatchRequest | required The request associated with the `getItemOffersBatch` API call.
305
+
306
+ Returns:
307
+ ApiResponse
308
+ """
309
+ if isinstance(requests_, GetItemOffersBatchRequest):
310
+ get_item_offers_batch_request = requests_.to_dict()
311
+ else:
312
+ get_item_offers_batch_request = {"requests": requests_}
313
+
314
+ return self._request(
315
+ kwargs.pop("path"),
316
+ data=get_item_offers_batch_request,
317
+ params={**kwargs},
318
+ add_marketplace=False,
319
+ )
320
+
321
+ @sp_endpoint("/batches/products/pricing/v0/listingOffers", method="POST")
322
+ def get_listing_offers_batch(
323
+ self,
324
+ requests_: Optional[Union[List[Dict], GetListingOffersBatchRequest]] = None,
325
+ **kwargs,
326
+ ) -> ApiResponse:
327
+ """
328
+ get_listing_offers_batch(self, requests_, **kwargs) -> ApiResponse
329
+
330
+ Returns the lowest priced offers for a batch of listings by SKU.
331
+
332
+ **Usage Plan:**
333
+
334
+ ====================================== ==============
335
+ Rate (requests per second) Burst
336
+ ====================================== ==============
337
+ 0.5 1
338
+ ====================================== ==============
339
+
340
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
341
+
342
+ Examples:
343
+ literal blocks::
344
+
345
+ ProductsV0().get_listing_offers_batch("value")
346
+
347
+ Args:
348
+ getListingOffersBatchRequestBody: GetListingOffersBatchRequest | required The request associated with the `getListingOffersBatch` API call.
349
+
350
+ Returns:
351
+ ApiResponse
352
+ """
353
+ if isinstance(requests_, GetListingOffersBatchRequest):
354
+ get_listing_offers_batch_request = requests_.to_dict()
355
+ else:
356
+ get_listing_offers_batch_request = {"requests": requests_}
357
+
358
+ return self._request(
359
+ kwargs.pop("path"),
360
+ data=get_listing_offers_batch_request,
361
+ params={**kwargs},
362
+ add_marketplace=False,
363
+ )
364
+
365
+ def _create_get_pricing_request(self, item_list, item_type, **kwargs):
366
+ items_csv = ensure_csv(item_list)
367
+ return self._request(
368
+ kwargs.pop("path"),
369
+ params={
370
+ **{f"{item_type}s": items_csv},
371
+ "ItemType": item_type,
372
+ **(
373
+ {"ItemCondition": kwargs.pop("ItemCondition")}
374
+ if "ItemCondition" in kwargs
375
+ else {}
376
+ ),
377
+ **(
378
+ {"CustomerType": kwargs.pop("CustomerType")}
379
+ if "CustomerType" in kwargs
380
+ else {}
381
+ ),
382
+ **(
383
+ {"OfferType": kwargs.pop("OfferType")}
384
+ if "OfferType" in kwargs
385
+ else {}
386
+ ),
387
+ "MarketplaceId": kwargs.get("MarketplaceId", self.marketplace_id),
388
+ },
389
+ )
@@ -19,38 +19,29 @@ class Replenishment(Client):
19
19
  def get_selling_partner_metrics(self, **kwargs) -> ApiResponse:
20
20
  """
21
21
  get_selling_partner_metrics(self, **kwargs) -> ApiResponse
22
-
22
+
23
23
  Returns aggregated replenishment program metrics for a selling partner.
24
-
24
+
25
25
  **Usage Plan:**
26
-
27
- | Rate (requests per second) | Burst |
28
- | ---- | ---- |
29
- | 1 | 1 |
30
-
31
- The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
32
-
26
+
27
+ ====================================== ==============
28
+ Rate (requests per second) Burst
29
+ ====================================== ==============
30
+ 1 1
31
+ ====================================== ==============
32
+
33
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
34
+
35
+ Examples:
36
+ literal blocks::
37
+
38
+ Replenishment().get_selling_partner_metrics()
39
+
33
40
  Args:
34
-
35
- body: | {'description': 'The request body for the `getSellingPartnerMetrics` operation.',
36
- 'properties': {'aggregationFrequency': {'$ref': '#/definitions/AggregationFrequency'},
37
- 'marketplaceId': {'$ref': '#/definitions/MarketplaceId',
38
- 'description': 'The marketplace identifier. The supported marketplaces for both sellers and vendors are US, CA, ES, UK, FR, IT, IN, DE and JP. The supported marketplaces for vendors only are BR, AU, MX, AE and NL. '
39
- 'Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) to find the identifier for the marketplace.'},
40
- 'metrics': {'description': 'The list of metrics requested. If no metric value is provided, data for all of the metrics will be returned.',
41
- 'items': {'$ref': '#/definitions/Metric'},
42
- 'minItems': 1,
43
- 'type': 'array',
44
- 'uniqueItems': True},
45
- 'programTypes': {'$ref': '#/definitions/ProgramTypes', 'description': 'The list of replenishment program types for which to return metrics.'},
46
- 'timeInterval': {'$ref': '#/definitions/TimeInterval', 'description': 'A time interval used to compute metrics.'},
47
- 'timePeriodType': {'$ref': '#/definitions/TimePeriodType'}},
48
- 'required': ['timeInterval', 'timePeriodType', 'programTypes', 'marketplaceId'],
49
- 'type': 'object'}
50
-
51
-
41
+ body: GetSellingPartnerMetricsRequest | The request body for the `getSellingPartnerMetrics` operation.
42
+
52
43
  Returns:
53
- ApiResponse:
44
+ ApiResponse
54
45
  """
55
46
 
56
47
  return self._request(kwargs.pop("path"), data=kwargs)
@@ -59,30 +50,29 @@ class Replenishment(Client):
59
50
  def list_offer_metrics(self, **kwargs) -> ApiResponse:
60
51
  """
61
52
  list_offer_metrics(self, **kwargs) -> ApiResponse
62
-
53
+
63
54
  Returns aggregated replenishment program metrics for a selling partner's offers.
64
-
55
+
65
56
  **Usage Plan:**
66
-
67
- | Rate (requests per second) | Burst |
68
- | ---- | ---- |
69
- | 1 | 1 |
70
-
71
- The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
72
-
57
+
58
+ ====================================== ==============
59
+ Rate (requests per second) Burst
60
+ ====================================== ==============
61
+ 1 1
62
+ ====================================== ==============
63
+
64
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
65
+
66
+ Examples:
67
+ literal blocks::
68
+
69
+ Replenishment().list_offer_metrics()
70
+
73
71
  Args:
74
-
75
- body: | {'description': 'The request body for the `listOfferMetrics` operation.',
76
- 'properties': {'filters': {'$ref': '#/definitions/ListOfferMetricsRequestFilters',
77
- 'description': 'Use these parameters to filter results. Any result must match all provided parameters. For any parameter that is an array, the result must match at least one element in the provided array.'},
78
- 'pagination': {'$ref': '#/definitions/ListOfferMetricsRequestPagination', 'description': 'Use these parameters to paginate through the response.'},
79
- 'sort': {'$ref': '#/definitions/ListOfferMetricsRequestSort', 'description': 'Use these parameters to sort the response.'}},
80
- 'required': ['pagination', 'filters'],
81
- 'type': 'object'}
82
-
83
-
72
+ body: ListOfferMetricsRequest | The request body for the `listOfferMetrics` operation.
73
+
84
74
  Returns:
85
- ApiResponse:
75
+ ApiResponse
86
76
  """
87
77
 
88
78
  return self._request(kwargs.pop("path"), data=kwargs)
@@ -91,30 +81,29 @@ class Replenishment(Client):
91
81
  def list_offers(self, **kwargs) -> ApiResponse:
92
82
  """
93
83
  list_offers(self, **kwargs) -> ApiResponse
94
-
95
- Returns the details of a selling partner's replenishment program offers. Note that this operation only supports sellers at this time.
96
-
84
+
85
+ Returns the details of a selling partner's replenishment program offers.
86
+
97
87
  **Usage Plan:**
98
-
99
- | Rate (requests per second) | Burst |
100
- | ---- | ---- |
101
- | 1 | 1 |
102
-
103
- The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
104
-
88
+
89
+ ====================================== ==============
90
+ Rate (requests per second) Burst
91
+ ====================================== ==============
92
+ 1 1
93
+ ====================================== ==============
94
+
95
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
96
+
97
+ Examples:
98
+ literal blocks::
99
+
100
+ Replenishment().list_offers()
101
+
105
102
  Args:
106
-
107
- body: | {'description': 'The request body for the `listOffers` operation.',
108
- 'properties': {'filters': {'$ref': '#/definitions/ListOffersRequestFilters',
109
- 'description': 'Use these parameters to filter results. Any result must match all provided parameters. For any parameter that is an array, the result must match at least one element in the provided array.'},
110
- 'pagination': {'$ref': '#/definitions/ListOffersRequestPagination', 'description': 'Use these parameters to paginate through the response.'},
111
- 'sort': {'$ref': '#/definitions/ListOffersRequestSort', 'description': 'Use these parameters to sort the response.'}},
112
- 'required': ['pagination', 'filters'],
113
- 'type': 'object'}
114
-
115
-
103
+ body: ListOffersRequest | The request body for the `listOffers` operation.
104
+
116
105
  Returns:
117
- ApiResponse:
106
+ ApiResponse
118
107
  """
119
108
 
120
109
  return self._request(kwargs.pop("path"), data=kwargs)