python-amazon-sp-api 1.9.18__py3-none-any.whl → 2.0.7__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 (167) hide show
  1. {python_amazon_sp_api-1.9.18.data → python_amazon_sp_api-2.0.7.data}/scripts/make_endpoint +2 -2
  2. {python_amazon_sp_api-1.9.18.dist-info → python_amazon_sp_api-2.0.7.dist-info}/METADATA +46 -23
  3. python_amazon_sp_api-2.0.7.dist-info/RECORD +251 -0
  4. {python_amazon_sp_api-1.9.18.dist-info → python_amazon_sp_api-2.0.7.dist-info}/WHEEL +1 -1
  5. {python_amazon_sp_api-1.9.18.dist-info → python_amazon_sp_api-2.0.7.dist-info}/top_level.txt +0 -1
  6. sp_api/__version__.py +1 -1
  7. sp_api/api/__init__.py +18 -1
  8. sp_api/api/application_integrations/application_integrations.py +118 -0
  9. sp_api/api/application_management/application_management.py +2 -1
  10. sp_api/api/catalog/catalog.py +3 -4
  11. sp_api/api/catalog_items/catalog_items.py +3 -6
  12. sp_api/api/customer_feedback/customer_feedback.py +110 -0
  13. sp_api/api/data_kiosk/data_kiosk.py +5 -6
  14. sp_api/api/easy_ship/easy_ship.py +190 -0
  15. sp_api/api/external_fulfillment/external_fulfillment.py +706 -0
  16. sp_api/api/feeds/feeds.py +11 -8
  17. sp_api/api/finances/finances.py +30 -4
  18. sp_api/api/fulfillment_inbound/fulfillment_inbound.py +35 -2
  19. sp_api/api/inventories/inventories.py +2 -7
  20. sp_api/api/listings_items/listings_items.py +3 -24
  21. sp_api/api/messaging/messaging.py +42 -0
  22. sp_api/api/orders/orders.py +7 -0
  23. sp_api/api/product_fees/product_fees.py +31 -74
  24. sp_api/api/products/products.py +80 -2
  25. sp_api/api/products/products_definitions.py +11 -85
  26. sp_api/api/reports/reports.py +65 -97
  27. sp_api/api/sales/sales.py +2 -2
  28. sp_api/asyncio/api/__init__.py +164 -0
  29. sp_api/asyncio/api/amazon_warehousing_and_distribu/__init__.py +9 -0
  30. sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +130 -0
  31. sp_api/asyncio/api/aplus_content/__init__.py +5 -0
  32. sp_api/asyncio/api/aplus_content/aplus_content.py +330 -0
  33. sp_api/asyncio/api/application_integrations/__init__.py +5 -0
  34. sp_api/asyncio/api/application_integrations/application_integrations.py +119 -0
  35. sp_api/asyncio/api/application_management/__init__.py +5 -0
  36. sp_api/asyncio/api/application_management/application_management.py +36 -0
  37. sp_api/asyncio/api/authorization/__init__.py +5 -0
  38. sp_api/asyncio/api/authorization/authorization.py +54 -0
  39. sp_api/asyncio/api/catalog/__init__.py +5 -0
  40. sp_api/asyncio/api/catalog/catalog.py +111 -0
  41. sp_api/asyncio/api/catalog_items/__init__.py +6 -0
  42. sp_api/asyncio/api/catalog_items/catalog_items.py +93 -0
  43. sp_api/asyncio/api/clients/__init__.py +1 -0
  44. sp_api/asyncio/api/customer_feedback/__init__.py +5 -0
  45. sp_api/asyncio/api/customer_feedback/customer_feedback.py +111 -0
  46. sp_api/asyncio/api/data_kiosk/__init__.py +5 -0
  47. sp_api/asyncio/api/data_kiosk/data_kiosk.py +236 -0
  48. sp_api/asyncio/api/easy_ship/__init__.py +5 -0
  49. sp_api/asyncio/api/easy_ship/easy_ship.py +191 -0
  50. sp_api/asyncio/api/external_fulfillment/__init__.py +5 -0
  51. sp_api/asyncio/api/external_fulfillment/external_fulfillment.py +706 -0
  52. sp_api/asyncio/api/fba_inbound_eligibility/__init__.py +5 -0
  53. sp_api/asyncio/api/fba_inbound_eligibility/fba_inbound_eligibility.py +96 -0
  54. sp_api/asyncio/api/fba_small_and_light/__init__.py +5 -0
  55. sp_api/asyncio/api/fba_small_and_light/fba_small_and_light.py +213 -0
  56. sp_api/asyncio/api/feeds/feeds.py +260 -0
  57. sp_api/asyncio/api/finances/finances.py +100 -0
  58. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound.py +1798 -0
  59. sp_api/asyncio/api/fulfillment_outbound/fulfillment_outbound.py +736 -0
  60. sp_api/asyncio/api/inventories/inventories.py +74 -0
  61. sp_api/asyncio/api/listings_items/__init__.py +0 -0
  62. sp_api/asyncio/api/listings_items/listings_items.py +170 -0
  63. sp_api/asyncio/api/listings_restrictions/__init__.py +0 -0
  64. sp_api/asyncio/api/listings_restrictions/listings_restrictions.py +36 -0
  65. sp_api/asyncio/api/merchant_fulfillment/__init__.py +0 -0
  66. sp_api/asyncio/api/merchant_fulfillment/merchant_fulfillment.py +384 -0
  67. sp_api/asyncio/api/messaging/__init__.py +0 -0
  68. sp_api/asyncio/api/messaging/messaging.py +511 -0
  69. sp_api/asyncio/api/models/__init__.py +4 -0
  70. sp_api/asyncio/api/notifications/__init__.py +0 -0
  71. sp_api/asyncio/api/notifications/notifications.py +295 -0
  72. sp_api/asyncio/api/orders/__init__.py +0 -0
  73. sp_api/asyncio/api/orders/orders.py +362 -0
  74. sp_api/asyncio/api/overrides/__init__.py +1 -0
  75. sp_api/asyncio/api/product_fees/__init__.py +0 -0
  76. sp_api/asyncio/api/product_fees/product_fees.py +194 -0
  77. sp_api/asyncio/api/product_type_definitions/__init__.py +0 -0
  78. sp_api/asyncio/api/product_type_definitions/product_type_definitions.py +75 -0
  79. sp_api/asyncio/api/products/__init__.py +0 -0
  80. sp_api/asyncio/api/products/products.py +405 -0
  81. sp_api/asyncio/api/products/products_definitions.py +11 -0
  82. sp_api/asyncio/api/replenishment/__init__.py +0 -0
  83. sp_api/asyncio/api/replenishment/replenishment.py +121 -0
  84. sp_api/asyncio/api/reports/__init__.py +0 -0
  85. sp_api/asyncio/api/reports/reports.py +439 -0
  86. sp_api/asyncio/api/sales/__init__.py +0 -0
  87. sp_api/asyncio/api/sales/sales.py +93 -0
  88. sp_api/asyncio/api/sellers/__init__.py +0 -0
  89. sp_api/asyncio/api/sellers/sellers.py +70 -0
  90. sp_api/asyncio/api/services/__init__.py +0 -0
  91. sp_api/asyncio/api/services/services.py +218 -0
  92. sp_api/asyncio/api/shipping/__init__.py +0 -0
  93. sp_api/asyncio/api/shipping/shipping.py +459 -0
  94. sp_api/asyncio/api/shipping/shippingV2.py +651 -0
  95. sp_api/asyncio/api/solicitations/__init__.py +0 -0
  96. sp_api/asyncio/api/solicitations/solicitations.py +78 -0
  97. sp_api/asyncio/api/supply_sources/__init__.py +0 -0
  98. sp_api/asyncio/api/supply_sources/supply_sources.py +138 -0
  99. sp_api/asyncio/api/tokens/__init__.py +0 -0
  100. sp_api/asyncio/api/tokens/tokens.py +65 -0
  101. sp_api/asyncio/api/upload/__init__.py +0 -0
  102. sp_api/asyncio/api/upload/upload.py +18 -0
  103. sp_api/asyncio/api/vendor_direct_fulfillment_inventory/__init__.py +0 -0
  104. sp_api/asyncio/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +64 -0
  105. sp_api/asyncio/api/vendor_direct_fulfillment_orders/__init__.py +0 -0
  106. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +196 -0
  107. sp_api/asyncio/api/vendor_direct_fulfillment_payments/__init__.py +0 -0
  108. sp_api/asyncio/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +254 -0
  109. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/__init__.py +0 -0
  110. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +627 -0
  111. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/__init__.py +0 -0
  112. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +43 -0
  113. sp_api/asyncio/api/vendor_invoices/__init__.py +0 -0
  114. sp_api/asyncio/api/vendor_invoices/vendor_invoices.py +295 -0
  115. sp_api/asyncio/api/vendor_orders/__init__.py +0 -0
  116. sp_api/asyncio/api/vendor_orders/vendor_orders.py +210 -0
  117. sp_api/asyncio/api/vendor_shipments/__init__.py +0 -0
  118. sp_api/asyncio/api/vendor_shipments/vendor_shipments.py +118 -0
  119. sp_api/asyncio/api/vendor_transaction_status/__init__.py +0 -0
  120. sp_api/asyncio/api/vendor_transaction_status/vendor_transaction_status.py +41 -0
  121. sp_api/asyncio/auth/__init__.py +12 -0
  122. sp_api/asyncio/auth/access_token_client.py +145 -0
  123. sp_api/asyncio/auth/exceptions.py +5 -0
  124. sp_api/asyncio/base/__init__.py +53 -0
  125. sp_api/asyncio/base/_transport_httpx.py +50 -0
  126. sp_api/asyncio/base/base_client.py +8 -0
  127. sp_api/asyncio/base/client.py +169 -0
  128. sp_api/asyncio/util/__init__.py +29 -0
  129. sp_api/asyncio/util/key_maker.py +5 -0
  130. sp_api/asyncio/util/load_all_pages.py +55 -0
  131. sp_api/asyncio/util/load_date_bound.py +53 -0
  132. sp_api/asyncio/util/retry.py +88 -0
  133. sp_api/auth/_core.py +39 -0
  134. sp_api/auth/access_token_client.py +18 -29
  135. sp_api/base/ApiResponse.py +3 -2
  136. sp_api/base/_core.py +110 -0
  137. sp_api/base/_transport_httpx.py +39 -0
  138. sp_api/base/client.py +40 -63
  139. sp_api/base/helpers.py +1 -1
  140. sp_api/base/reportTypes.py +3 -2
  141. sp_api/util/__init__.py +36 -0
  142. sp_api/util/load_all_pages.py +2 -1
  143. sp_api/util/params.py +57 -0
  144. sp_api/util/product_fees.py +40 -0
  145. sp_api/util/products_definitions.py +169 -0
  146. sp_api/util/report_document.py +154 -0
  147. python_amazon_sp_api-1.9.18.dist-info/RECORD +0 -144
  148. tests/api/finances/test_finances.py +0 -19
  149. tests/api/notifications/test_notifications.py +0 -26
  150. tests/api/orders/test_orders.py +0 -122
  151. tests/api/product_fees/product_fees.py +0 -49
  152. tests/api/reports/test_reports.py +0 -127
  153. tests/client/test_auth.py +0 -59
  154. tests/client/test_base.py +0 -163
  155. tests/client/test_credential_provider.py +0 -45
  156. tests/client/test_helpers.py +0 -142
  157. {python_amazon_sp_api-1.9.18.dist-info → python_amazon_sp_api-2.0.7.dist-info/licenses}/LICENSE +0 -0
  158. {tests → sp_api/api/application_integrations}/__init__.py +0 -0
  159. {tests/api → sp_api/api/customer_feedback}/__init__.py +0 -0
  160. {tests/api/finances → sp_api/api/easy_ship}/__init__.py +0 -0
  161. {tests/api/notifications → sp_api/api/external_fulfillment}/__init__.py +0 -0
  162. {tests/api/orders → sp_api/asyncio}/__init__.py +0 -0
  163. {tests/api/product_fees → sp_api/asyncio/api/feeds}/__init__.py +0 -0
  164. {tests/api/reports → sp_api/asyncio/api/finances}/__init__.py +0 -0
  165. {tests/api/sellers → sp_api/asyncio/api/fulfillment_inbound}/__init__.py +0 -0
  166. {tests/client → sp_api/asyncio/api/fulfillment_outbound}/__init__.py +0 -0
  167. /tests/api/sellers/test_sellers.py → /sp_api/asyncio/api/inventories/__init__.py +0 -0
