python-amazon-sp-api 1.9.26__tar.gz → 1.9.27__tar.gz

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 (153) hide show
  1. {python_amazon_sp_api-1.9.26/python_amazon_sp_api.egg-info → python_amazon_sp_api-1.9.27}/PKG-INFO +1 -1
  2. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27/python_amazon_sp_api.egg-info}/PKG-INFO +1 -1
  3. python_amazon_sp_api-1.9.27/sp_api/__version__.py +1 -0
  4. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/products/products.py +77 -1
  5. python_amazon_sp_api-1.9.27/sp_api/api/products/products_definitions.py +169 -0
  6. python_amazon_sp_api-1.9.26/sp_api/__version__.py +0 -1
  7. python_amazon_sp_api-1.9.26/sp_api/api/products/products_definitions.py +0 -85
  8. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/LICENSE +0 -0
  9. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/README.md +0 -0
  10. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/make_endpoint/make_endpoint +0 -0
  11. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/python_amazon_sp_api.egg-info/SOURCES.txt +0 -0
  12. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/python_amazon_sp_api.egg-info/dependency_links.txt +0 -0
  13. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/python_amazon_sp_api.egg-info/requires.txt +0 -0
  14. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/python_amazon_sp_api.egg-info/top_level.txt +0 -0
  15. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/setup.cfg +0 -0
  16. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/setup.py +0 -0
  17. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/__init__.py +0 -0
  18. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/__init__.py +0 -0
  19. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/amazon_warehousing_and_distribu/__init__.py +0 -0
  20. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +0 -0
  21. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/aplus_content/__init__.py +0 -0
  22. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/aplus_content/aplus_content.py +0 -0
  23. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/application_management/__init__.py +0 -0
  24. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/application_management/application_management.py +0 -0
  25. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/authorization/__init__.py +0 -0
  26. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/authorization/authorization.py +0 -0
  27. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/catalog/__init__.py +0 -0
  28. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/catalog/catalog.py +0 -0
  29. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/catalog_items/__init__.py +0 -0
  30. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/catalog_items/catalog_items.py +0 -0
  31. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/data_kiosk/__init__.py +0 -0
  32. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/data_kiosk/data_kiosk.py +0 -0
  33. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/easy_ship/__init__.py +0 -0
  34. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/easy_ship/easy_ship.py +0 -0
  35. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/fba_inbound_eligibility/__init__.py +0 -0
  36. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/fba_inbound_eligibility/fba_inbound_eligibility.py +0 -0
  37. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/fba_small_and_light/__init__.py +0 -0
  38. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/fba_small_and_light/fba_small_and_light.py +0 -0
  39. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/feeds/__init__.py +0 -0
  40. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/feeds/feeds.py +0 -0
  41. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/finances/__init__.py +0 -0
  42. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/finances/finances.py +0 -0
  43. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/fulfillment_inbound/__init__.py +0 -0
  44. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/fulfillment_inbound/fulfillment_inbound.py +0 -0
  45. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/fulfillment_outbound/__init__.py +0 -0
  46. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/fulfillment_outbound/fulfillment_outbound.py +0 -0
  47. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/inventories/__init__.py +0 -0
  48. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/inventories/inventories.py +0 -0
  49. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/listings_items/__init__.py +0 -0
  50. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/listings_items/listings_items.py +0 -0
  51. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/listings_restrictions/__init__.py +0 -0
  52. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/listings_restrictions/listings_restrictions.py +0 -0
  53. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/merchant_fulfillment/__init__.py +0 -0
  54. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/merchant_fulfillment/merchant_fulfillment.py +0 -0
  55. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/messaging/__init__.py +0 -0
  56. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/messaging/messaging.py +0 -0
  57. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/notifications/__init__.py +0 -0
  58. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/notifications/notifications.py +0 -0
  59. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/orders/__init__.py +0 -0
  60. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/orders/orders.py +0 -0
  61. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/product_fees/__init__.py +0 -0
  62. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/product_fees/product_fees.py +0 -0
  63. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/product_type_definitions/__init__.py +0 -0
  64. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/product_type_definitions/product_type_definitions.py +0 -0
  65. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/products/__init__.py +0 -0
  66. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/replenishment/__init__.py +0 -0
  67. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/replenishment/replenishment.py +0 -0
  68. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/reports/__init__.py +0 -0
  69. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/reports/reports.py +0 -0
  70. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/sales/__init__.py +0 -0
  71. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/sales/sales.py +0 -0
  72. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/sellers/__init__.py +0 -0
  73. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/sellers/sellers.py +0 -0
  74. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/services/__init__.py +0 -0
  75. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/services/services.py +0 -0
  76. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/shipping/__init__.py +0 -0
  77. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/shipping/shipping.py +0 -0
  78. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/shipping/shippingV2.py +0 -0
  79. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/solicitations/__init__.py +0 -0
  80. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/solicitations/solicitations.py +0 -0
  81. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/supply_sources/__init__.py +0 -0
  82. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/supply_sources/supply_sources.py +0 -0
  83. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/tokens/__init__.py +0 -0
  84. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/tokens/tokens.py +0 -0
  85. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/upload/__init__.py +0 -0
  86. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/upload/upload.py +0 -0
  87. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_inventory/__init__.py +0 -0
  88. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +0 -0
  89. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_orders/__init__.py +0 -0
  90. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +0 -0
  91. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_payments/__init__.py +0 -0
  92. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +0 -0
  93. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_shipping/__init__.py +0 -0
  94. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +0 -0
  95. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_transactions/__init__.py +0 -0
  96. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +0 -0
  97. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_invoices/__init__.py +0 -0
  98. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_invoices/vendor_invoices.py +0 -0
  99. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_orders/__init__.py +0 -0
  100. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_orders/vendor_orders.py +0 -0
  101. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_shipments/__init__.py +0 -0
  102. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_shipments/vendor_shipments.py +0 -0
  103. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_transaction_status/__init__.py +0 -0
  104. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/api/vendor_transaction_status/vendor_transaction_status.py +0 -0
  105. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/auth/__init__.py +0 -0
  106. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/auth/access_token_client.py +0 -0
  107. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/auth/access_token_response.py +0 -0
  108. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/auth/credentials.py +0 -0
  109. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/auth/exceptions.py +0 -0
  110. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/ApiResponse.py +0 -0
  111. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/InventoryEnums.py +0 -0
  112. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/__init__.py +0 -0
  113. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/base_client.py +0 -0
  114. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/client.py +0 -0
  115. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/credential_provider.py +0 -0
  116. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/exceptions.py +0 -0
  117. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/feedTypes.py +0 -0
  118. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/fulfillment_channel.py +0 -0
  119. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/helpers.py +0 -0
  120. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/identifiersType.py +0 -0
  121. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/included_data.py +0 -0
  122. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/inegibility_reasons.py +0 -0
  123. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/marketplaces.py +0 -0
  124. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/notifications.py +0 -0
  125. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/processing_status.py +0 -0
  126. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/reportTypes.py +0 -0
  127. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/report_status.py +0 -0
  128. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/sales_enum.py +0 -0
  129. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/base/schedules.py +0 -0
  130. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/util/__init__.py +0 -0
  131. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/util/key_maker.py +0 -0
  132. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/util/load_all_pages.py +0 -0
  133. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/util/load_date_bound.py +0 -0
  134. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/sp_api/util/retry.py +0 -0
  135. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/__init__.py +0 -0
  136. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/__init__.py +0 -0
  137. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/finances/__init__.py +0 -0
  138. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/finances/test_finances.py +0 -0
  139. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/notifications/__init__.py +0 -0
  140. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/notifications/test_notifications.py +0 -0
  141. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/orders/__init__.py +0 -0
  142. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/orders/test_orders.py +0 -0
  143. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/product_fees/__init__.py +0 -0
  144. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/product_fees/product_fees.py +0 -0
  145. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/reports/__init__.py +0 -0
  146. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/reports/test_reports.py +0 -0
  147. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/sellers/__init__.py +0 -0
  148. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/api/sellers/test_sellers.py +0 -0
  149. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/client/__init__.py +0 -0
  150. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/client/test_auth.py +0 -0
  151. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/client/test_base.py +0 -0
  152. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/client/test_credential_provider.py +0 -0
  153. {python_amazon_sp_api-1.9.26 → python_amazon_sp_api-1.9.27}/tests/client/test_helpers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-amazon-sp-api
