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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/METADATA +7 -7
  2. python_amazon_sp_api-2.1.3.dist-info/RECORD +350 -0
  3. sp_api/__version__.py +1 -1
  4. sp_api/api/__init__.py +160 -4
  5. sp_api/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +85 -110
  6. sp_api/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu_2024_05_09.py +456 -0
  7. sp_api/api/aplus_content/aplus_content.py +176 -125
  8. sp_api/api/application_integrations/application_integrations.py +59 -68
  9. sp_api/api/application_management/application_management.py +20 -13
  10. sp_api/api/authorization/authorization.py +8 -26
  11. sp_api/api/catalog/catalog.py +27 -61
  12. sp_api/api/catalog_items/catalog_items.py +108 -78
  13. sp_api/api/catalog_items/catalog_items_2020_12_01.py +86 -0
  14. sp_api/api/catalog_items/catalog_items_2022_04_01.py +89 -0
  15. sp_api/api/customer_feedback/customer_feedback.py +100 -0
  16. sp_api/api/data_kiosk/data_kiosk.py +80 -75
  17. sp_api/api/delivery_by_amazon/__init__.py +0 -0
  18. sp_api/api/delivery_by_amazon/delivery_by_amazon.py +92 -0
  19. sp_api/api/delivery_by_amazon/delivery_by_amazon_2022_07_01.py +81 -0
  20. sp_api/api/easy_ship/easy_ship.py +121 -111
  21. sp_api/api/external_fulfillment/external_fulfillment.py +211 -434
  22. sp_api/api/external_fulfillment/inventory.py +120 -0
  23. sp_api/api/external_fulfillment/inventory_2021_01_06.py +71 -0
  24. sp_api/api/external_fulfillment/inventory_2024_09_11.py +96 -0
  25. sp_api/api/external_fulfillment/returns.py +120 -0
  26. sp_api/api/external_fulfillment/returns_2021_08_19.py +88 -0
  27. sp_api/api/external_fulfillment/returns_2024_09_11.py +141 -0
  28. sp_api/api/external_fulfillment/shipping.py +120 -0
  29. sp_api/api/external_fulfillment/shipping_2021_01_06.py +256 -0
  30. sp_api/api/external_fulfillment/shipping_2024_09_11.py +233 -0
  31. sp_api/api/fba_inbound_eligibility/fba_inbound_eligibility.py +30 -24
  32. sp_api/api/fba_small_and_light/fba_small_and_light.py +60 -99
  33. sp_api/api/feeds/feeds.py +75 -245
  34. sp_api/api/feeds/feeds_2021_06_30.py +320 -0
  35. sp_api/api/finances/finances.py +123 -90
  36. sp_api/api/finances/finances_2024_06_01.py +71 -0
  37. sp_api/api/finances/finances_2024_06_19.py +114 -0
  38. sp_api/api/finances/finances_v0.py +116 -0
  39. sp_api/api/fulfillment_inbound/fulfillment_inbound.py +107 -1784
  40. sp_api/api/fulfillment_inbound/fulfillment_inbound_2024_03_20.py +1722 -0
  41. sp_api/api/fulfillment_inbound/fulfillment_inbound_v0.py +1384 -0
  42. sp_api/api/fulfillment_outbound/fulfillment_outbound.py +256 -480
  43. sp_api/api/inventories/inventories.py +79 -42
  44. sp_api/api/invoices/__init__.py +0 -0
  45. sp_api/api/invoices/invoices.py +92 -0
  46. sp_api/api/invoices/invoices_2024_06_19.py +344 -0
  47. sp_api/api/listings_items/listings_items.py +110 -163
  48. sp_api/api/listings_items/listings_items_2020_09_01.py +189 -0
  49. sp_api/api/listings_items/listings_items_2021_08_01.py +233 -0
  50. sp_api/api/listings_restrictions/listings_restrictions.py +23 -10
  51. sp_api/api/merchant_fulfillment/merchant_fulfillment.py +107 -222
  52. sp_api/api/messaging/messaging.py +184 -198
  53. sp_api/api/notifications/notifications.py +144 -106
  54. sp_api/api/orders/orders.py +9 -46
  55. sp_api/api/orders/orders_2026_01_01.py +19 -65
  56. sp_api/api/orders/orders_v0.py +152 -184
  57. sp_api/api/product_fees/product_fees.py +101 -75
  58. sp_api/api/product_type_definitions/product_type_definitions.py +47 -36
  59. sp_api/api/products/products.py +94 -386
  60. sp_api/api/products/products_2022_05_01.py +96 -0
  61. sp_api/api/products/products_v0.py +389 -0
  62. sp_api/api/replenishment/replenishment.py +58 -69
  63. sp_api/api/reports/reports.py +124 -157
  64. sp_api/api/sales/sales.py +22 -39
  65. sp_api/api/seller_wallet/__init__.py +0 -0
  66. sp_api/api/seller_wallet/seller_wallet.py +92 -0
  67. sp_api/api/seller_wallet/seller_wallet_2024_03_01.py +300 -0
  68. sp_api/api/sellers/sellers.py +15 -35
  69. sp_api/api/services/services.py +479 -82
  70. sp_api/api/shipment_invoicing/__init__.py +0 -0
  71. sp_api/api/shipment_invoicing/shipment_invoicing.py +92 -0
  72. sp_api/api/shipment_invoicing/shipment_invoicing_v0.py +101 -0
  73. sp_api/api/shipping/shipping.py +94 -440
  74. sp_api/api/shipping/shippingV2.py +183 -474
  75. sp_api/api/shipping/shipping_v1.py +330 -0
  76. sp_api/api/shipping/shipping_v2.py +723 -0
  77. sp_api/api/solicitations/solicitations.py +28 -18
  78. sp_api/api/supply_sources/supply_sources.py +67 -57
  79. sp_api/api/tokens/tokens.py +14 -35
  80. sp_api/api/vehicles/__init__.py +0 -0
  81. sp_api/api/vehicles/vehicles.py +92 -0
  82. sp_api/api/vehicles/vehicles_2024_11_01.py +33 -0
  83. sp_api/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +16 -29
  84. sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +116 -189
  85. sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_2021_12_28.py +114 -0
  86. sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_v1.py +114 -0
  87. sp_api/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +15 -225
  88. sp_api/api/vendor_direct_fulfillment_sandbox_test_data/__init__.py +0 -0
  89. sp_api/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data.py +92 -0
  90. sp_api/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.py +50 -0
  91. sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +122 -624
  92. sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_2021_12_28.py +390 -0
  93. sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_v1.py +320 -0
  94. sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +113 -29
  95. sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_2021_12_28.py +47 -0
  96. sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_v1.py +47 -0
  97. sp_api/api/vendor_invoices/vendor_invoices.py +15 -264
  98. sp_api/api/vendor_orders/vendor_orders.py +83 -131
  99. sp_api/api/vendor_shipments/vendor_shipments.py +149 -68
  100. sp_api/api/vendor_transaction_status/vendor_transaction_status.py +16 -11
  101. sp_api/asyncio/api/__init__.py +159 -4
  102. sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +84 -110
  103. sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu_2024_05_09.py +457 -0
  104. sp_api/asyncio/api/aplus_content/aplus_content.py +176 -125
  105. sp_api/asyncio/api/application_integrations/application_integrations.py +59 -68
  106. sp_api/asyncio/api/application_management/application_management.py +20 -13
  107. sp_api/asyncio/api/authorization/authorization.py +8 -26
  108. sp_api/asyncio/api/catalog/catalog.py +27 -61
  109. sp_api/asyncio/api/catalog_items/catalog_items.py +94 -71
  110. sp_api/asyncio/api/catalog_items/catalog_items_2020_12_01.py +87 -0
  111. sp_api/asyncio/api/catalog_items/catalog_items_2022_04_01.py +90 -0
  112. sp_api/asyncio/api/customer_feedback/customer_feedback.py +100 -0
  113. sp_api/asyncio/api/data_kiosk/data_kiosk.py +80 -75
  114. sp_api/asyncio/api/delivery_by_amazon/__init__.py +0 -0
  115. sp_api/asyncio/api/delivery_by_amazon/delivery_by_amazon.py +92 -0
  116. sp_api/asyncio/api/delivery_by_amazon/delivery_by_amazon_2022_07_01.py +82 -0
  117. sp_api/asyncio/api/easy_ship/easy_ship.py +121 -111
  118. sp_api/asyncio/api/external_fulfillment/external_fulfillment.py +212 -435
  119. sp_api/asyncio/api/external_fulfillment/inventory.py +126 -0
  120. sp_api/asyncio/api/external_fulfillment/inventory_2021_01_06.py +73 -0
  121. sp_api/asyncio/api/external_fulfillment/inventory_2024_09_11.py +98 -0
  122. sp_api/asyncio/api/external_fulfillment/returns.py +124 -0
  123. sp_api/asyncio/api/external_fulfillment/returns_2021_08_19.py +90 -0
  124. sp_api/asyncio/api/external_fulfillment/returns_2024_09_11.py +143 -0
  125. sp_api/asyncio/api/external_fulfillment/shipping.py +124 -0
  126. sp_api/asyncio/api/external_fulfillment/shipping_2021_01_06.py +258 -0
  127. sp_api/asyncio/api/external_fulfillment/shipping_2024_09_11.py +235 -0
  128. sp_api/asyncio/api/fba_inbound_eligibility/fba_inbound_eligibility.py +31 -25
  129. sp_api/asyncio/api/fba_small_and_light/fba_small_and_light.py +61 -100
  130. sp_api/asyncio/api/feeds/feeds.py +75 -243
  131. sp_api/asyncio/api/feeds/feeds_2021_06_30.py +318 -0
  132. sp_api/asyncio/api/finances/finances.py +123 -91
  133. sp_api/asyncio/api/finances/finances_2024_06_01.py +72 -0
  134. sp_api/asyncio/api/finances/finances_2024_06_19.py +115 -0
  135. sp_api/asyncio/api/finances/finances_v0.py +117 -0
  136. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound.py +107 -1785
  137. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound_2024_03_20.py +1723 -0
  138. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound_v0.py +1385 -0
  139. sp_api/asyncio/api/fulfillment_outbound/fulfillment_outbound.py +257 -481
  140. sp_api/asyncio/api/inventories/inventories.py +79 -42
  141. sp_api/asyncio/api/invoices/__init__.py +0 -0
  142. sp_api/asyncio/api/invoices/invoices.py +92 -0
  143. sp_api/asyncio/api/invoices/invoices_2024_06_19.py +345 -0
  144. sp_api/asyncio/api/listings_items/listings_items.py +109 -163
  145. sp_api/asyncio/api/listings_items/listings_items_2020_09_01.py +190 -0
  146. sp_api/asyncio/api/listings_items/listings_items_2021_08_01.py +233 -0
  147. sp_api/asyncio/api/listings_restrictions/listings_restrictions.py +23 -10
  148. sp_api/asyncio/api/merchant_fulfillment/merchant_fulfillment.py +110 -222
  149. sp_api/asyncio/api/messaging/messaging.py +185 -199
  150. sp_api/asyncio/api/notifications/notifications.py +145 -107
  151. sp_api/asyncio/api/orders/orders.py +9 -46
  152. sp_api/asyncio/api/orders/orders_2026_01_01.py +19 -65
  153. sp_api/asyncio/api/orders/orders_v0.py +152 -184
  154. sp_api/asyncio/api/product_fees/product_fees.py +101 -75
  155. sp_api/asyncio/api/product_type_definitions/product_type_definitions.py +47 -36
  156. sp_api/asyncio/api/products/products.py +94 -387
  157. sp_api/asyncio/api/products/products_2022_05_01.py +109 -0
  158. sp_api/asyncio/api/products/products_v0.py +388 -0
  159. sp_api/asyncio/api/replenishment/replenishment.py +59 -70
  160. sp_api/asyncio/api/reports/reports.py +124 -157
  161. sp_api/asyncio/api/sales/sales.py +22 -39
  162. sp_api/asyncio/api/seller_wallet/__init__.py +0 -0
  163. sp_api/asyncio/api/seller_wallet/seller_wallet.py +92 -0
  164. sp_api/asyncio/api/seller_wallet/seller_wallet_2024_03_01.py +301 -0
  165. sp_api/asyncio/api/sellers/sellers.py +16 -36
  166. sp_api/asyncio/api/services/services.py +479 -82
  167. sp_api/asyncio/api/shipment_invoicing/__init__.py +0 -0
  168. sp_api/asyncio/api/shipment_invoicing/shipment_invoicing.py +92 -0
  169. sp_api/asyncio/api/shipment_invoicing/shipment_invoicing_v0.py +102 -0
  170. sp_api/asyncio/api/shipping/shipping.py +94 -441
  171. sp_api/asyncio/api/shipping/shippingV2.py +181 -472
  172. sp_api/asyncio/api/shipping/shipping_v1.py +331 -0
  173. sp_api/asyncio/api/shipping/shipping_v2.py +717 -0
  174. sp_api/asyncio/api/solicitations/solicitations.py +29 -19
  175. sp_api/asyncio/api/supply_sources/supply_sources.py +67 -57
  176. sp_api/asyncio/api/tokens/tokens.py +14 -35
  177. sp_api/asyncio/api/vehicles/__init__.py +0 -0
  178. sp_api/asyncio/api/vehicles/vehicles.py +92 -0
  179. sp_api/asyncio/api/vehicles/vehicles_2024_11_01.py +34 -0
  180. sp_api/asyncio/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +16 -29
  181. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +120 -192
  182. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_2021_12_28.py +116 -0
  183. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_v1.py +115 -0
  184. sp_api/asyncio/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +15 -225
  185. sp_api/asyncio/api/vendor_direct_fulfillment_sandbox_test_data/__init__.py +0 -0
  186. sp_api/asyncio/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data.py +92 -0
  187. sp_api/asyncio/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.py +51 -0
  188. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +120 -623
  189. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_2021_12_28.py +392 -0
  190. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_v1.py +321 -0
  191. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +112 -29
  192. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_2021_12_28.py +49 -0
  193. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_v1.py +48 -0
  194. sp_api/asyncio/api/vendor_invoices/vendor_invoices.py +16 -265
  195. sp_api/asyncio/api/vendor_orders/vendor_orders.py +84 -132
  196. sp_api/asyncio/api/vendor_shipments/vendor_shipments.py +150 -69
  197. sp_api/asyncio/api/vendor_transaction_status/vendor_transaction_status.py +17 -12
  198. sp_api/asyncio/base/client.py +2 -2
  199. sp_api/asyncio/util/load_date_bound.py +1 -1
  200. sp_api/base/__init__.py +10 -0
  201. sp_api/base/_core.py +2 -2
  202. sp_api/base/client.py +3 -3
  203. sp_api/base/helpers.py +12 -1
  204. sp_api/base/marketplaces.py +6 -3
  205. sp_api/util/__init__.py +2 -0
  206. sp_api/util/load_date_bound.py +1 -1
  207. sp_api/util/versioned_client.py +45 -0
  208. python_amazon_sp_api-2.0.15.dist-info/RECORD +0 -255
  209. sp_api/asyncio/api/models/__init__.py +0 -4
  210. sp_api/asyncio/api/overrides/__init__.py +0 -1
  211. {python_amazon_sp_api-2.0.15.data → python_amazon_sp_api-2.1.3.data}/scripts/make_endpoint +0 -0
  212. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/WHEEL +0 -0
  213. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/licenses/LICENSE +0 -0
  214. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,14 @@