@@ -52,7 +52,7 @@ def sub(e):
52
52
 
53
53
 
54
54
  def make_endpoint_name(s):
55
- return re.sub(r'-([a-zA-Z])', lambda match: r'{}'.format(match.group(1).upper()), s[0].upper() + s[1:])
55
+ return re.sub('-', '_', re.sub(r'-([a-zA-Z])', lambda match: r'{}'.format(match.group(1).upper()), s[0].upper() + s[1:]))
56
56
 
57
57
 
58
58
  def make_directory(endpoint):
@@ -100,7 +100,7 @@ def add_to_setup_py(endpoint):
100
100
  append_template = f"""##### DO NOT DELETE ########## INSERT PACKAGE HERE #######
101
101
  {package},
102
102
  """
103
- with open('../setup.py', 'r') as f:
103
+ with open('./setup.py', 'r') as f:
104
104
  content = f.read()
105
105
  content = append_template.join(content.split('##### DO NOT DELETE ########## INSERT PACKAGE HERE #######'))
106
106
  f.close()
@@ -1,14 +1,14 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: python-amazon-sp-api
3
- Version: 1.9.18
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
- Author: Michael
7
- Author-email: info@saleweaver.com
6
+ Author: Michael Primke
7
+ Author-email: primke.michael@gmail.com
8
8
  License: MIT
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
- Requires-Dist: requests
11
+ Requires-Dist: httpx>=0.27.0
12
12
  Requires-Dist: cachetools>=4.2
13
13
  Requires-Dist: confuse>=1.4
14
14
  Provides-Extra: aws-caching
@@ -20,10 +20,12 @@ Dynamic: author
20
20
  Dynamic: author-email
21
21
  Dynamic: home-page
22
22
  Dynamic: license
23
+ Dynamic: license-file
23
24
  Dynamic: provides-extra
24
25
  Dynamic: requires-dist
25
26
  Dynamic: summary
26
27
 
