python-amazon-sp-api 2.0.6__tar.gz → 2.0.7__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 (258) hide show
  1. {python_amazon_sp_api-2.0.6/python_amazon_sp_api.egg-info → python_amazon_sp_api-2.0.7}/PKG-INFO +1 -1
  2. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7/python_amazon_sp_api.egg-info}/PKG-INFO +1 -1
  3. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/python_amazon_sp_api.egg-info/SOURCES.txt +2 -0
  4. python_amazon_sp_api-2.0.7/sp_api/__version__.py +1 -0
  5. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/product_fees/product_fees.py +31 -74
  6. python_amazon_sp_api-2.0.7/sp_api/api/products/products_definitions.py +11 -0
  7. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/product_fees/product_fees.py +33 -76
  8. python_amazon_sp_api-2.0.7/sp_api/asyncio/api/products/products_definitions.py +11 -0
  9. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/util/__init__.py +20 -0
  10. python_amazon_sp_api-2.0.7/sp_api/util/product_fees.py +40 -0
  11. python_amazon_sp_api-2.0.6/sp_api/__version__.py +0 -1
  12. python_amazon_sp_api-2.0.6/sp_api/asyncio/api/products/products_definitions.py +0 -170
  13. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/LICENSE +0 -0
  14. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/README.md +0 -0
  15. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/make_endpoint/make_endpoint +0 -0
  16. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/python_amazon_sp_api.egg-info/dependency_links.txt +0 -0
  17. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/python_amazon_sp_api.egg-info/requires.txt +0 -0
  18. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/python_amazon_sp_api.egg-info/top_level.txt +0 -0
  19. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/setup.cfg +0 -0
  20. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/setup.py +0 -0
  21. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/__init__.py +0 -0
  22. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/__init__.py +0 -0
  23. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/amazon_warehousing_and_distribu/__init__.py +0 -0
  24. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +0 -0
  25. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/aplus_content/__init__.py +0 -0
  26. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/aplus_content/aplus_content.py +0 -0
  27. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/application_integrations/__init__.py +0 -0
  28. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/application_integrations/application_integrations.py +0 -0
  29. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/application_management/__init__.py +0 -0
  30. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/application_management/application_management.py +0 -0
  31. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/authorization/__init__.py +0 -0
  32. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/authorization/authorization.py +0 -0
  33. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/catalog/__init__.py +0 -0
  34. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/catalog/catalog.py +0 -0
  35. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/catalog_items/__init__.py +0 -0
  36. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/catalog_items/catalog_items.py +0 -0
  37. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/customer_feedback/__init__.py +0 -0
  38. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/customer_feedback/customer_feedback.py +0 -0
  39. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/data_kiosk/__init__.py +0 -0
  40. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/data_kiosk/data_kiosk.py +0 -0
  41. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/easy_ship/__init__.py +0 -0
  42. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/easy_ship/easy_ship.py +0 -0
  43. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/external_fulfillment/__init__.py +0 -0
  44. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/external_fulfillment/external_fulfillment.py +0 -0
  45. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/fba_inbound_eligibility/__init__.py +0 -0
  46. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/fba_inbound_eligibility/fba_inbound_eligibility.py +0 -0
  47. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/fba_small_and_light/__init__.py +0 -0
  48. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/fba_small_and_light/fba_small_and_light.py +0 -0
  49. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/feeds/__init__.py +0 -0
  50. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/feeds/feeds.py +0 -0
  51. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/finances/__init__.py +0 -0
  52. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/finances/finances.py +0 -0
  53. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/fulfillment_inbound/__init__.py +0 -0
  54. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/fulfillment_inbound/fulfillment_inbound.py +0 -0
  55. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/fulfillment_outbound/__init__.py +0 -0
  56. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/fulfillment_outbound/fulfillment_outbound.py +0 -0
  57. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/inventories/__init__.py +0 -0
  58. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/inventories/inventories.py +0 -0
  59. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/listings_items/__init__.py +0 -0
  60. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/listings_items/listings_items.py +0 -0
  61. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/listings_restrictions/__init__.py +0 -0
  62. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/listings_restrictions/listings_restrictions.py +0 -0
  63. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/merchant_fulfillment/__init__.py +0 -0
  64. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/merchant_fulfillment/merchant_fulfillment.py +0 -0
  65. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/messaging/__init__.py +0 -0
  66. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/messaging/messaging.py +0 -0
  67. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/notifications/__init__.py +0 -0
  68. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/notifications/notifications.py +0 -0
  69. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/orders/__init__.py +0 -0
  70. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/orders/orders.py +0 -0
  71. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/product_fees/__init__.py +0 -0
  72. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/product_type_definitions/__init__.py +0 -0
  73. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/product_type_definitions/product_type_definitions.py +0 -0
  74. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/products/__init__.py +0 -0
  75. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/products/products.py +0 -0
  76. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/replenishment/__init__.py +0 -0
  77. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/replenishment/replenishment.py +0 -0
  78. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/reports/__init__.py +0 -0
  79. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/reports/reports.py +0 -0
  80. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/sales/__init__.py +0 -0
  81. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/sales/sales.py +0 -0
  82. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/sellers/__init__.py +0 -0
  83. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/sellers/sellers.py +0 -0
  84. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/services/__init__.py +0 -0
  85. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/services/services.py +0 -0
  86. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/shipping/__init__.py +0 -0
  87. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/shipping/shipping.py +0 -0
  88. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/shipping/shippingV2.py +0 -0
  89. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/solicitations/__init__.py +0 -0
  90. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/solicitations/solicitations.py +0 -0
  91. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/supply_sources/__init__.py +0 -0
  92. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/supply_sources/supply_sources.py +0 -0
  93. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/tokens/__init__.py +0 -0
  94. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/tokens/tokens.py +0 -0
  95. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/upload/__init__.py +0 -0
  96. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/upload/upload.py +0 -0
  97. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_inventory/__init__.py +0 -0
  98. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +0 -0
  99. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_orders/__init__.py +0 -0
  100. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +0 -0
  101. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_payments/__init__.py +0 -0
  102. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +0 -0
  103. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_shipping/__init__.py +0 -0
  104. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +0 -0
  105. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_transactions/__init__.py +0 -0
  106. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +0 -0
  107. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_invoices/__init__.py +0 -0
  108. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_invoices/vendor_invoices.py +0 -0
  109. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_orders/__init__.py +0 -0
  110. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_orders/vendor_orders.py +0 -0
  111. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_shipments/__init__.py +0 -0
  112. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_shipments/vendor_shipments.py +0 -0
  113. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_transaction_status/__init__.py +0 -0
  114. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/api/vendor_transaction_status/vendor_transaction_status.py +0 -0
  115. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/__init__.py +0 -0
  116. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/__init__.py +0 -0
  117. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/amazon_warehousing_and_distribu/__init__.py +0 -0
  118. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +0 -0
  119. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/aplus_content/__init__.py +0 -0
  120. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/aplus_content/aplus_content.py +0 -0
  121. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/application_integrations/__init__.py +0 -0
  122. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/application_integrations/application_integrations.py +0 -0
  123. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/application_management/__init__.py +0 -0
  124. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/application_management/application_management.py +0 -0
  125. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/authorization/__init__.py +0 -0
  126. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/authorization/authorization.py +0 -0
  127. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/catalog/__init__.py +0 -0
  128. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/catalog/catalog.py +0 -0
  129. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/catalog_items/__init__.py +0 -0
  130. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/catalog_items/catalog_items.py +0 -0
  131. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/clients/__init__.py +0 -0
  132. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/customer_feedback/__init__.py +0 -0
  133. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/customer_feedback/customer_feedback.py +0 -0
  134. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/data_kiosk/__init__.py +0 -0
  135. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/data_kiosk/data_kiosk.py +0 -0
  136. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/easy_ship/__init__.py +0 -0
  137. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/easy_ship/easy_ship.py +0 -0
  138. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/external_fulfillment/__init__.py +0 -0
  139. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/external_fulfillment/external_fulfillment.py +0 -0
  140. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/fba_inbound_eligibility/__init__.py +0 -0
  141. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/fba_inbound_eligibility/fba_inbound_eligibility.py +0 -0
  142. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/fba_small_and_light/__init__.py +0 -0
  143. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/fba_small_and_light/fba_small_and_light.py +0 -0
  144. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/feeds/__init__.py +0 -0
  145. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/feeds/feeds.py +0 -0
  146. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/finances/__init__.py +0 -0
  147. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/finances/finances.py +0 -0
  148. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/fulfillment_inbound/__init__.py +0 -0
  149. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound.py +0 -0
  150. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/fulfillment_outbound/__init__.py +0 -0
  151. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/fulfillment_outbound/fulfillment_outbound.py +0 -0
  152. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/inventories/__init__.py +0 -0
  153. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/inventories/inventories.py +0 -0
  154. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/listings_items/__init__.py +0 -0
  155. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/listings_items/listings_items.py +0 -0
  156. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/listings_restrictions/__init__.py +0 -0
  157. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/listings_restrictions/listings_restrictions.py +0 -0
  158. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/merchant_fulfillment/__init__.py +0 -0
  159. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/merchant_fulfillment/merchant_fulfillment.py +0 -0
  160. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/messaging/__init__.py +0 -0
  161. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/messaging/messaging.py +0 -0
  162. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/models/__init__.py +0 -0
  163. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/notifications/__init__.py +0 -0
  164. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/notifications/notifications.py +0 -0
  165. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/orders/__init__.py +0 -0
  166. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/orders/orders.py +0 -0
  167. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/overrides/__init__.py +0 -0
  168. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/product_fees/__init__.py +0 -0
  169. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/product_type_definitions/__init__.py +0 -0
  170. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/product_type_definitions/product_type_definitions.py +0 -0
  171. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/products/__init__.py +0 -0
  172. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/products/products.py +0 -0
  173. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/replenishment/__init__.py +0 -0
  174. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/replenishment/replenishment.py +0 -0
  175. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/reports/__init__.py +0 -0
  176. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/reports/reports.py +0 -0
  177. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/sales/__init__.py +0 -0
  178. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/sales/sales.py +0 -0
  179. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/sellers/__init__.py +0 -0
  180. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/sellers/sellers.py +0 -0
  181. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/services/__init__.py +0 -0
  182. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/services/services.py +0 -0
  183. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/shipping/__init__.py +0 -0
  184. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/shipping/shipping.py +0 -0
  185. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/shipping/shippingV2.py +0 -0
  186. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/solicitations/__init__.py +0 -0
  187. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/solicitations/solicitations.py +0 -0
  188. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/supply_sources/__init__.py +0 -0
  189. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/supply_sources/supply_sources.py +0 -0
  190. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/tokens/__init__.py +0 -0
  191. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/tokens/tokens.py +0 -0
  192. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/upload/__init__.py +0 -0
  193. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/upload/upload.py +0 -0
  194. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_inventory/__init__.py +0 -0
  195. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +0 -0
  196. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_orders/__init__.py +0 -0
  197. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +0 -0
  198. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_payments/__init__.py +0 -0
  199. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +0 -0
  200. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_shipping/__init__.py +0 -0
  201. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +0 -0
  202. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_transactions/__init__.py +0 -0
  203. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +0 -0
  204. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_invoices/__init__.py +0 -0
  205. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_invoices/vendor_invoices.py +0 -0
  206. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_orders/__init__.py +0 -0
  207. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_orders/vendor_orders.py +0 -0
  208. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_shipments/__init__.py +0 -0
  209. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_shipments/vendor_shipments.py +0 -0
  210. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_transaction_status/__init__.py +0 -0
  211. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/api/vendor_transaction_status/vendor_transaction_status.py +0 -0
  212. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/auth/__init__.py +0 -0
  213. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/auth/access_token_client.py +0 -0
  214. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/auth/exceptions.py +0 -0
  215. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/base/__init__.py +0 -0
  216. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/base/_transport_httpx.py +0 -0
  217. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/base/base_client.py +0 -0
  218. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/base/client.py +0 -0
  219. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/util/__init__.py +0 -0
  220. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/util/key_maker.py +0 -0
  221. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/util/load_all_pages.py +0 -0
  222. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/util/load_date_bound.py +0 -0
  223. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/asyncio/util/retry.py +0 -0
  224. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/auth/__init__.py +0 -0
  225. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/auth/_core.py +0 -0
  226. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/auth/access_token_client.py +0 -0
  227. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/auth/access_token_response.py +0 -0
  228. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/auth/credentials.py +0 -0
  229. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/auth/exceptions.py +0 -0
  230. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/ApiResponse.py +0 -0
  231. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/InventoryEnums.py +0 -0
  232. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/__init__.py +0 -0
  233. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/_core.py +0 -0
  234. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/_transport_httpx.py +0 -0
  235. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/base_client.py +0 -0
  236. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/client.py +0 -0
  237. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/credential_provider.py +0 -0
  238. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/exceptions.py +0 -0
  239. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/feedTypes.py +0 -0
  240. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/fulfillment_channel.py +0 -0
  241. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/helpers.py +0 -0
  242. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/identifiersType.py +0 -0
  243. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/included_data.py +0 -0
  244. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/inegibility_reasons.py +0 -0
  245. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/marketplaces.py +0 -0
  246. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/notifications.py +0 -0
  247. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/processing_status.py +0 -0
  248. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/reportTypes.py +0 -0
  249. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/report_status.py +0 -0
  250. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/sales_enum.py +0 -0
  251. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/base/schedules.py +0 -0
  252. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/util/key_maker.py +0 -0
  253. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/util/load_all_pages.py +0 -0
  254. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/util/load_date_bound.py +0 -0
  255. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/util/params.py +0 -0
  256. {python_amazon_sp_api-2.0.6/sp_api/api/products → python_amazon_sp_api-2.0.7/sp_api/util}/products_definitions.py +0 -0
  257. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/util/report_document.py +0 -0
  258. {python_amazon_sp_api-2.0.6 → python_amazon_sp_api-2.0.7}/sp_api/util/retry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-amazon-sp-api