1
+ from __future__ import annotations
2
+
1
3
  import enum
2
- import urllib.parse
4
+ from typing import Any, Literal, TYPE_CHECKING, overload
3
5
 
4
- from sp_api.base import ApiResponse, fill_query_params, sp_endpoint
5
6
  from sp_api.asyncio.base import AsyncBaseClient
7
+ from sp_api.util.versioned_client import VersionedClientMeta
8
+
9
+ from .amazon_warehousing_and_distribu_2024_05_09 import (
10
+ AmazonWarehousingAndDistributionV20240509,
11
+ )
6
12
 
7
13
 
8
14
  class AmazonWarehousingAndDistributionVersion(str, enum.Enum):
@@ -10,121 +16,89 @@ class AmazonWarehousingAndDistributionVersion(str, enum.Enum):
10
16
  LATEST = "2024-05-09"
11
17
 
12
18
 
13
- class AmazonWarehousingAndDistribution(AsyncBaseClient):
14
- """
15
- AmazonWarehousingAndDistribu SP-API Client
16
- :link:
17
-
18
- The Selling Partner API for Amazon Warehousing and Distribution (AWD).
19
- """
20
-
21
- version: AmazonWarehousingAndDistributionVersion = (
22
- AmazonWarehousingAndDistributionVersion.V_2024_05_09
23
- )
24
-
25
- def __init__(self, *args, **kwargs):
26
- if "version" in kwargs:
27
- self.version = kwargs.get(
28
- "version", AmazonWarehousingAndDistributionVersion.V_2024_05_09
29
- )
30
- super().__init__(*args, **{**kwargs, "version": self.version})
31
-
32
- @sp_endpoint("/awd/<version>/inboundShipments/{}", method="GET")
33
- async def get_inbound_shipment(self, shipmentId, **kwargs) -> ApiResponse:
34
- """
35
- get_inbound_shipment(self, shipmentId, **kwargs) -> ApiResponse
36
-
37
- Retrieves an AWD inbound shipment.
38
-
39
- **Usage Plan:**
40
-
41
- | Rate (requests per second) | Burst |
42
- | ---- | ---- |
43
- | 2 | 2 |
44
-
45
- The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, 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)
46
-
47
- Args:
48
-
49
- shipmentId:string | * REQUIRED ID for the shipment. A shipment contains the cases being inbounded.
50
-
51
-
52
- Returns:
53
- ApiResponse:
54
- """
55
-
56
- return await self._request(
57
- fill_query_params(kwargs.pop("path"), shipmentId), params=kwargs
58
- )
59
-
60
- @sp_endpoint("/awd/<version>/inboundShipments", method="GET")
61
- async def list_inbound_shipments(self, **kwargs) -> ApiResponse:
62
- """
63
- list_inbound_shipments(self, **kwargs) -> ApiResponse
64
-
65
- Retrieves a summary for all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.
19
+ if TYPE_CHECKING:
66
20
 
67
- **Usage Plan:**
21
+ class _AmazonWarehousingAndDistributionMeta(VersionedClientMeta):
22
+ @overload
23
+ def __call__(
24
+ cls,
25
+ *args: Any,
26
+ version: Literal[
27
+ AmazonWarehousingAndDistributionVersion.V_2024_05_09,
28
+ AmazonWarehousingAndDistributionVersion.LATEST,
29
+ "2024-05-09",
30
+ ],
31
+ **kwargs: Any,
32
+ ) -> AmazonWarehousingAndDistributionV20240509: ...
68
33
 
69
- | Rate (requests per second) | Burst |
70
- | ---- | ---- |
71
- | 1 | 1 |
34
+ @overload
35
+ def __call__(
36
+ cls,
37
+ *args: Any,
38
+ version: None = None,
39
+ **kwargs: Any,
40
+ ) -> AmazonWarehousingAndDistributionV20240509: ...
72
41
 
73
- The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, 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).
42
+ @overload
43
+ def __call__(
44
+ cls,
45
+ *args: Any,
46
+ version: str | AmazonWarehousingAndDistributionVersion,
47
+ **kwargs: Any,
48
+ ) -> AsyncBaseClient: ...
74
49
 
75
- Args:
76
50
 
77
- key sortBy:string | Field to sort results by. Required if `sortOrder` is provided.
51
+ else:
52
+ _AmazonWarehousingAndDistributionMeta = VersionedClientMeta
78
53
 
79
- key sortOrder:string | Sort the response in `ASCENDING` or `DESCENDING` order.
80
54
 
81
- key shipmentStatus:string | Filter by inbound shipment status.
55
+ class AmazonWarehousingAndDistribution(
56
+ AsyncBaseClient, metaclass=_AmazonWarehousingAndDistributionMeta
57
+ ):
58
+ """Amazon Warehousing and Distribution API client.
82
59
 