28
+ [![CodeFactor](https://www.codefactor.io/repository/github/saleweaver/python-amazon-sp-api/badge)](https://www.codefactor.io/repository/github/saleweaver/python-amazon-sp-api)
27
29
  [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api)](https://pepy.tech/project/python-amazon-sp-api)
28
30
  [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api/month)](https://pepy.tech/project/python-amazon-sp-api)
29
31
  [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api/week)](https://pepy.tech/project/python-amazon-sp-api)
@@ -34,29 +36,16 @@ Dynamic: summary
34
36
 
35
37
  A wrapper to access **Amazon's Selling Partner API** with an easy-to-use interface.
36
38
 
37
-
38
39
  ---
39
40
 
40
- ### 🚀 Version 2 is coming! 🚀
41
-
42
- Please vote on the features you would like to see in the next version of the library.
43
-
44
- [Vote Now](https://docs.google.com/forms/d/e/1FAIpQLSeEIC1m29ue8z6OoIrkXGTT1dEn3rtbIm5HjUPTTtzud2IntQ/viewform?usp=dialog)
45
-
46
- - Pydantic Requests
47
- - Pydantic Responses
48
- - Full Async Support
49
- - Better Versioning / Separation of API Versions into different clients
50
- - What else?
51
-
52
- Note: Version 2 will be backwards compatible up to v0.0.1, while incorporating new features as voted by the community.
41
+ ### New Features
53
42
 
43
+ #### Async support!
54
44
 
55
- [Vote Now](https://docs.google.com/forms/d/e/1FAIpQLSeEIC1m29ue8z6OoIrkXGTT1dEn3rtbIm5HjUPTTtzud2IntQ/viewform?usp=dialog)
45
+ - httpx-based transport for sync clients, enabling connection pooling and consistent streaming behavior.
46
+ - Async client package under `sp_api.asyncio` for non-blocking calls across services.
56
47
 
57
48
 
58
- ---
59
-
60
49
  # 🌟 Thank you for using python-amazon-sp-api! 🌟
61
50
 
62
51
  This tool helps developers and businesses connect seamlessly with Amazon's vast marketplace, enabling powerful automations and data management.
@@ -144,6 +133,41 @@ orders = Orders().get_orders(
144
133
 
145
134
  ---
146
135
 
136
+ ### Async Usage
137
+
138
+ ```python
139
+ import asyncio
140
+ from datetime import datetime, timedelta
141
+
142
+ from sp_api.asyncio.api import Orders, Reports
143
+ from sp_api.base.reportTypes import ReportType
144
+
145
+
146
+ async def main():
147
+ async with Orders() as orders_client:
148
+ res = await orders_client.get_orders(
149
+ LastUpdatedAfter=(datetime.utcnow() - timedelta(days=1)).isoformat()
150
+ )
151
+ print(res.payload)
152
+
153
+ async with Reports() as reports_client:
154
+ report = await reports_client.create_report(
155
+ reportType=ReportType.GET_MERCHANT_LISTINGS_ALL_DATA
156
+ )
157
+ print(report.payload)
158
+
159
+ # OR
160
+ await Reports().create_report(
161
+ reportType=ReportType.GET_MERCHANT_LISTINGS_ALL_DATA
162
+ )
163
+
164
+
165
+ if __name__ == "__main__":
166
+ asyncio.run(main())
167
+ ```
168
+
169
+ ---
170
+
147
171
 
148
172
  ### New endpoints
149
173
 
@@ -180,4 +204,3 @@ The client is pretty extensible and can be used for any other API. Check it out
180
204
 
181
205
 
182
206
  ![Alt](https://repobeats.axiom.co/api/embed/25e8a3fe715fe68f2996ab99fe2e6188cd96a459.svg "Repobeats analytics image")
183
-
@@ -0,0 +1,251 @@
1
+ python_amazon_sp_api-2.0.7.data/scripts/make_endpoint,sha256=QWcwG6z4RWFJlzj4-xyHJymjObyKtwkvWFRq8T18iG0,8568
2
+ python_amazon_sp_api-2.0.7.dist-info/licenses/LICENSE,sha256=nbzomPIVo1PVl5bpGAntofsYAF7ZQ2UhzOtKgf7IiNw,1071
3
+ sp_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ sp_api/__version__.py,sha256=Eqd_jrp6aA0AOwkbRY6r2MSGXmOOkqUkdUqKDmktZJM,22
5
+ sp_api/api/__init__.py,sha256=QTDz2g_fryNGkGszhytqhI8K3x_ttP7fbXLJ5uRvmj0,4747
6
+ sp_api/api/amazon_warehousing_and_distribu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ sp_api/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py,sha256=bMBIxIj0eu6Gi6WY3XLdHHYDzNCwz0-9X59Jo9DoqfE,5863
8
+ sp_api/api/aplus_content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ sp_api/api/aplus_content/aplus_content.py,sha256=ugQd0ZbzK28JL7qCliufqqrnStqRlsR417vhO7eaTjs,18532
10
+ sp_api/api/application_integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ sp_api/api/application_integrations/application_integrations.py,sha256=yfxCp4J_1Rs-F00QJ3_a43AZfTikZfFbTCEPsnSqqqQ,6478
12
+ sp_api/api/application_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ sp_api/api/application_management/application_management.py,sha256=nQ2PLHnvmjciOXnbQLodd32i8rISi_bDlHikuRzFMuc,1881
14
+ sp_api/api/authorization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ sp_api/api/authorization/authorization.py,sha256=G4bHrtfaCmkIkVONK5dfiXzTnTeLacxImQOitOK3Iu0,2798
16
+ sp_api/api/catalog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ sp_api/api/catalog/catalog.py,sha256=LWNO8P_MagvOQn3quhPITb2GQo20juDov728jiabPIg,3893
18
+ sp_api/api/catalog_items/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ sp_api/api/catalog_items/catalog_items.py,sha256=QZikJEBLhC35lFiJ0bNjgInZxVXEZqJKJG3t_uamV7A,4597
20
+ sp_api/api/customer_feedback/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ sp_api/api/customer_feedback/customer_feedback.py,sha256=3QJOu7-nHTdHWGricL6hnmX0qKcmqmoVsBLIpo1IJv4,3559
22
+ sp_api/api/data_kiosk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ sp_api/api/data_kiosk/data_kiosk.py,sha256=QLLJzwwSKoR8wk4AsgADPZJ_noIVl2q91JwLmcPBilc,12190
24
+ sp_api/api/easy_ship/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ sp_api/api/easy_ship/easy_ship.py,sha256=ddYbTUVpnrvSiJBZYcdPAMYUMi6QBPMmUig-KY7ylD8,10996
26
+ sp_api/api/external_fulfillment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ sp_api/api/external_fulfillment/external_fulfillment.py,sha256=6mXwCzcWhzMZmUK_ViG0jadXsB4Vpt3E9SdG-QMa4g4,28671
28
+ sp_api/api/fba_inbound_eligibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ sp_api/api/fba_inbound_eligibility/fba_inbound_eligibility.py,sha256=rwzr7OF69b9OuNiq8wd2yL62_aGKgP8dAhkibUSjFcA,4425
30
+ sp_api/api/fba_small_and_light/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
+ sp_api/api/fba_small_and_light/fba_small_and_light.py,sha256=L959fSutNR5fNE6CGG7Fi44FLPgMixOM4u_vSfrh0b4,8416
32
+ sp_api/api/feeds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ sp_api/api/feeds/feeds.py,sha256=O4rjPjDxE_65DOho1gA2Z7KAd4-tVSoh9Ln0AaeSwBM,10304
34
+ sp_api/api/finances/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ sp_api/api/finances/finances.py,sha256=FW4B3uPfZC8ak6-CraMC59AZp3vPw83eUSvT9KeNEgA,2661
36
+ sp_api/api/fulfillment_inbound/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ sp_api/api/fulfillment_inbound/fulfillment_inbound.py,sha256=eHiWm5DcA9b9-VhG8k6NdRcB7hZU9X9rdeZ2AUEDmNM,86420
38
+ sp_api/api/fulfillment_outbound/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
+ sp_api/api/fulfillment_outbound/fulfillment_outbound.py,sha256=2XW8ZSJPzWTi3Pn6ewV6L_e_mi8UtJq0xiUIZXeUeQw,28789
40
+ sp_api/api/inventories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ sp_api/api/inventories/inventories.py,sha256=lK9U_QsKuSxgDcM9JCq6GP8EH9k9QK1ueai6gwJhAjk,4017
42
+ sp_api/api/listings_items/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
+ sp_api/api/listings_items/listings_items.py,sha256=IVeV95KI-G3gop6B3orRxJeVgcGqy7yczj1WMHzzGd0,11072
44
+ sp_api/api/listings_restrictions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ sp_api/api/listings_restrictions/listings_restrictions.py,sha256=6ByAcUJuGfsr3Ww71DtraNUxejMFChjYcnBL9Hg7BwM,1710
46
+ sp_api/api/merchant_fulfillment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
+ sp_api/api/merchant_fulfillment/merchant_fulfillment.py,sha256=AXAhRBhOlcNtdgZk8butZvaSXD4OJ37RsX94EtIDYB8,15363
48
+ sp_api/api/messaging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
+ sp_api/api/messaging/messaging.py,sha256=pb_LWzBiE6RRVR6NTT6AW0uoBsiPMaoE7TJ-ugeLnlE,18759
50
+ sp_api/api/notifications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
+ sp_api/api/notifications/notifications.py,sha256=VbMQcRHlrLuZqx252kDR9n0zX2FVcEUOO0rW-1QJ3Oc,10937
52
+ sp_api/api/orders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
+ sp_api/api/orders/orders.py,sha256=TIbhUVnrm1CE7Wobgz3uKmHBpynVmSKzQREshT5fpiw,13227
54
+ sp_api/api/product_fees/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ sp_api/api/product_fees/product_fees.py,sha256=QwIVQKpXLXrc1Z2yQ2miSMizQsvprHVmxvG9vM_5niM,6913
56
+ sp_api/api/product_type_definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
+ sp_api/api/product_type_definitions/product_type_definitions.py,sha256=sbQ4IurgxcXSJUTooX4KA8yu9e3EC0qq7Ax15T8lxcM,4472
58
+ sp_api/api/products/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
+ sp_api/api/products/products.py,sha256=xngNvsnILm011BT8HRM22XSqHzsX-iAuGqTUl0YCetE,16420
60
+ sp_api/api/products/products_definitions.py,sha256=bvnIrWmcR4ld_8YaqbwI18ht3B5V_NgClP4pzklF9Yg,341
61
+ sp_api/api/replenishment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
+ sp_api/api/replenishment/replenishment.py,sha256=ehaeQSClepIk3jp7vaHwgVrWljryk-C0WIFKcweeb_8,7506
63
+ sp_api/api/reports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
+ sp_api/api/reports/reports.py,sha256=jQ67gX7MlK_bkOwv4QihrYR7BqbB2R1DBGWe5yrNxR4,18414
65
+ sp_api/api/sales/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
+ sp_api/api/sales/sales.py,sha256=pWptoS4vSBWypRdxFT5a4xyhcH3ZEew3pxep6Xh12yg,5775
67
+ sp_api/api/sellers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
+ sp_api/api/sellers/sellers.py,sha256=_tKEkBxZfeUxAAsHJIztq0PVADXg0s6Av3eatnsxtLQ,2275
69
+ sp_api/api/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ sp_api/api/services/services.py,sha256=09cJucV0zQsC8lRuQ5kJyG51t9ZkJ3HSYweKc1PoiG0,9242
71
+ sp_api/api/shipping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ sp_api/api/shipping/shipping.py,sha256=xIjmu9LqGvnsSD7dGuFH7KY0VykHV3vfyvvX27aoLew,14531
73
+ sp_api/api/shipping/shippingV2.py,sha256=EMxAo0R1WqlyPBUzdc4fZpn4Oy2X4YJlwbkKdI7vmj0,25015
74
+ sp_api/api/solicitations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
+ sp_api/api/solicitations/solicitations.py,sha256=gTPST51WtEhcSIUF-DTsFy2Ag8DBglwWI1Q2GFP9BIU,3934
76
+ sp_api/api/supply_sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
+ sp_api/api/supply_sources/supply_sources.py,sha256=UpWpuyZac5of-hZ0WKjn9V4kIrFcNM-3MGmXjqjRj60,4544
78
+ sp_api/api/tokens/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
+ sp_api/api/tokens/tokens.py,sha256=UMuK3yBpXX0u5wUIEYJuOD7aH410gXy8pmFvBUMiK6M,3368
80
+ sp_api/api/upload/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ sp_api/api/upload/upload.py,sha256=fp-so8uvqMs1cKuR6C54dDijfCjPr0ozMa9hrUBmDkc,652
82
+ sp_api/api/vendor_direct_fulfillment_inventory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
+ sp_api/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py,sha256=jVWIVsFhF4_h08kdZGObb011gKJSJSB4m1qcymrr0DY,2359
84
+ sp_api/api/vendor_direct_fulfillment_orders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
+ sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py,sha256=Z28k0zBEbHA-NhzKkx7W_4NRy1IgJWb0C2ngUCGevpU,9454
86
+ sp_api/api/vendor_direct_fulfillment_payments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
+ sp_api/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py,sha256=OOMl4ddojBdyWVSPlQ4fmo0wH4cQ5_uJ_XkPD6_5WF4,10134
88
+ sp_api/api/vendor_direct_fulfillment_shipping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
+ sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py,sha256=PmmhA9QDd5r_QXkbH3POTGR7MDckgGqY2F26lpgxWpI,28808
90
+ sp_api/api/vendor_direct_fulfillment_transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
+ sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py,sha256=hxpiZfJYslQhZF8ak-zKxH2_91Dwef6l3APYNa1T1oQ,1726
92
+ sp_api/api/vendor_invoices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
+ sp_api/api/vendor_invoices/vendor_invoices.py,sha256=wFT5rwXVTxx9rZg1tQJALn6HKEyY34easU25KWq4Ois,11261
94
+ sp_api/api/vendor_orders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ sp_api/api/vendor_orders/vendor_orders.py,sha256=cA9QQjiwdlNEL0z8syuDovpahb2AAs6H9EGT2fyhbGw,13364
96
+ sp_api/api/vendor_shipments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ sp_api/api/vendor_shipments/vendor_shipments.py,sha256=EFzVetejcR3RLzH9iOMN_JFFXaIhPXi3cJ_4rNQf1JM,8678
98
+ sp_api/api/vendor_transaction_status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
+ sp_api/api/vendor_transaction_status/vendor_transaction_status.py,sha256=hHDA4NSaLxuNUBWNpV5_MfPgRSEm3t0A7Yl9MY6pULc,1690
100
+ sp_api/asyncio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
+ sp_api/asyncio/api/__init__.py,sha256=QTDz2g_fryNGkGszhytqhI8K3x_ttP7fbXLJ5uRvmj0,4747
102
+ sp_api/asyncio/api/amazon_warehousing_and_distribu/__init__.py,sha256=euZc6oTWMvMEOl-qcaVlS9QuQ5VC6FcUkF-tWYfbGAY,233
103
+ sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py,sha256=LDYSQNjGuWdTbfH-9ApC8QY2iRph_wv_Fc6Jv5L2m8k,5947
104
+ sp_api/asyncio/api/aplus_content/__init__.py,sha256=JWgnKrh9Q6eUXogOMDl8ap5si-zjWoPzZGJ_TeJ5rSo,74
105
+ sp_api/asyncio/api/aplus_content/aplus_content.py,sha256=VDC5_9Hgj_5r5IcpqfF3KrwW1FS-jkdmDY7XEiOcziU,18701
106
+ sp_api/asyncio/api/application_integrations/__init__.py,sha256=mGwAQ9lcYC-T8osUGiBnwXCFtWg5WD7ZFEHvrit2ULI,107
107
+ sp_api/asyncio/api/application_integrations/application_integrations.py,sha256=cbcLnmesPuuLCbIQHl4d_oP5bc6z48xXUhI-D6eGrrs,6562
108
+ sp_api/asyncio/api/application_management/__init__.py,sha256=d9-YuAe0RRnvEBOk8j1DrU6qe5IoSZa8xZ4BFuvM5u0,101
109
+ sp_api/asyncio/api/application_management/application_management.py,sha256=5oahqYOcJ4rpqbpH-zT7WSfMuzyjc8ZXTwSNNOBmAfs,1941
110
+ sp_api/asyncio/api/authorization/__init__.py,sha256=nbpVTM18kXKaYV46t9IHQiQLv7bsQzJxZaZYOSomFcc,76
111
+ sp_api/asyncio/api/authorization/authorization.py,sha256=RglkTIDFL7FEWQGtejRmFC68wX389DW6jA685LWXkhY,2858
112
+ sp_api/asyncio/api/catalog/__init__.py,sha256=FSAPgs74vlFK6gtx2bfBR2bKcQmuUXHjXjQw9W904rM,58
113
+ sp_api/asyncio/api/catalog/catalog.py,sha256=R2H7iRBqooupOANAwYhZHDd20byXnoKgxHpGy1bpcVc,4000
114
+ sp_api/asyncio/api/catalog_items/__init__.py,sha256=nr2l6VzR1qJwzHt9CVelWLWoB-SxEaENcmC7EukZbNc,122
115
+ sp_api/asyncio/api/catalog_items/catalog_items.py,sha256=pGIIURMVuHvO9oJnKMuLAE_CdftE-rPWmKGX2GJw4fs,4692
116
+ sp_api/asyncio/api/clients/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
117
+ sp_api/asyncio/api/customer_feedback/__init__.py,sha256=Fk0oRP45N5GTbdK2ZF5J9vwVvjEQGOnT5rWW9mEOUMk,86
118
+ sp_api/asyncio/api/customer_feedback/customer_feedback.py,sha256=hdaPRFuWQwnGMfCo3sUsjKuSk3DtrwoBQ2_OtxMbkII,3691
119
+ sp_api/asyncio/api/data_kiosk/__init__.py,sha256=CEVFlAj9CdmH24DMqaf-Gv1BHef7cnI6xw2ne8kZllg,65
120
+ sp_api/asyncio/api/data_kiosk/data_kiosk.py,sha256=qzr7z4I3T2W8nUfKijHBHFmlyyoQGKvJjsDZBkWE5Uc,12314
121
+ sp_api/asyncio/api/easy_ship/__init__.py,sha256=pqA8wt8zxL3mGKCuaZQiH0xd8d7Cz53uHDA6mSvIz_c,62
122
+ sp_api/asyncio/api/easy_ship/easy_ship.py,sha256=c3d66x96aRZgf7wzhOIFBMA3V6yDJSW1PQBeutSGcJM,11105
123
+ sp_api/asyncio/api/external_fulfillment/__init__.py,sha256=NJ9c1Md5rOOrAEQb8Gb0NcX1dobbkk7RU8G0qADRfZU,95
124
+ sp_api/asyncio/api/external_fulfillment/external_fulfillment.py,sha256=sudg9PP_0iTx8-GfC-rQ2KmdNlNvwzyBRcjnUYfm8zA,28836
125
+ sp_api/asyncio/api/fba_inbound_eligibility/__init__.py,sha256=Hkb1LbzW2WF1MqzYgYIsi2xyBrGFUkdDnvNpNo2LrEs,102
126
+ sp_api/asyncio/api/fba_inbound_eligibility/fba_inbound_eligibility.py,sha256=zpMPPS1h-8KPDjePuUU8Sv4A59CfanLoMMoIejpp2p4,4493
127
+ sp_api/asyncio/api/fba_small_and_light/__init__.py,sha256=rw75XNOmQSIlpq1SFQ0cGaFwgXLWiqbcIZEipN8WnLA,88
128
+ sp_api/asyncio/api/fba_small_and_light/fba_small_and_light.py,sha256=rDEN6W4s7qNeq6jFghAENC-twtjjO6u992tfPECzl2M,8660
129
+ sp_api/asyncio/api/feeds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
+ sp_api/asyncio/api/feeds/feeds.py,sha256=JBpkI9fG8LUl1HMQQenyC5Lw9qetPEEFH1k_kjCCDDw,10411
131
+ sp_api/asyncio/api/finances/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
+ sp_api/asyncio/api/finances/finances.py,sha256=5-zomf92cnRK-LpA97XmFZeJz-GTbIoEnDbzybdGvtU,2778
133
+ sp_api/asyncio/api/fulfillment_inbound/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
+ sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound.py,sha256=WUiNQs5nlfPyJnACw1knVal773GPbRENT4vMxgNn1aQ,87167
135
+ sp_api/asyncio/api/fulfillment_outbound/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
136
+ sp_api/asyncio/api/fulfillment_outbound/fulfillment_outbound.py,sha256=qwokjv2IVNmAPHQl_n81eiMcHtn8BezoYpm4Jh3UMt4,28989
137
+ sp_api/asyncio/api/inventories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
+ sp_api/asyncio/api/inventories/inventories.py,sha256=cNU6HhErPwZa8Etgx4QfuWsYJwCjjhls59YEM1ErUlI,4086
139
+ sp_api/asyncio/api/listings_items/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
+ sp_api/asyncio/api/listings_items/listings_items.py,sha256=N-zgbKgiTf-dcY1AqEYwLZfZphS97g1_KRwWwWjYSL0,11189
141
+ sp_api/asyncio/api/listings_restrictions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
+ sp_api/asyncio/api/listings_restrictions/listings_restrictions.py,sha256=nI9gRA7qMnWYsLKNM79RNdpig4xVXKoJWdpTmXKiioI,1778
143
+ sp_api/asyncio/api/merchant_fulfillment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
+ sp_api/asyncio/api/merchant_fulfillment/merchant_fulfillment.py,sha256=cJxKftswLjQbiGM2Fm9fIDn0FQOJ8Ew2NvfFKAHgRW8,15515
145
+ sp_api/asyncio/api/messaging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
+ sp_api/asyncio/api/messaging/messaging.py,sha256=_vGUXO9yON0gp_e392YCQyAXND31AgUHhoW-_9fKhg0,18971
147
+ sp_api/asyncio/api/models/__init__.py,sha256=uHFaIn5OjyNVh8VXOqzqnC0ehTmd6fp_SRtsRP4J9e8,130
148
+ sp_api/asyncio/api/notifications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
+ sp_api/asyncio/api/notifications/notifications.py,sha256=xjg6nQ3Jgvk82TAovreQTneGocXKcY-Jk6flXrz0GhQ,11083
150
+ sp_api/asyncio/api/orders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
+ sp_api/asyncio/api/orders/orders.py,sha256=IKns8nkkaYYSekquS6F_JAcLEGboecSXRWUqb0YBp7w,13358
152
+ sp_api/asyncio/api/overrides/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
153
+ sp_api/asyncio/api/product_fees/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
+ sp_api/asyncio/api/product_fees/product_fees.py,sha256=9GIQuoz37_QDmKnCe9wdjyqAhX5-z1n_AaTdvVyt_N8,6998
155
+ sp_api/asyncio/api/product_type_definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
+ sp_api/asyncio/api/product_type_definitions/product_type_definitions.py,sha256=ncXLOEHo62bj4GWuMFEKe3IOv0F5i-VnaGsVA6EWK_Q,4552
157
+ sp_api/asyncio/api/products/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
+ sp_api/asyncio/api/products/products.py,sha256=6bDiSvhzio0do2yRnMppUB7c5FbmRDy2suhcquctDK0,16585
159
+ sp_api/asyncio/api/products/products_definitions.py,sha256=bvnIrWmcR4ld_8YaqbwI18ht3B5V_NgClP4pzklF9Yg,341
160
+ sp_api/asyncio/api/replenishment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
+ sp_api/asyncio/api/replenishment/replenishment.py,sha256=wFhkCmRKcyY3CCHiIacGrQUfZAKozIupgNMS_CvS-Wk,7598
162
+ sp_api/asyncio/api/reports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
+ sp_api/asyncio/api/reports/reports.py,sha256=_WXLk-W1JV_mKcYNFyU2bSdOQN3i3dorW1PAo3yneKs,18523
164
+ sp_api/asyncio/api/sales/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
+ sp_api/asyncio/api/sales/sales.py,sha256=X36QTCMtRmxN8emhMScTCLbpISVrSOo8vrw8jCbpUIY,5844
166
+ sp_api/asyncio/api/sellers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
+ sp_api/asyncio/api/sellers/sellers.py,sha256=T-jhus0vE9mRfYliI_iM4xGOs3vgj5KNPbJ_vxDTB10,2355
168
+ sp_api/asyncio/api/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
+ sp_api/asyncio/api/services/services.py,sha256=JBczt_9VBwMKPyZrxrAnYK7s3nx3lRX-9Zv1ZgSFmng,9370
170
+ sp_api/asyncio/api/shipping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
+ sp_api/asyncio/api/shipping/shipping.py,sha256=t2Rz94ITsAngpwjHshBp5BTKkeHLvqvnkwEqIUHDs2Y,14695
172
+ sp_api/asyncio/api/shipping/shippingV2.py,sha256=iHU6pVxE7c5P1vnfsbHq8Y-y2wlFOn5llwvItahfgAg,24979
173
+ sp_api/asyncio/api/solicitations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
+ sp_api/asyncio/api/solicitations/solicitations.py,sha256=4m1E2Ncx1I8ksrsLmL2G0gPMzl0ud9ZG3H7TDqtgB1s,4014
175
+ sp_api/asyncio/api/supply_sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
+ sp_api/asyncio/api/supply_sources/supply_sources.py,sha256=kCWfFmfrdW-6AmXTmXqVCNz19vsa8piOYUXPkzg0Nwg,4672
177
+ sp_api/asyncio/api/tokens/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
+ sp_api/asyncio/api/tokens/tokens.py,sha256=bfhURf_YMIggJfTcU9GmF2Fa0w1g4ntablJu2xUas6w,3436
179
+ sp_api/asyncio/api/upload/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
+ sp_api/asyncio/api/upload/upload.py,sha256=_-8xOYX7pVnX15EJtZGcA5APQE2kXXUVLrhk8waSGOo,720
181
+ sp_api/asyncio/api/vendor_direct_fulfillment_inventory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
+ sp_api/asyncio/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py,sha256=wzcSqmrAvpNLdJ7dsTKLUTojkNezk6X3zRyped0QZqU,2427
183
+ sp_api/asyncio/api/vendor_direct_fulfillment_orders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
+ sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py,sha256=eBTgFLY2aLr9hWW0G7kR7x7auMvNuJIHOdycLHnyGKs,9546
185
+ sp_api/asyncio/api/vendor_direct_fulfillment_payments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
+ sp_api/asyncio/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py,sha256=gpt-TyZoa1d7ESQgXyPpzj0Q37WifiTAINW543djS_c,10202
187
+ sp_api/asyncio/api/vendor_direct_fulfillment_shipping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
+ sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py,sha256=L6skQEE-0mSox4soFNQKDQ_zzpRGKvjZroGC0wazDnw,28972
189
+ sp_api/asyncio/api/vendor_direct_fulfillment_transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
+ sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py,sha256=bl_cXNd8VbT_bK5T0ljobBFX0fzPQtdJ-rVoMX2-Fdw,1794
191
+ sp_api/asyncio/api/vendor_invoices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
+ sp_api/asyncio/api/vendor_invoices/vendor_invoices.py,sha256=oAFzgM29_Uxt76Wyu0FCbMTNUdEVXXBUFh8xn1MjKNc,11329
193
+ sp_api/asyncio/api/vendor_orders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
+ sp_api/asyncio/api/vendor_orders/vendor_orders.py,sha256=Dj9taJEzyzKuhC7Sg3D-MX0b6xSHzTi8Ri3sO4JxjA4,13468
195
+ sp_api/asyncio/api/vendor_shipments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
+ sp_api/asyncio/api/vendor_shipments/vendor_shipments.py,sha256=H7_pn5lQpiSRb1tkgamcMXgqPMFCccsXi-yKCQjXuvI,8770
197
+ sp_api/asyncio/api/vendor_transaction_status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
+ sp_api/asyncio/api/vendor_transaction_status/vendor_transaction_status.py,sha256=ADHNOLz-omqhkQM8_i-C02UC4DJJY4as0nqQ5o6kySw,1758
199
+ sp_api/asyncio/auth/__init__.py,sha256=Lz5CvJjuI8DBBSWStnzODzIt4ClLk_NXMp2Ow9DcL9o,332
200
+ sp_api/asyncio/auth/access_token_client.py,sha256=Jluz_ld1B9MpzmzkFhtS-oK81tuKoctZd2G6vVi7w3E,5123
201
+ sp_api/asyncio/auth/exceptions.py,sha256=dca0HDqrvkZvZOpWtlZrW5RsARtRRxZdKqdlT9otbmQ,95
202
+ sp_api/asyncio/base/__init__.py,sha256=NzhwCKcCYPI6rOz-ognIobwrkOvtpIQ7uqMlpBaNqww,1130
203
+ sp_api/asyncio/base/_transport_httpx.py,sha256=AcCcgt_eJbBooPPUolHQEeJZe7JO4WPlqChD9zXChTI,1184
204
+ sp_api/asyncio/base/base_client.py,sha256=uQEIgDexDlUPCTFuZucEsIxktBlZDmsSw4LUvNrVPxo,223
205
+ sp_api/asyncio/base/client.py,sha256=yeSZ0IzO_UC2NfG1D41m8LGOrX4V_Fupu-9x2T0CSRE,5631
206
+ sp_api/asyncio/util/__init__.py,sha256=f-3ITOn0vjT1dpj9frFjxKSUdazZ9mfPAyj-auwCYjU,696
207
+ sp_api/asyncio/util/key_maker.py,sha256=oP4aMPbtKo4ACgJQHJUKZrCk68tcVGXb84bOI9T7SKI,74
208
+ sp_api/asyncio/util/load_all_pages.py,sha256=vd4RZ2iWEB5eRBu0eMenAyPX9R45bgWHJmixFSIrWTE,1871
209
+ sp_api/asyncio/util/load_date_bound.py,sha256=gbXafCQBHzJ2oHtOWB1J23iYfjCS4n2-1pt3fYq7ROk,1738
210
+ sp_api/asyncio/util/retry.py,sha256=eYzgWWLdMa-X2PY6rpMzdrUa6yF_dTOIaCXtdbtQn9k,2436
211
+ sp_api/auth/__init__.py,sha256=gb6opFLhOc3wL3lt7iS879P_ljflMepaFYEkqdlD_GQ,229
212
+ sp_api/auth/_core.py,sha256=X705VSBcENOodK4-IyDfxmuy8TpAXnxNxQhTQmRk6I4,1100
213
+ sp_api/auth/access_token_client.py,sha256=t9SpU4n7q6Iso4CuBhlaL2YICJdSMptW90ZZZc_19nk,4358
214
+ sp_api/auth/access_token_response.py,sha256=_0UUopFHGNWHFwyeerCYWEDI61FRysDfSRb5JefCEuw,275
215
+ sp_api/auth/credentials.py,sha256=OndGKpAOupU6F6CmvOYNlK7uqgXia4DdHhW-u3IRKCk,262
216
+ sp_api/auth/exceptions.py,sha256=JCY74CZbxqSQ09huA1r_Z5kuD1k0O_sjD7sHhJI0aIk,424
217
+ sp_api/base/ApiResponse.py,sha256=jcxfWXYVb8LZKokQF_R-ZvVhBSFcE8tyJufUh5i6Jcc,2287
218
+ sp_api/base/InventoryEnums.py,sha256=IQJ9AhcKpXadO4qP5i76kzHfP2EWQ-KTaZdR6MoOFjI,95
219
+ sp_api/base/__init__.py,sha256=IaBNIYLWsgvCKAfbMXLVPZdo2Wkw5ZdUhH8vxFfj0wc,2617
220
+ sp_api/base/_core.py,sha256=dDd9Hp8AI2fUKfXLgz_3iKhb9OWYcR-whjUW73xyNkc,2907
221
+ sp_api/base/_transport_httpx.py,sha256=euO7zkSdIwoNBaDKQmU-yFoZUVy-vh50vrJEMXWxlvI,1026
222
+ sp_api/base/base_client.py,sha256=uQEIgDexDlUPCTFuZucEsIxktBlZDmsSw4LUvNrVPxo,223
223
+ sp_api/base/client.py,sha256=V91mv7HxBkqX5g0aYjj-Swq0CA-izhLXfmGi02keOL0,6678
224
+ sp_api/base/credential_provider.py,sha256=PbhHsVXGw0abdmHNSk5UiEy3cn5cf7AQttnelSYOofY,5972
225
+ sp_api/base/exceptions.py,sha256=gniV45duxHdD_TWsN9023SObVpPLwMtBzkXlKQrWvYo,4001
226
+ sp_api/base/feedTypes.py,sha256=9iI64uXULqUbVLVANftzltFmpFRgtgSDsARTMQ28jvo,2479
227
+ sp_api/base/fulfillment_channel.py,sha256=x-0DnVC1U_6GdeYViGQxM7Ree48HKBSXR2x8y33MuO4,93
228
+ sp_api/base/helpers.py,sha256=H38w9T_QWAyUzLsBAQWRhC5Q0CysdWuus1xrwp-ISqc,2518
229
+ sp_api/base/identifiersType.py,sha256=3jBIeSlXDaV7Ikc8k9p67m4T7rJYfkevdGW3ZOdAScQ,562
230
+ sp_api/base/included_data.py,sha256=WccyLjgeiUTApIu6UFOsn0-o_SjfnBF1r-3zj7EQ7Ag,2977
231
+ sp_api/base/inegibility_reasons.py,sha256=vyQ8buMNwXUeV2cp7kZxtzbBkflqaMxuND_LlUtY2hA,9349
232
+ sp_api/base/marketplaces.py,sha256=H96HaIrnpAVcFCJF9LYEA_U0nuSHhVw1v-exzVbmxnQ,4258
233
+ sp_api/base/notifications.py,sha256=yAajFMCPAYzuuc1VaVNp1Jt71M_KR1PiSoq92TvHwxE,5448
234
+ sp_api/base/processing_status.py,sha256=V6YVoAE1pO3vrusDz0Sahc-DqgJqeNDuIaJIduXuDb4,183
235
+ sp_api/base/reportTypes.py,sha256=26ZjqGlaSD6s3DDHlicvscuh6z7NBw9qQWSE5nVHhNQ,10395
236
+ sp_api/base/report_status.py,sha256=mHPPFvK2xpfucCl6Vk87BHFJO8FB1x0Ej-h3fQFOetE,179
237
+ sp_api/base/sales_enum.py,sha256=O08knipDvuPEBYPM3kYEofl7t6uGZ-nJrn0L9q3CX9w,395
238
+ sp_api/base/schedules.py,sha256=WX0tYSAK4kI-ceBqeE_cY2_MaKC2usEgV2FDqujioqI,433
239
+ sp_api/util/__init__.py,sha256=_Kl02VHEvLih6A4LwUhYvv_qh5AK5uPsNtmkeKxVLtk,1332
240
+ sp_api/util/key_maker.py,sha256=T4I2rdBZzvWtX32qgrv9DA5EzVK3LEAWtbRffup-_kE,2172
241
+ sp_api/util/load_all_pages.py,sha256=K6Suml4_GWZ5L9-YcnhaM9q-dA7Xr6wNLE-kWP_8MPk,1839
242
+ sp_api/util/load_date_bound.py,sha256=j9gu9WucENqU9xaQ-xG7c4yK4RB-FXK39_r1mLT76z0,1726
243
+ sp_api/util/params.py,sha256=wXM5LgwB0EjA2T5guVjsdZUXHaXwB401cbXzH6B_GOE,1526
244
+ sp_api/util/product_fees.py,sha256=uvTct-armJYwkRsDn_2PBNOAD2H3_mfc8NqkFpjXzi4,1118
245
+ sp_api/util/products_definitions.py,sha256=TVO1L-vjyzSmL54Xfa0m3K6rVUFaTNsYBjeGnLpscDI,5061
246
+ sp_api/util/report_document.py,sha256=_LxuIJDIb6DTvzobY4qdlQ78ibZi6rwQ1dDK3FMxegs,4682
247
+ sp_api/util/retry.py,sha256=V8SeSeX3Brdou138hNA5HeQkKlHppZcqbZobIDjmBYw,2407
248
+ python_amazon_sp_api-2.0.7.dist-info/METADATA,sha256=cCwizrFOz0V2JCtHcXXCc2bJW03Sw9sjwil4iu9SQUo,6968
249
+ python_amazon_sp_api-2.0.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
250
+ python_amazon_sp_api-2.0.7.dist-info/top_level.txt,sha256=mEzPMFyyy0LmJGY4KFXfh5usUka4eeouIr7-2IAzoE0,7
251
+ python_amazon_sp_api-2.0.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
sp_api/__version__.py CHANGED
@@ -1 +1 @@
1
- __version__ = '1.9.18'
1
+ __version__ = '2.0.7'
sp_api/api/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- from .finances.finances import Finances
1
+ from .finances.finances import Finances, FinancesVersion
2
2
  from .notifications.notifications import Notifications
3
3
  from .orders.orders import Orders
4
4
  from .product_fees.product_fees import ProductFees
@@ -22,6 +22,11 @@ from .messaging.messaging import Messaging
22
22
  from .merchant_fulfillment.merchant_fulfillment import MerchantFulfillment
23
23
 
24
24
  ##### DO NOT DELETE ########## INSERT IMPORT HERE #######
25
+ from .application_integrations.application_integrations import ApplicationIntegrations
26
+
27
+ from .easy_ship.easy_ship import EasyShip
28
+
29
+ from .customer_feedback.customer_feedback import CustomerFeedback
25
30
 
26
31
  from .listings_restrictions.listings_restrictions import ListingsRestrictions
27
32
 
@@ -92,6 +97,8 @@ from .amazon_warehousing_and_distribu.amazon_warehousing_and_distribu import (
92
97
  AmazonWarehousingAndDistributionVersion,
93
98
  )
94
99
 
100
+ from .external_fulfillment.external_fulfillment import ExternalFulfillment
101
+
95
102
  __all__ = [
96
103
  "Sales",
97
104
  "Products",
@@ -110,6 +117,16 @@ __all__ = [
110
117
  "FulfillmentInbound",
111
118
  "MerchantFulfillment",
112
119
  ##### DO NOT DELETE ########## INSERT TITLE HERE #######
120
+ "ExternalFulfillment",
121
+ "ApplicationIntegrations",
122
+ "CustomerFeedback",
123
+ "FulfillmentInbound",
124
+
125
+ "EasyShip",
126
+
127
+
128
+ "FulfillmentInbound",
129
+ "FinancesVersion",
113
130
  "ListingsRestrictions",
114
131
  "CatalogItemsVersion",
115
132
  "AmazonWarehousingAndDistributionVersion",
@@ -0,0 +1,118 @@
1
+ import urllib.parse
2
+
3
+ from sp_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
4
+
5
+
6
+ class ApplicationIntegrations(Client):
7
+ """
8
+ ApplicationIntegrations SP-API Client
9
+ :link:
10
+
11
+ With the AppIntegrations API v2024-04-01, you can send notifications to Amazon Selling Partners and display the notifications in Seller Central.
12
+ """
13
+
14
+
15
+ @sp_endpoint('/appIntegrations/2024-04-01/notifications', method='POST')
16
+ def create_notification(self, **kwargs) -> ApiResponse:
17
+ """
18
+ create_notification(self, **kwargs) -> ApiResponse
19
+
20
+ Create a notification for sellers in Seller Central.
21
+
22
+ **Usage Plan:**
23
+
24
+ | Rate (requests per second) | Burst |
25
+ | ---- | ---- |
26
+ | 1 | 5 |
27
+
28
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Sellers whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [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).
29
+
30
+ Args:
31
+
32
+ body: | * REQUIRED {'description': 'The request for the `createNotification` operation.',
33
+ 'example': {'marketplaceId': 'ATVPDKIKX0DER', 'notificationParameters': {'priceValue': '200'}, 'templateId': 'PRICE_CHANGE'},
34
+ 'properties': {'marketplaceId': {'description': 'An encrypted marketplace identifier for the posted notification.', 'type': 'string'},
35
+ 'notificationParameters': {'$ref': '#/definitions/NotificationParameters', 'description': 'The parameters specified in the template you used to onboard your application.'},
36
+ 'templateId': {'description': 'The unique identifier of the notification template you used to onboard your application.', 'type': 'string'}},
37
+ 'required': ['templateId', 'notificationParameters'],
38
+ 'type': 'object'}
39
+
40
+
41
+ Returns:
42
+ ApiResponse:
43
+ """
44
+
45
+ return self._request(kwargs.pop('path'), data=kwargs)
46
+
47
+
48
+ @sp_endpoint('/appIntegrations/2024-04-01/notifications/deletion', method='POST')
49
+ def delete_notifications(self, **kwargs) -> ApiResponse:
50
+ """
51
+ delete_notifications(self, **kwargs) -> ApiResponse
52
+
53
+ Remove your application's notifications from the Appstore notifications dashboard.
54
+
55
+ **Usage Plan:**
56
+
57
+ | Rate (requests per second) | Burst |
58
+ | ---- | ---- |
59
+ | 1 | 5 |
60
+
61
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Sellers whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [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).
62
+
63
+ Args:
64
+
65
+ body: | * REQUIRED {'description': 'The request for the `deleteNotifications` operation.',
66
+ 'example': {'deletionReason': 'INCORRECT_CONTENT', 'templateId': 'PRICE_CHANGE'},
67
+ 'properties': {'deletionReason': {'description': 'The unique identifier that maps each notification status to a reason code.',
68
+ 'enum': ['INCORRECT_CONTENT', 'INCORRECT_RECIPIENT'],
69
+ 'type': 'string',
70
+ 'x-docgen-enum-table-extension': [{'description': "The notification's content is recognized to be incorrect.", 'value': 'INCORRECT_CONTENT'},
71
+ {'description': 'The notification was sent to incorrect seller.', 'value': 'INCORRECT_RECIPIENT'}]},
72
+ 'templateId': {'description': 'The unique identifier of the notification template you used to onboard your application.', 'type': 'string'}},
73
+ 'required': ['templateId', 'deletionReason'],
74
+ 'type': 'object'}
75
+
76
+
77
+ Returns:
78
+ ApiResponse:
79
+ """
80
+
81
+ return self._request(kwargs.pop('path'), data=kwargs)
82
+
83
+
84
+ @sp_endpoint('/appIntegrations/2024-04-01/notifications/{}/feedback', method='POST')
85
+ def record_action_feedback(self, notificationId, **kwargs) -> ApiResponse:
86
+ """
87
+ record_action_feedback(self, notificationId, **kwargs) -> ApiResponse
88
+
89
+ Records the seller's response to a notification.
90
+
91
+ **Usage Plan:**
92
+
93
+ | Rate (requests per second) | Burst |
94
+ | ---- | ---- |
95
+ | 1 | 5 |
96
+
97
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table indicates the default rate and burst values for this operation. Sellers whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [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).
98
+
99
+ Args:
100
+
101
+ notificationId:string | * REQUIRED A `notificationId` uniquely identifies a notification.
102
+
103
+ body: | * REQUIRED {'description': 'The request for the `recordActionFeedback` operation.',
104
+ 'example': {'feedbackActionCode': 'SELLER_ACTION_COMPLETED'},
105
+ 'properties': {'feedbackActionCode': {'description': 'The unique identifier for each notification status.',
106
+ 'enum': ['SELLER_ACTION_COMPLETED'],
107
+ 'type': 'string',
108
+ 'x-docgen-enum-table-extension': [{'description': 'The seller completed the action attached to the posted notification.', 'value': 'SELLER_ACTION_COMPLETED'}]}},
109
+ 'required': ['feedbackActionCode'],
110
+ 'type': 'object'}
111
+
112
+
113
+ Returns:
114
+ ApiResponse:
115
+ """
116
+
117
+ return self._request(fill_query_params(kwargs.pop('path'), notificationId), data=kwargs)
118
+
@@ -8,6 +8,7 @@ class ApplicationManagement(Client):
8
8
 
9
9
  The Selling Partner API for Application Management lets you programmatically update the client secret on registered applications.
10
10
  """
11
+ grantless_scope = 'sellingpartnerapi::client_credential:rotation'
11
12
 
12
13
  @sp_endpoint("/applications/2023-11-30/clientSecret", method="POST")
13
14
  def rotate_application_client_secret(self, **kwargs) -> ApiResponse:
@@ -31,4 +32,4 @@ class ApplicationManagement(Client):
31
32
  ApiResponse:
32
33
  """
33
34
 
34
- return self._request(kwargs.pop("path"), data=kwargs)
35
+ return self._request_grantless_operation(kwargs.pop("path"), data=kwargs)
@@ -1,6 +1,7 @@
1
1
  import urllib.parse
2
2
 
3
3
  from sp_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
4
+ from sp_api.util import encode_kwarg
4
5
 
5
6
 
6
7
  class Catalog(Client):
@@ -75,8 +76,7 @@ class Catalog(Client):
75
76
  Returns:
76
77
  ListCatalogItemsResponse:
77
78
  """
78
- if "Query" in kwargs:
79
- kwargs.update({"Query": urllib.parse.quote_plus(kwargs.pop("Query"))})
79
+ encode_kwarg(kwargs, "Query", urllib.parse.quote_plus)
80
80
  return self._request(kwargs.pop("path"), params=kwargs)
81
81
 
82
82
  @sp_endpoint("/catalog/v0/categories")
@@ -104,6 +104,5 @@ class Catalog(Client):
104
104
  Returns:
105
105
  ListCatalogCategoriesResponse:
106
106
  """
107
- if "Query" in kwargs:
108
- kwargs.update({"Query": urllib.parse.quote_plus(kwargs.pop("Query"))})
107
+ encode_kwarg(kwargs, "Query", urllib.parse.quote_plus)
109
108
  return self._request(kwargs.pop("path"), params=kwargs)
@@ -1,6 +1,7 @@
1
1
  import enum
2
2
 
3
3
  from sp_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
4
+ from sp_api.util import normalize_included_data
4
5
 
5
6
 
6
7
  class CatalogItemsVersion(str, enum.Enum):
@@ -56,9 +57,7 @@ class CatalogItems(Client):
56
57
  ApiResponse:
57
58
  """
58
59
 
59
- includedData = kwargs.get("includedData", [])
60
- if includedData and isinstance(includedData, list):
61
- kwargs["includedData"] = ",".join(includedData)
60
+ normalize_included_data(kwargs)
62
61
  return self._request(kwargs.pop("path"), params=kwargs)
63
62
 
64
63
  @sp_endpoint("/catalog/<version>/items/{}", method="GET")
@@ -87,7 +86,5 @@ class CatalogItems(Client):
87
86
  ApiResponse:
88
87
  """
89
88
 
90
- includedData = kwargs.get("includedData", [])
91
- if includedData and isinstance(includedData, list):
92
- kwargs["includedData"] = ",".join(includedData)
89
+ normalize_included_data(kwargs)
93
90
  return self._request(fill_query_params(kwargs.pop("path"), asin), params=kwargs)