3
- Version: 2.0.6
3
+ Version: 2.0.7
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 Primke
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-amazon-sp-api
3
- Version: 2.0.6
3
+ Version: 2.0.7
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 Primke
@@ -249,5 +249,7 @@ sp_api/util/key_maker.py
249
249
  sp_api/util/load_all_pages.py
250
250
  sp_api/util/load_date_bound.py
251
251
  sp_api/util/params.py
252
+ sp_api/util/product_fees.py
253
+ sp_api/util/products_definitions.py
252
254
  sp_api/util/report_document.py
253
255
  sp_api/util/retry.py
@@ -0,0 +1 @@
1
+ __version__ = '2.0.7'
@@ -3,6 +3,7 @@ from urllib.parse import quote_plus
3
3
 
4
4
  from sp_api.base.helpers import sp_endpoint, fill_query_params
5
5
  from sp_api.base import Client, ApiResponse
6
+ from sp_api.util.product_fees import create_fees_body
6
7
 
7
8
 
8
9
  class ProductFees(Client):
@@ -63,15 +64,15 @@ class ProductFees(Client):
63
64
  seller_sku = quote_plus(seller_sku)
64
65
 
65
66
  kwargs.update(
66
- self._create_body(
67
- price,
68
- shipping_price,
69
- currency,
70
- is_fba,
71
- seller_sku,
72
- points,
73
- marketplace_id,
74
- optional_fulfillment_program,
67
+ create_fees_body(
68
+ price=price,
69
+ shipping_price=shipping_price,
70
+ currency=currency,
71
+ is_fba=is_fba,
72
+ identifier=seller_sku,
73
+ points=points,
74
+ marketplace_id=marketplace_id or self.marketplace_id,
75
+ optional_fulfillment_program=optional_fulfillment_program,
75
76
  )
76
77
  )
77
78
  return self._request(
@@ -124,15 +125,15 @@ class ProductFees(Client):
124
125
 
125
126
  """
126
127
  kwargs.update(
127
- self._create_body(
128
- price,
129
- shipping_price,
130
- currency,
131
- is_fba,
132
- asin,
133
- points,
134
- marketplace_id,
135
- optional_fulfillment_program,
128
+ create_fees_body(
129
+ price=price,
130
+ shipping_price=shipping_price,
131
+ currency=currency,
132
+ is_fba=is_fba,
133
+ identifier=asin,
134
+ points=points,
135
+ marketplace_id=marketplace_id or self.marketplace_id,
136
+ optional_fulfillment_program=optional_fulfillment_program,
136
137
  )
137
138
  )
138
139
  return self._request(fill_query_params(kwargs.pop("path"), asin), data=kwargs)
@@ -166,7 +167,18 @@ class ProductFees(Client):
166
167
  marketplace_id: str | Defaults to self.marketplace_id
167
168
  optional_fulfillment_program:
168
169
  """
169
- data = [dict(**self._create_body(**er)) for er in estimate_requests]
170
+ data = []
171
+ for estimate in estimate_requests:
172
+ estimate_payload = dict(estimate)
173
+ marketplace_id = estimate_payload.pop("marketplace_id", None)
174
+ data.append(
175
+ dict(
176
+ **create_fees_body(
177
+ marketplace_id=marketplace_id or self.marketplace_id,
178
+ **estimate_payload,
179
+ )
180
+ )
181
+ )
170
182
  return self._request(
171
183
  "/products/fees/v0/feesEstimate",
172
184
  data=data,
@@ -174,61 +186,6 @@ class ProductFees(Client):
174
186
  wrap_list=True,
175
187
  )
176
188
 
177
- def _create_body(
178
- self,
179
- price,
180
- shipping_price=None,
181
- currency="USD",
182
- is_fba=False,
183
- identifier=None,
184
- points: dict = None,
185
- marketplace_id: str = None,
186
- optional_fulfillment_program: str = None,
187
- id_type=None,
188
- id_value=None,
189
- ):
190
- """
191
- Create request body
192
-
193
- Args:
194
- price:
195
- shipping_price:
196
- currency:
197
- is_fba:
198
- identifier:
199
- points:
200
-
201
- Returns:
202
-
203
- """
204
- body = {
205
- "FeesEstimateRequest": {
206
- "Identifier": identifier or str(price),
207
- "PriceToEstimateFees": {
208
- "ListingPrice": {"Amount": price, "CurrencyCode": currency},
209
- "Shipping": (
210
- {"Amount": shipping_price, "CurrencyCode": currency}
211
- if shipping_price
212
- else None
213
- ),
214
- "Points": points or None,
215
- },
216
- "IsAmazonFulfilled": is_fba,
217
- "OptionalFulfillmentProgram": (
218
- optional_fulfillment_program
219
- if is_fba is True and optional_fulfillment_program
220
- else None
221
- ),
222
- "MarketplaceId": marketplace_id or self.marketplace_id,
223
- }
224
- }
225
-
226
- if id_type and id_value:
227
- body["IdType"] = id_type
228
- body["IdValue"] = id_value
229
-
230
- return body
231
-
232
189
  def _add_marketplaces(self, data):
233
190
  # MarketplaceID is a property of the body's FeesEstimateRequest for this section, and does
234
191
  # not need to be added. Additionally, Client._add_marketplaces will fail as it assumes
@@ -0,0 +1,11 @@
1
+ from sp_api.util.products_definitions import (
2
+ CompetitiveSummaryIncludedData,
3
+ ItemOffersRequest,
4
+ GetItemOffersBatchRequest,
5
+ ListingOffersRequest,
6
+ GetListingOffersBatchRequest,
7
+ FeaturedOfferExpectedPriceRequest,
8
+ GetFeaturedOfferExpectedPriceBatch,
9
+ CompetitiveSummaryRequest,
10
+ GetCompetitiveSummaryBatch,
11
+ )
@@ -2,8 +2,9 @@ from typing import List
2
2
  from urllib.parse import quote_plus
3
3
 
4
4
  from sp_api.base.helpers import sp_endpoint, fill_query_params
5
- from sp_api.base import Client, ApiResponse
5
+ from sp_api.base import ApiResponse
6
6
  from sp_api.asyncio.base import AsyncBaseClient
7
+ from sp_api.util.product_fees import create_fees_body
7
8
 
8
9
 
9
10
  class ProductFees(AsyncBaseClient):
@@ -64,15 +65,15 @@ class ProductFees(AsyncBaseClient):
64
65
  seller_sku = quote_plus(seller_sku)
65
66
 
66
67
  kwargs.update(
67
- self._create_body(
68
- price,
69
- shipping_price,
70
- currency,
71
- is_fba,
72
- seller_sku,
73
- points,
74
- marketplace_id,
75
- optional_fulfillment_program,
68
+ create_fees_body(
69
+ price=price,
70
+ shipping_price=shipping_price,
71
+ currency=currency,
72
+ is_fba=is_fba,
73
+ identifier=seller_sku,
74
+ points=points,
75
+ marketplace_id=marketplace_id or self.marketplace_id,
76
+ optional_fulfillment_program=optional_fulfillment_program,
76
77
  )
77
78
  )
78
79
  return await self._request(
@@ -125,15 +126,15 @@ class ProductFees(AsyncBaseClient):
125
126
 
126
127
  """
127
128
  kwargs.update(
128
- self._create_body(
129
- price,
130
- shipping_price,
131
- currency,
132
- is_fba,
133
- asin,
134
- points,
135
- marketplace_id,
136
- optional_fulfillment_program,
129
+ create_fees_body(
130
+ price=price,
131
+ shipping_price=shipping_price,
132
+ currency=currency,
133
+ is_fba=is_fba,
134
+ identifier=asin,
135
+ points=points,
136
+ marketplace_id=marketplace_id or self.marketplace_id,
137
+ optional_fulfillment_program=optional_fulfillment_program,
137
138
  )
138
139
  )
139
140
  return await self._request(fill_query_params(kwargs.pop("path"), asin), data=kwargs)
@@ -167,7 +168,18 @@ class ProductFees(AsyncBaseClient):
167
168
  marketplace_id: str | Defaults to self.marketplace_id
168
169
  optional_fulfillment_program:
169
170
  """
170
- data = [dict(**self._create_body(**er)) for er in estimate_requests]
171
+ data = []
172
+ for estimate in estimate_requests:
173
+ estimate_payload = dict(estimate)
174
+ marketplace_id = estimate_payload.pop("marketplace_id", None)
175
+ data.append(
176
+ dict(
177
+ **create_fees_body(
178
+ marketplace_id=marketplace_id or self.marketplace_id,
179
+ **estimate_payload,
180
+ )
181
+ )
182
+ )
171
183
  return await self._request(
172
184
  "/products/fees/v0/feesEstimate",
173
185
  data=data,
@@ -175,63 +187,8 @@ class ProductFees(AsyncBaseClient):
175
187
  wrap_list=True,
176
188
  )
177
189
 
178
- def _create_body(
179
- self,
180
- price,
181
- shipping_price=None,
182
- currency="USD",
183
- is_fba=False,
184
- identifier=None,
185
- points: dict = None,
186
- marketplace_id: str = None,
187
- optional_fulfillment_program: str = None,
188
- id_type=None,
189
- id_value=None,
190
- ):
191
- """
192
- Create request body
193
-
194
- Args:
195
- price:
196
- shipping_price:
197
- currency:
198
- is_fba:
199
- identifier:
200
- points:
201
-
202
- Returns:
203
-
204
- """
205
- body = {
206
- "FeesEstimateRequest": {
207
- "Identifier": identifier or str(price),
208
- "PriceToEstimateFees": {
209
- "ListingPrice": {"Amount": price, "CurrencyCode": currency},
210
- "Shipping": (
211
- {"Amount": shipping_price, "CurrencyCode": currency}
212
- if shipping_price
213
- else None
214
- ),
215
- "Points": points or None,
216
- },
217
- "IsAmazonFulfilled": is_fba,
218
- "OptionalFulfillmentProgram": (
219
- optional_fulfillment_program
220
- if is_fba is True and optional_fulfillment_program
221
- else None
222
- ),
223
- "MarketplaceId": marketplace_id or self.marketplace_id,
224
- }
225
- }
226
-
227
- if id_type and id_value:
228
- body["IdType"] = id_type
229
- body["IdValue"] = id_value
230
-
231
- return body
232
-
233
190
  def _add_marketplaces(self, data):
234
191
  # MarketplaceID is a property of the body's FeesEstimateRequest for this section, and does
235
192
  # not need to be added. Additionally, Client._add_marketplaces will fail as it assumes
236
193
  # data is a dict, which is not the case for get_product_fees_estimate.
237
- pass
194
+ pass
@@ -0,0 +1,11 @@
1
+ from sp_api.util.products_definitions import (
2
+ CompetitiveSummaryIncludedData,
3
+ ItemOffersRequest,
4
+ GetItemOffersBatchRequest,
5
+ ListingOffersRequest,
6
+ GetListingOffersBatchRequest,
7
+ FeaturedOfferExpectedPriceRequest,
8
+ GetFeaturedOfferExpectedPriceBatch,
9
+ CompetitiveSummaryRequest,
10
+ GetCompetitiveSummaryBatch,
11
+ )
@@ -11,6 +11,17 @@ from .params import (
11
11
  should_add_marketplace,
12
12
  ensure_csv,
13
13
  )
14
+ from .products_definitions import (
15
+ CompetitiveSummaryIncludedData,
16
+ ItemOffersRequest,
17
+ GetItemOffersBatchRequest,
18
+ ListingOffersRequest,
19
+ GetListingOffersBatchRequest,
20
+ FeaturedOfferExpectedPriceRequest,
21
+ GetFeaturedOfferExpectedPriceBatch,
22
+ CompetitiveSummaryRequest,
23
+ GetCompetitiveSummaryBatch,
24
+ )
14
25
 
15
26
  __all__ = [
16
27
  "retry",
@@ -26,4 +37,13 @@ __all__ = [
26
37
  "encode_kwarg",
27
38
  "should_add_marketplace",
28
39
  "ensure_csv",
40
+ "CompetitiveSummaryIncludedData",
41
+ "ItemOffersRequest",
42
+ "GetItemOffersBatchRequest",
43
+ "ListingOffersRequest",
44
+ "GetListingOffersBatchRequest",
45
+ "FeaturedOfferExpectedPriceRequest",
46
+ "GetFeaturedOfferExpectedPriceBatch",
47
+ "CompetitiveSummaryRequest",
48
+ "GetCompetitiveSummaryBatch",
29
49
  ]
@@ -0,0 +1,40 @@
1
+ def create_fees_body(
2
+ *,
3
+ price,
4
+ shipping_price=None,
5
+ currency="USD",
6
+ is_fba=False,
7
+ identifier=None,
8
+ points=None,
9
+ marketplace_id=None,
10
+ optional_fulfillment_program=None,
11
+ id_type=None,
12
+ id_value=None,
13
+ ):
14
+ body = {
15
+ "FeesEstimateRequest": {
16
+ "Identifier": identifier or str(price),
17
+ "PriceToEstimateFees": {
18
+ "ListingPrice": {"Amount": price, "CurrencyCode": currency},
19
+ "Shipping": (
20
+ {"Amount": shipping_price, "CurrencyCode": currency}
21
+ if shipping_price
22
+ else None
23
+ ),
24
+ "Points": points or None,
25
+ },
26
+ "IsAmazonFulfilled": is_fba,
27
+ "OptionalFulfillmentProgram": (
28
+ optional_fulfillment_program
29
+ if is_fba is True and optional_fulfillment_program
30
+ else None
31
+ ),
32
+ "MarketplaceId": marketplace_id,
33
+ }
34
+ }
35
+
36
+ if id_type and id_value:
37
+ body["IdType"] = id_type
38
+ body["IdValue"] = id_value
39
+
40
+ return body
@@ -1 +0,0 @@
1
- __version__ = '2.0.6'
@@ -1,170 +0,0 @@
1
- from sp_api.asyncio.base import AsyncBaseClient
2
- from enum import Enum
3
- from typing import Optional, List, Dict, Union
4
- from dataclasses import dataclass, asdict
5
-
6
-
7
- class CompetitiveSummaryIncludedData(Enum):
8
- FEATURED_BUYING_OPTIONS = "featuredBuyingOptions"
9
- LOWEST_PRICED_OFFERS = "lowestPricedOffers"
10
- REFERENCE_PRICES = "referencePrices"
11
-
12
-
13
- @dataclass
14
- class ItemOffersRequest:
15
- """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
16
- #itemoffersrequest"""
17
-
18
- uri: str
19
- method: str
20
- MarketplaceId: str
21
- ItemCondition: str = None
22
- CustomerType: str = None
23
- headers: Dict = None
24
-
25
-
26
- @dataclass
27
- class GetItemOffersBatchRequest:
28
- """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
29
- #getitemoffersbatchrequest"""
30
-
31
- requests: Optional[List[Union[ItemOffersRequest, Dict]]] = None
32
-
33
- def __post_init__(self):
34
- self.requests = self.parse_requests(self.requests)
35
-
36
- def to_dict(self):
37
- return asdict(self)
38
-
39
- @staticmethod
40
- def parse_requests(requests) -> List[ItemOffersRequest]:
41
- parsed_requestes = []
42
-
43
- for request in requests:
44
- if isinstance(request, Dict):
45
- request = ItemOffersRequest(**request)
46
-
47
- if not isinstance(request, ItemOffersRequest):
48
- raise TypeError
49
-
50
- parsed_requestes.append(request)
51
-
52
- return parsed_requestes
53
-
54
-
55
- @dataclass
56
- class ListingOffersRequest:
57
- """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
58
- #listingoffersrequest"""
59
-
60
- uri: str
61
- MarketplaceId: str
62
- ItemCondition: str
63
- method: str = "GET"
64
- CustomerType: str = "Consumer"
65
-
66
-
67
- @dataclass
68
- class GetListingOffersBatchRequest:
69
- """Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v0-reference
70
- #getlistingoffersbatchrequest"""
71
-
72
- requests: Optional[List[Union[ListingOffersRequest, Dict]]] = None
73
-
74
- def __post_init__(self):
75
- self.requests = self.parse_requests(self.requests)
76
-
77
- def to_dict(self):
78
- return asdict(self)
79
-
80
- @staticmethod
81
- def parse_requests(requests) -> List[ListingOffersRequest]:
82
- parsed_requestes = []
83
-
84
- for request in requests:
85
- if isinstance(request, Dict):
86
- request = ListingOffersRequest(**request)
87
-
88
- if not isinstance(request, ListingOffersRequest):
89
- raise TypeError
90
-
91
- parsed_requestes.append(request)
92
-
93
- return parsed_requestes
94
-
95
-
96
- @dataclass
97
- class FeaturedOfferExpectedPriceRequest:
98
- """ Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
99
- #FeaturedOfferExpectedPriceRequest """
100
- marketplaceId: str
101
- sku: str
102
- uri: str = "/products/pricing/2022-05-01/offer/featuredOfferExpectedPrice"
103
- method: str = "GET"
104
-
105
-
106
- @dataclass
107
- class GetFeaturedOfferExpectedPriceBatch:
108
- """ Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
109
- #getFeaturedOfferExpectedPriceBatch """
110
- requests: Optional[List[Union[FeaturedOfferExpectedPriceRequest, Dict]]] = None
111
-
112
- def __post_init__(self):
113
- self.requests = self.parse_requests(self.requests)
114
-
115
- def to_dict(self):
116
- return asdict(self)
117
-
118
- @staticmethod
119
- def parse_requests(requests) -> List[FeaturedOfferExpectedPriceRequest]:
120
- parsed_requests = []
121
-
122
- for request in requests:
123
- if isinstance(request, Dict):
124
- request = FeaturedOfferExpectedPriceRequest(**request)
125
-
126
- if not isinstance(request, FeaturedOfferExpectedPriceRequest):
127
- raise TypeError
128
-
129
- parsed_requests.append(request)
130
-
131
- return parsed_requests
132
-
133
-
134
- @dataclass
135
- class CompetitiveSummaryRequest:
136
- """ Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
137
- #FeaturedOfferExpectedPriceRequest """
138
- marketplaceId: str
139
- asin: str
140
- includedData: List[CompetitiveSummaryIncludedData]
141
- uri: str = "/products/pricing/2022-05-01/items/competitiveSummary"
142
- method: str = "GET"
143
-
144
-
145
- @dataclass
146
- class GetCompetitiveSummaryBatch:
147
- """ Implements definition: https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference
148
- #getCompetitiveSummary """
149
- requests: Optional[List[Union[CompetitiveSummaryRequest, Dict]]] = None
150
-
151
- def __post_init__(self):
152
- self.requests = self.parse_requests(self.requests)
153
-
154
- def to_dict(self):
155
- return asdict(self)
156
-
157
- @staticmethod
158
- def parse_requests(requests) -> List[CompetitiveSummaryRequest]:
159
- parsed_requests = []
160
-
161
- for request in requests:
162
- if isinstance(request, Dict):
163
- request = CompetitiveSummaryRequest(**request)
164
-
165
- if not isinstance(request, CompetitiveSummaryRequest):
166
- raise TypeError
167
-
168
- parsed_requests.append(request)
169
-
170
- return parsed_requests