83
- key updatedAfter:string | List the inbound shipments that were updated after a certain time (inclusive). The date must be in <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
60
+ This class dispatches to a versioned Amazon Warehousing and Distribution API client.
84
61
 
85
- key updatedBefore:string | List the inbound shipments that were updated before a certain time (inclusive). The date must be in <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
86
-
87
- key maxResults:integer | Maximum number of results to return.
88
-
89
- key nextToken:string | Token to retrieve the next set of paginated results.
90
-
91
-
92
- Returns:
93
- ApiResponse:
94
- """
95
-
96
- return await self._request(kwargs.pop("path"), params=kwargs)
97
-
98
- @sp_endpoint("/awd/<version>/inventory", method="GET")
99
- async def list_inventory(self, **kwargs) -> ApiResponse:
100
- """
101
- list_inventory(self, **kwargs) -> ApiResponse
102
-
103
- Lists AWD inventory associated with a merchant with the ability to apply optional filters.
104
-
105
- **Usage Plan:**
106
-
107
- | Rate (requests per second) | Burst |
108
- | ---- | ---- |
109
- | 2 | 2 |
110
-
111
- The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, 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).
112
-
113
- Args:
114
-
115
- key sku:string | Filter by seller or merchant SKU for the item.
116
-
117
- key sortOrder:string | Sort the response in `ASCENDING` or `DESCENDING` order.
118
-
119
- key details:string | Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.
120
-
121
- key nextToken:string | Token to retrieve the next set of paginated results.
122
-
123
- key maxResults:integer | Maximum number of results to return.
124
-
125
-
126
- Returns:
127
- ApiResponse:
128
- """
62
+ If you do not pass a version, the constructor returns the oldest supported implementation ("2024-05-09").
63
+ """
129
64
 