3
- Version: 1.9.26
3
+ Version: 1.9.27
4
4
  Summary: Python wrapper for the Amazon Selling-Partner API
5
5
  Home-page: https://github.com/saleweaver/python-amazon-sp-api
6
6
  Author: Michael
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-amazon-sp-api
3
- Version: 1.9.26
3
+ Version: 1.9.27
4
4
  Summary: Python wrapper for the Amazon Selling-Partner API
5
5
  Home-page: https://github.com/saleweaver/python-amazon-sp-api
6
6
  Author: Michael
@@ -0,0 +1 @@
1
+ __version__ = '1.9.27'
@@ -2,6 +2,8 @@ from typing import Optional, List, Dict, Union
2
2
 
3
3
  from sp_api.base import ApiResponse, Client, fill_query_params, sp_endpoint
4
4
  from sp_api.api.products.products_definitions import (
5
+ GetCompetitiveSummaryBatch,
6
+ GetFeaturedOfferExpectedPriceBatch,
5
7
  GetItemOffersBatchRequest,
6
8
  GetListingOffersBatchRequest,
7
9
  )
@@ -9,7 +11,9 @@ from sp_api.api.products.products_definitions import (
9
11
 
10
12
  class Products(Client):
11
13
  """
12
- :link: https://github.com/amzn/selling-partner-api-docs/blob/main/references/product-pricing-api/productPricingV0.md
14
+ :links:
15
+ https://github.com/amzn/selling-partner-api-docs/blob/main/references/product-pricing-api/productPricingV0.md
16
+ https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
13
17
  """
14
18
 
15
19
  @sp_endpoint("/products/pricing/v0/price", method="GET")
@@ -300,6 +304,78 @@ class Products(Client):
300
304
  add_marketplace=False,
301
305
  )
302
306
 
307
+ @sp_endpoint('/batches/products/pricing/2022-05-01/offer/featuredOfferExpectedPrice', method='POST')
308
+ def get_featured_offer_expected_price_batch(self, requests_: Optional[
309
+ Union[List[Dict], GetFeaturedOfferExpectedPriceBatch]], **kwargs) -> ApiResponse:
310
+ """
311
+ get_featured_offer_expected_price_batch(self, **kwargs) -> ApiResponse
312
+
313
+ Returns the set of responses that correspond to the batched list of up to 40 requests defined in the request
314
+ body. The response for each successful (HTTP status code 200) request in the set includes the computed listing
315
+ price at or below which a seller can expect to become the featured offer (before applicable promotions).
316
+ This is called the featured offer expected price (FOEP). Featured offer is not guaranteed, because competing
317
+ offers may change, and different offers may be featured based on other factors, including fulfillment
318
+ capabilities to a specific customer. The response to an unsuccessful request includes the available error text.
319
+
320
+ **Usage Plan:**
321
+
322
+ ====================================== ==============
323
+ Rate (requests per second) Burst
324
+ ====================================== ==============
325
+ .033 1
326
+ ====================================== ==============
327
+
328
+ Args:
329
+ requests_: [dict] The request associated with the getFeaturedOfferExpectedPriceBatch API call.
330
+
331
+ Returns:
332
+ ApiResponse:
333
+ """
334
+ if isinstance(requests_, GetFeaturedOfferExpectedPriceBatch):
335
+ get_featured_offer_expected_price_batch_request = requests_.to_dict()
336
+ else:
337
+ get_featured_offer_expected_price_batch_request = {"requests": requests_}
338
+
339
+ return self._request(
340
+ kwargs.pop('path'),
341
+ data=get_featured_offer_expected_price_batch_request,
342
+ params={**kwargs},
343
+ add_marketplace=False
344
+ )
345
+
346
+ @sp_endpoint('/batches/products/pricing/2022-05-01/items/competitiveSummary', method='POST')
347
+ def get_competitive_summary_batch(self, requests_: Optional[Union[List[Dict], GetCompetitiveSummaryBatch]], **kwargs) -> ApiResponse:
348
+ """
349
+ get_competitive_summary(self, **kwargs) -> ApiResponse
350
+
351
+ Returns the competitive summary response including featured buying options for the ASIN and `marketplaceId` combination.
352
+
353
+ **Usage Plan:**
354
+
355
+ ====================================== ==============
356
+ Rate (requests per second) Burst
357
+ ====================================== ==============
358
+ .033 1
359
+ ====================================== ==============
360
+
361
+ Args:
362
+ requests_: The request associated with the getCompetitiveSummary API call.
363
+
364
+ Returns:
365
+ ApiResponse:
366
+ """
367
+ if isinstance(requests_, GetCompetitiveSummaryBatch):
368
+ get_competitive_summary_batch_request = requests_.to_dict()
369
+ else:
370
+ get_competitive_summary_batch_request = {"requests": requests_}
371
+
372
+ return self._request(
373
+ kwargs.pop('path'),
374
+ data=get_competitive_summary_batch_request,
375
+ params={**kwargs},
376
+ add_marketplace=False
377
+ )
378
+
303
379
  def _create_get_pricing_request(self, item_list, item_type, **kwargs):