130
- return await self._request(kwargs.pop("path"), params=kwargs)
65
+ if TYPE_CHECKING:
66
+ @overload
67
+ def __new__(
68
+ cls,
69
+ *args: Any,
70
+ version: Literal[
71
+ AmazonWarehousingAndDistributionVersion.V_2024_05_09,
72
+ AmazonWarehousingAndDistributionVersion.LATEST,
73
+ "2024-05-09",
74
+ ],
75
+ **kwargs: Any,
76
+ ) -> AmazonWarehousingAndDistributionV20240509: ...
77
+
78
+ @overload
79
+ def __new__(
80
+ cls,
81
+ *args: Any,
82
+ version: None = None,
83
+ **kwargs: Any,
84
+ ) -> AmazonWarehousingAndDistributionV20240509: ...
85
+
86
+ @overload
87
+ def __new__(
88
+ cls,
89
+ *args: Any,
90
+ version: str | AmazonWarehousingAndDistributionVersion,
91
+ **kwargs: Any,
92
+ ) -> AsyncBaseClient: ...
93
+
94
+ _DISPATCH = True
95
+
96
+ _DEFAULT_VERSION = "2024-05-09"
97
+
98
+ _VERSION_MAP = {
99
+ "2024-05-09": AmazonWarehousingAndDistributionV20240509,
100
+ }
101
+
102
+ _VERSION_ALIASES = {
103
+ "2024-05-09": "2024-05-09",
104
+ }
@@ -0,0 +1,457 @@
1
+ import urllib.parse
2
+
3
+ from sp_api.base import sp_endpoint, fill_query_params, ApiResponse
4
+ from sp_api.asyncio.base import AsyncBaseClient
5
+
6
+
7
+ class AmazonWarehousingAndDistributionV20240509(AsyncBaseClient):
8
+ """
9
+ AmazonWarehousingAndDistribu SP-API Client
10
+ :link:
11
+
12
+ The Selling Partner API for Amazon Warehousing and Distribution (AWD).
13
+ """
14
+
15
+ @sp_endpoint("/awd/2024-05-09/inboundShipments/{}", method="GET")
16
+ async def get_inbound_shipment(self, shipmentId, **kwargs) -> ApiResponse:
17
+ """
18
+ get_inbound_shipment(self, shipmentId, **kwargs) -> ApiResponse
19
+
20
+ Retrieves an AWD inbound shipment.
21
+
22
+ **Usage Plan:**
23
+
24
+ ====================================== ==============
25
+ Rate (requests per second) Burst
26
+ ====================================== ==============
27
+ 2 2
28
+ ====================================== ==============
29
+
30
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
31
+
32
+ Examples:
33
+ literal blocks::
34
+
35
+ await AmazonWarehousingAndDistributionV20240509().get_inbound_shipment("value")
36
+
37
+ Args:
38
+ shipmentId: object | required ID for the shipment. A shipment contains the cases being inbounded.
39
+ key skuQuantities: object | If equal to `SHOW`, the response includes the shipment SKU quantity details.
40
+ Defaults to `HIDE`, in which case the response does not contain SKU quantities
41
+
42
+ Returns:
43
+ ApiResponse
44
+ """
45
+
46
+ return await self._request(
47
+ fill_query_params(kwargs.pop("path"), shipmentId), params=kwargs
48
+ )
49
+
50
+ @sp_endpoint("/awd/2024-05-09/inboundShipments", method="GET")
51
+ async def list_inbound_shipments(self, **kwargs) -> ApiResponse:
52
+ """
53
+ list_inbound_shipments(self, **kwargs) -> ApiResponse
54
+
55
+ Retrieves a summary of all the inbound AWD shipments associated with a merchant, with the ability to apply optional filters.
56
+
57
+ **Usage Plan:**
58
+
59
+ ====================================== ==============
60
+ Rate (requests per second) Burst
61
+ ====================================== ==============
62
+ 1 1
63
+ ====================================== ==============
64
+
65
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
66
+
67
+ Examples:
68
+ literal blocks::
69
+
70
+ await AmazonWarehousingAndDistributionV20240509().list_inbound_shipments()
71
+
72
+ Args:
73
+ key sortBy: object | Field to sort results by. By default, the response will be sorted by UPDATED_AT.
74
+ key sortOrder: object | Sort the response in ASCENDING or DESCENDING order. By default, the response will be sorted in DESCENDING order.
75
+ key shipmentStatus: object | Filter by inbound shipment status.
76
+ key updatedAfter: object | List the inbound shipments that were updated after a certain time (inclusive). The date must be in <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
77
+ key updatedBefore: object | List the inbound shipments that were updated before a certain time (inclusive). The date must be in <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
78
+ key maxResults: object | Maximum number of results to return.
79
+ key nextToken: object | A token that is used to retrieve the next page of results. The response includes `nextToken` when the number of results exceeds the specified `maxResults` value. To get the next page of results, call the operation with this token and include the same arguments as the call that produced the token. To get a complete list, call this operation until `nextToken` is null. Note that this operation can return empty pages.
80
+
81
+ Returns:
82
+ ApiResponse
83
+ """
84
+
85
+ return await self._request(kwargs.pop("path"), params=kwargs)
86
+
87
+ @sp_endpoint("/awd/2024-05-09/inventory", method="GET")
88
+ async def list_inventory(self, **kwargs) -> ApiResponse:
89
+ """
90
+ list_inventory(self, **kwargs) -> ApiResponse
91
+
92
+ Lists AWD inventory associated with a merchant with the ability to apply optional filters.
93
+
94
+ **Usage Plan:**
95
+
96
+ ====================================== ==============
97
+ Rate (requests per second) Burst
98
+ ====================================== ==============
99
+ 2 2
100
+ ====================================== ==============
101
+
102
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
103
+
104
+ Examples:
105
+ literal blocks::
106
+
107
+ await AmazonWarehousingAndDistributionV20240509().list_inventory()
108
+
109
+ Args:
110
+ key sku: object | Filter by seller or merchant SKU for the item.
111
+ key sortOrder: object | Sort the response in `ASCENDING` or `DESCENDING` order.
112
+ key details: object | Set to `SHOW` to return summaries with additional inventory details. Defaults to `HIDE,` which returns only inventory summary totals.
113
+ key nextToken: object | A token that is used to retrieve the next page of results. The response includes `nextToken` when the number of results exceeds the specified `maxResults` value. To get the next page of results, call the operation with this token and include the same arguments as the call that produced the token. To get a complete list, call this operation until `nextToken` is null. Note that this operation can return empty pages.
114
+ key maxResults: object | Maximum number of results to return.
115
+
116
+ Returns:
117
+ ApiResponse
118
+ """
119
+
120
+ return await self._request(kwargs.pop("path"), params=kwargs)
121
+
122
+ @sp_endpoint("/awd/2024-05-09/inboundOrders", method="POST")
123
+ async def create_inbound(self, **kwargs) -> ApiResponse:
124
+ """
125
+ create_inbound(self, **kwargs) -> ApiResponse
126
+
127
+ Creates a draft AWD inbound order with a list of packages for inbound shipment. The operation creates one shipment per order.
128
+
129
+ **Usage Plan:**
130
+
131
+ ====================================== ==============
132
+ Rate (requests per second) Burst
133
+ ====================================== ==============
134
+ 1 1
135
+ ====================================== ==============
136
+
137
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
138
+
139
+ Examples:
140
+ literal blocks::
141
+
142
+ await AmazonWarehousingAndDistributionV20240509().create_inbound()
143
+
144
+ Args:
145
+ body: InboundOrderCreationData | required Payload for creating an inbound order.
146
+
147
+ Returns:
148
+ ApiResponse
149
+ """
150
+ return await self._request(kwargs.pop("path"), data=kwargs)
151
+
152
+ @sp_endpoint("/awd/2024-05-09/inboundOrders/{}", method="GET")
153
+ async def get_inbound(self, orderId, **kwargs) -> ApiResponse:
154
+ """
155
+ get_inbound(self, orderId, **kwargs) -> ApiResponse
156
+
157
+ Retrieves an AWD inbound order.
158
+
159
+ **Usage Plan:**
160
+
161
+ ====================================== ==============
162
+ Rate (requests per second) Burst
163
+ ====================================== ==============
164
+ 2 2
165
+ ====================================== ==============
166
+
167
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
168
+
169
+ Examples:
170
+ literal blocks::
171
+
172
+ await AmazonWarehousingAndDistributionV20240509().get_inbound("value")
173
+
174
+ Args:
175
+ orderId: object | required The ID of the inbound order that you want to retrieve.
176
+
177
+ Returns:
178
+ ApiResponse
179
+ """
180
+ return await self._request(fill_query_params(kwargs.pop("path"), orderId), params=kwargs)
181
+
182
+ @sp_endpoint("/awd/2024-05-09/inboundOrders/{}", method="PUT")
183
+ async def update_inbound(self, orderId, **kwargs) -> ApiResponse:
184
+ """
185
+ update_inbound(self, orderId, **kwargs) -> ApiResponse
186
+
187
+ Updates an AWD inbound order that is in `DRAFT` status and not yet confirmed. Use this operation to update the `packagesToInbound`, `originAddress` and `preferences` attributes.
188
+
189
+ **Usage Plan:**
190
+
191
+ ====================================== ==============
192
+ Rate (requests per second) Burst
193
+ ====================================== ==============
194
+ 1 1
195
+ ====================================== ==============
196
+
197
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
198
+
199
+ Examples:
200
+ literal blocks::
201
+
202
+ await AmazonWarehousingAndDistributionV20240509().update_inbound("value")
203
+
204
+ Args:
205
+ orderId: object | required The ID of the inbound order that you want to update.
206
+ body: InboundOrder | required Represents an AWD inbound order.
207
+
208
+ Returns:
209
+ ApiResponse
210
+ """
211
+ return await self._request(fill_query_params(kwargs.pop("path"), orderId), data=kwargs)
212
+
213
+ @sp_endpoint("/awd/2024-05-09/inboundOrders/{}/cancellation", method="POST")
214
+ async def cancel_inbound(self, orderId, **kwargs) -> ApiResponse:
215
+ """
216
+ cancel_inbound(self, orderId, **kwargs) -> ApiResponse
217
+
218
+ Cancels an AWD Inbound order and its associated shipment.
219
+
220
+ **Usage Plan:**
221
+
222
+ ====================================== ==============
223
+ Rate (requests per second) Burst
224
+ ====================================== ==============
225
+ 1 1
226
+ ====================================== ==============
227
+
228
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
229
+
230
+ Examples:
231
+ literal blocks::
232
+
233
+ await AmazonWarehousingAndDistributionV20240509().cancel_inbound("value")
234
+
235
+ Args:
236
+ orderId: object | required The ID of the inbound order you want to cancel.
237
+
238
+ Returns:
239
+ ApiResponse
240
+ """
241
+ return await self._request(fill_query_params(kwargs.pop("path"), orderId), data=kwargs)
242
+
243
+ @sp_endpoint("/awd/2024-05-09/inboundOrders/{}/confirmation", method="POST")
244
+ async def confirm_inbound(self, orderId, **kwargs) -> ApiResponse:
245
+ """
246
+ confirm_inbound(self, orderId, **kwargs) -> ApiResponse
247
+
248
+ Confirms an AWD inbound order in `DRAFT` status.
249
+
250
+ **Usage Plan:**
251
+
252
+ ====================================== ==============
253
+ Rate (requests per second) Burst
254
+ ====================================== ==============
255
+ 1 1
256
+ ====================================== ==============
257
+
258
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
259
+
260
+ Examples:
261
+ literal blocks::
262
+
263
+ await AmazonWarehousingAndDistributionV20240509().confirm_inbound("value")
264
+
265
+ Args:
266
+ orderId: object | required The ID of the inbound order that you want to confirm.
267
+
268
+ Returns:
269
+ ApiResponse
270
+ """
271
+ return await self._request(fill_query_params(kwargs.pop("path"), orderId), data=kwargs)
272
+
273
+
274
+ @sp_endpoint("/awd/2024-05-09/inboundShipments/{}/labels", method="GET")
275
+ async def get_inbound_shipment_labels(self, shipmentId, **kwargs) -> ApiResponse:
276
+ """
277
+ get_inbound_shipment_labels(self, shipmentId, **kwargs) -> ApiResponse
278
+
279
+ Retrieves the box labels for a shipment ID that you specify. This is an asynchronous operation. If the label status is `GENERATED`, then the label URL is available.
280
+
281
+ **Usage Plan:**
282
+
283
+ ====================================== ==============
284
+ Rate (requests per second) Burst
285
+ ====================================== ==============
286
+ 1 2
287
+ ====================================== ==============
288
+
289
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
290
+
291
+ Examples:
292
+ literal blocks::
293
+
294
+ await AmazonWarehousingAndDistributionV20240509().get_inbound_shipment_labels("value")
295
+
296
+ Args:
297
+ shipmentId: object | required ID for the shipment.
298
+ key pageType: object | Page type for the generated labels. The default is `PLAIN_PAPER`.
299
+ key formatType: object | The format type of the output file that contains your labels. The default format type is `PDF`.
300
+
301
+ Returns:
302
+ ApiResponse
303
+ """
304
+ return await self._request(fill_query_params(kwargs.pop("path"), shipmentId), params=kwargs)
305
+
306
+ @sp_endpoint("/awd/2024-05-09/inboundShipments/{}/transport", method="PUT")
307
+ async def update_inbound_shipment_transport_details(self, shipmentId, **kwargs) -> ApiResponse:
308
+ """
309
+ update_inbound_shipment_transport_details(self, shipmentId, **kwargs) -> ApiResponse
310
+
311
+ Updates transport details for an AWD shipment.
312
+
313
+ **Usage Plan:**
314
+
315
+ ====================================== ==============
316
+ Rate (requests per second) Burst
317
+ ====================================== ==============
318
+ 1 1
319
+ ====================================== ==============
320
+
321
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
322
+
323
+ Examples:
324
+ literal blocks::
325
+
326
+ await AmazonWarehousingAndDistributionV20240509().update_inbound_shipment_transport_details("value")
327
+
328
+ Args:
329
+ shipmentId: object | required The shipment ID.
330
+ body: TransportationDetails | required Transportation details for the shipment.
331
+
332
+ Returns:
333
+ ApiResponse
334
+ """
335
+ return await self._request(fill_query_params(kwargs.pop("path"), shipmentId), data=kwargs)
336
+
337
+ @sp_endpoint("/awd/2024-05-09/inboundEligibility", method="POST")
338
+ async def check_inbound_eligibility(self, **kwargs) -> ApiResponse:
339
+ """
340
+ check_inbound_eligibility(self, **kwargs) -> ApiResponse
341
+
342
+ Determines if the packages you specify are eligible for an AWD inbound order and contains error details for ineligible packages.
343
+
344
+ **Usage Plan:**
345
+
346
+ ====================================== ==============
347
+ Rate (requests per second) Burst
348
+ ====================================== ==============
349
+ 1 1
350
+ ====================================== ==============
351
+
352
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
353
+
354
+ Examples:
355
+ literal blocks::
356
+
357
+ await AmazonWarehousingAndDistributionV20240509().check_inbound_eligibility()
358
+
359
+ Args:
360
+ body: InboundPackages | required Represents the packages you want to inbound.
361
+
362
+ Returns:
363
+ ApiResponse
364
+ """
365
+ return await self._request(kwargs.pop("path"), data=kwargs)
366
+
367
+
368
+
369
+ @sp_endpoint("/awd/2024-05-09/replenishmentOrders", method="GET")
370
+ async def list_replenishment_orders(self, **kwargs) -> ApiResponse:
371
+ """
372
+ list_replenishment_orders(self, **kwargs) -> ApiResponse
373
+
374
+ Retrieves all the AWD replenishment orders pertaining to a merchant with optional filters.
375
+ API by default will sort orders by updatedAt attribute in descending order.
376
+
377
+ Examples:
378
+ literal blocks::
379
+
380
+ await AmazonWarehousingAndDistributionV20240509().list_replenishment_orders()
381
+
382
+ Args:
383
+ key updatedAfter: object | Get the replenishment orders updated after certain time (Inclusive)
384
+ Date should be in ISO 8601 format as defined by date-time in - https://www.rfc-editor.org/rfc/rfc3339.
385
+ key updatedBefore: object | Get the replenishment orders updated before certain time (Inclusive)
386
+ Date should be in ISO 8601 format as defined by date-time in - https://www.rfc-editor.org/rfc/rfc3339.
387
+ key sortOrder: object | Sort the response in ASCENDING or DESCENDING order. The default sort order is DESCENDING.
388
+ key maxResults: object | Maximum results to be returned in a single response.
389
+ key nextToken: object | A token that is used to retrieve the next page of results. The response includes `nextToken` when the number of results exceeds the specified `maxResults` value. To get the next page of results, call the operation with this token and include the same arguments as the call that produced the token. To get a complete list, call this operation until `nextToken` is null. Note that this operation can return empty pages.
390
+
391
+ Returns:
392
+ ApiResponse
393
+ """
394
+ return await self._request(kwargs.pop("path"), params=kwargs)
395
+
396
+ @sp_endpoint("/awd/2024-05-09/replenishmentOrders", method="POST")
397
+ async def create_replenishment_order(self, **kwargs) -> ApiResponse:
398
+ """
399
+ create_replenishment_order(self, **kwargs) -> ApiResponse
400
+
401
+ Creates an AWD replenishment order with given products to replenish.
402
+ The API will return the order ID of the newly created order and also start an async validation check on the products to e.
403
+ The order status will transition to ELIGIBLE/INELIGIBLE status from VALIDATING post validation check
404
+
405
+ Examples:
406
+ literal blocks::
407
+
408
+ await AmazonWarehousingAndDistributionV20240509().create_replenishment_order()
409
+
410
+ Args:
411
+ body: ReplenishmentOrderCreationData | required Payload for creating a replenishment order.
412
+
413
+ Returns:
414
+ ApiResponse
415
+ """
416
+ return await self._request(kwargs.pop("path"), data=kwargs)
417
+
418
+ @sp_endpoint("/awd/2024-05-09/replenishmentOrders/{}", method="GET")
419
+ async def get_replenishment_order(self, orderId, **kwargs) -> ApiResponse:
420
+ """
421
+ get_replenishment_order(self, orderId, **kwargs) -> ApiResponse
422
+
423
+ Retrieves an AWD Replenishment order with a set of shipments containing items that is/was planned to be replenished into an FBA node.
424
+
425
+ Examples:
426
+ literal blocks::
427
+
428
+ await AmazonWarehousingAndDistributionV20240509().get_replenishment_order("value")
429
+
430
+ Args:
431
+ orderId: object | required ID of the replenishment order to be retrieved.
432
+
433
+ Returns:
434
+ ApiResponse
435
+ """
436
+ return await self._request(fill_query_params(kwargs.pop("path"), orderId), params=kwargs)
437
+
438
+ @sp_endpoint("/awd/2024-05-09/replenishmentOrders/{}/confirmation", method="POST")
439
+ async def confirm_replenishment_order(self, orderId, **kwargs) -> ApiResponse:
440
+ """
441
+ confirm_replenishment_order(self, orderId, **kwargs) -> ApiResponse
442
+
443
+ Confirms an AWD replenishment order in ELIGIBLE state with a set of shipments containing items that are needed to be replenished to an FBA node.
444
+ Order can only be confirmed in ELIGIBLE state.
445
+
446
+ Examples:
447
+ literal blocks::
448
+
449
+ await AmazonWarehousingAndDistributionV20240509().confirm_replenishment_order("value")
450
+
451
+ Args:
452
+ orderId: object | required ID of the replenishment order to be confirmed.
453
+
454
+ Returns:
455
+ ApiResponse
456
+ """
457
+ return await self._request(fill_query_params(kwargs.pop("path"), orderId), data=kwargs)