304
380
  return self._request(
305
381
  kwargs.pop("path"),
@@ -0,0 +1,169 @@
1
+ from enum import Enum
2
+ from typing import Optional, List, Dict, Union
3
+ from dataclasses import dataclass, asdict
4
+
5
+
6
+ class CompetitiveSummaryIncludedData(Enum):
7
+ FEATURED_BUYING_OPTIONS = "featuredBuyingOptions"
8
+ LOWEST_PRICED_OFFERS = "lowestPricedOffers"
9
+ REFERENCE_PRICES = "referencePrices"
10
+
11
+
12
+ @dataclass
13
+ class ItemOffersRequest:
14
+ """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
15
+ #itemoffersrequest"""
16
+
17
+ uri: str
18
+ method: str
19
+ MarketplaceId: str
20
+ ItemCondition: str = None
21
+ CustomerType: str = None
22
+ headers: Dict = None
23
+
24
+
25
+ @dataclass
26
+ class GetItemOffersBatchRequest:
27
+ """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
28
+ #getitemoffersbatchrequest"""
29
+
30
+ requests: Optional[List[Union[ItemOffersRequest, Dict]]] = None
31
+
32
+ def __post_init__(self):
33
+ self.requests = self.parse_requests(self.requests)
34
+
35
+ def to_dict(self):
36
+ return asdict(self)
37
+
38
+ @staticmethod
39
+ def parse_requests(requests) -> List[ItemOffersRequest]:
40
+ parsed_requestes = []
41
+
42
+ for request in requests:
43
+ if isinstance(request, Dict):
44
+ request = ItemOffersRequest(**request)
45
+
46
+ if not isinstance(request, ItemOffersRequest):
47
+ raise TypeError
48
+
49
+ parsed_requestes.append(request)
50
+
51
+ return parsed_requestes
52
+
53
+
54
+ @dataclass
55
+ class ListingOffersRequest:
56
+ """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
57
+ #listingoffersrequest"""
58
+
59
+ uri: str
60
+ MarketplaceId: str
61
+ ItemCondition: str
62
+ method: str = "GET"
63
+ CustomerType: str = "Consumer"
64
+
65
+
66
+ @dataclass
67
+ class GetListingOffersBatchRequest:
68
+ """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
69
+ #getlistingoffersbatchrequest"""
70
+
71
+ requests: Optional[List[Union[ListingOffersRequest, Dict]]] = None
72
+
73
+ def __post_init__(self):
74
+ self.requests = self.parse_requests(self.requests)
75
+
76
+ def to_dict(self):
77
+ return asdict(self)
78
+
79
+ @staticmethod
80
+ def parse_requests(requests) -> List[ListingOffersRequest]:
81
+ parsed_requestes = []
82
+
83
+ for request in requests:
84
+ if isinstance(request, Dict):
85
+ request = ListingOffersRequest(**request)
86
+
87
+ if not isinstance(request, ListingOffersRequest):
88
+ raise TypeError
89
+
90
+ parsed_requestes.append(request)
91
+
92
+ return parsed_requestes
93
+
94
+
95
+ @dataclass
96
+ class FeaturedOfferExpectedPriceRequest:
97
+ """ Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
98
+ #FeaturedOfferExpectedPriceRequest """
99
+ marketplaceId: str
100
+ sku: str
101
+ uri: str = "/products/pricing/2022-05-01/offer/featuredOfferExpectedPrice"
102
+ method: str = "GET"
103
+
104
+
105
+ @dataclass
106
+ class GetFeaturedOfferExpectedPriceBatch:
107
+ """ Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
108
+ #getFeaturedOfferExpectedPriceBatch """
109
+ requests: Optional[List[Union[FeaturedOfferExpectedPriceRequest, Dict]]] = None
110
+
111
+ def __post_init__(self):
112
+ self.requests = self.parse_requests(self.requests)
113
+
114
+ def to_dict(self):
115
+ return asdict(self)
116
+
117
+ @staticmethod
118
+ def parse_requests(requests) -> List[FeaturedOfferExpectedPriceRequest]:
119
+ parsed_requests = []
120
+
121
+ for request in requests:
122
+ if isinstance(request, Dict):
123
+ request = FeaturedOfferExpectedPriceRequest(**request)
124
+
125
+ if not isinstance(request, FeaturedOfferExpectedPriceRequest):
126
+ raise TypeError
127
+
128
+ parsed_requests.append(request)
129
+
130
+ return parsed_requests
131
+
132
+
133
+ @dataclass
134
+ class CompetitiveSummaryRequest:
135
+ """ Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
136
+ #FeaturedOfferExpectedPriceRequest """
137
+ marketplaceId: str
138
+ asin: str
139
+ includedData: List[CompetitiveSummaryIncludedData]
140
+ uri: str = "/products/pricing/2022-05-01/items/competitiveSummary"
141
+ method: str = "GET"
142
+
143
+
144
+ @dataclass
145
+ class GetCompetitiveSummaryBatch:
146
+ """ Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
147
+ #getCompetitiveSummary """
148
+ requests: Optional[List[Union[CompetitiveSummaryRequest, Dict]]] = None
149
+
150
+ def __post_init__(self):
151
+ self.requests = self.parse_requests(self.requests)
152
+
153
+ def to_dict(self):
154
+ return asdict(self)
155
+
156
+ @staticmethod
157
+ def parse_requests(requests) -> List[CompetitiveSummaryRequest]:
158
+ parsed_requests = []
159
+
160
+ for request in requests:
161
+ if isinstance(request, Dict):
162
+ request = CompetitiveSummaryRequest(**request)
163
+
164
+ if not isinstance(request, CompetitiveSummaryRequest):
165
+ raise TypeError
166
+
167
+ parsed_requests.append(request)
168
+
169
+ return parsed_requests
@@ -1 +0,0 @@
1
- __version__ = '1.9.26'
@@ -1,85 +0,0 @@
1
- from typing import Optional, List, Dict, Union
2
- from dataclasses import dataclass, asdict
3
-
4
-
5
- @dataclass
6
- class ItemOffersRequest:
7
- """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
8
- #itemoffersrequest"""
9
-
10
- uri: str
11
- method: str
12
- MarketplaceId: str
13
- ItemCondition: str = None
14
- CustomerType: str = None
15
- headers: Dict = None
16
-
17
-
18
- @dataclass
19
- class GetItemOffersBatchRequest:
20
- """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
21
- #getitemoffersbatchrequest"""
22
-
23
- requests: Optional[List[Union[ItemOffersRequest, Dict]]] = None
24
-
25
- def __post_init__(self):
26
- self.requests = self.parse_requests(self.requests)
27
-
28
- def to_dict(self):
29
- return asdict(self)
30
-
31
- @staticmethod
32
- def parse_requests(requests) -> List[ItemOffersRequest]:
33
- parsed_requestes = []
34
-
35
- for request in requests:
36
- if isinstance(request, Dict):
37
- request = ItemOffersRequest(**request)
38
-
39
- if not isinstance(request, ItemOffersRequest):
40
- raise TypeError
41
-
42
- parsed_requestes.append(request)
43
-
44
- return parsed_requestes
45
-
46
-
47
- @dataclass
48
- class ListingOffersRequest:
49
- """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
50
- #listingoffersrequest"""
51
-
52
- uri: str
53
- MarketplaceId: str
54
- ItemCondition: str
55
- method: str = "GET"
56
- CustomerType: str = "Consumer"
57
-
58
-
59
- @dataclass
60
- class GetListingOffersBatchRequest:
61
- """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
62
- #getlistingoffersbatchrequest"""
63
-
64
- requests: Optional[List[Union[ListingOffersRequest, Dict]]] = None
65
-
66
- def __post_init__(self):
67
- self.requests = self.parse_requests(self.requests)
68
-
69
- def to_dict(self):
70
- return asdict(self)
71
-
72
- @staticmethod
73
- def parse_requests(requests) -> List[ListingOffersRequest]:
74
- parsed_requestes = []
75
-
76
- for request in requests:
77
- if isinstance(request, Dict):
78
- request = ListingOffersRequest(**request)
79
-
80
- if not isinstance(request, ListingOffersRequest):
81
- raise TypeError
82
-
83
- parsed_requestes.append(request)
84
-
85
- return parsed_requestes