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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/METADATA +7 -7
  2. python_amazon_sp_api-2.1.3.dist-info/RECORD +350 -0
  3. sp_api/__version__.py +1 -1
  4. sp_api/api/__init__.py +160 -4
  5. sp_api/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +85 -110
  6. sp_api/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu_2024_05_09.py +456 -0
  7. sp_api/api/aplus_content/aplus_content.py +176 -125
  8. sp_api/api/application_integrations/application_integrations.py +59 -68
  9. sp_api/api/application_management/application_management.py +20 -13
  10. sp_api/api/authorization/authorization.py +8 -26
  11. sp_api/api/catalog/catalog.py +27 -61
  12. sp_api/api/catalog_items/catalog_items.py +108 -78
  13. sp_api/api/catalog_items/catalog_items_2020_12_01.py +86 -0
  14. sp_api/api/catalog_items/catalog_items_2022_04_01.py +89 -0
  15. sp_api/api/customer_feedback/customer_feedback.py +100 -0
  16. sp_api/api/data_kiosk/data_kiosk.py +80 -75
  17. sp_api/api/delivery_by_amazon/__init__.py +0 -0
  18. sp_api/api/delivery_by_amazon/delivery_by_amazon.py +92 -0
  19. sp_api/api/delivery_by_amazon/delivery_by_amazon_2022_07_01.py +81 -0
  20. sp_api/api/easy_ship/easy_ship.py +121 -111
  21. sp_api/api/external_fulfillment/external_fulfillment.py +211 -434
  22. sp_api/api/external_fulfillment/inventory.py +120 -0
  23. sp_api/api/external_fulfillment/inventory_2021_01_06.py +71 -0
  24. sp_api/api/external_fulfillment/inventory_2024_09_11.py +96 -0
  25. sp_api/api/external_fulfillment/returns.py +120 -0
  26. sp_api/api/external_fulfillment/returns_2021_08_19.py +88 -0
  27. sp_api/api/external_fulfillment/returns_2024_09_11.py +141 -0
  28. sp_api/api/external_fulfillment/shipping.py +120 -0
  29. sp_api/api/external_fulfillment/shipping_2021_01_06.py +256 -0
  30. sp_api/api/external_fulfillment/shipping_2024_09_11.py +233 -0
  31. sp_api/api/fba_inbound_eligibility/fba_inbound_eligibility.py +30 -24
  32. sp_api/api/fba_small_and_light/fba_small_and_light.py +60 -99
  33. sp_api/api/feeds/feeds.py +75 -245
  34. sp_api/api/feeds/feeds_2021_06_30.py +320 -0
  35. sp_api/api/finances/finances.py +123 -90
  36. sp_api/api/finances/finances_2024_06_01.py +71 -0
  37. sp_api/api/finances/finances_2024_06_19.py +114 -0
  38. sp_api/api/finances/finances_v0.py +116 -0
  39. sp_api/api/fulfillment_inbound/fulfillment_inbound.py +107 -1784
  40. sp_api/api/fulfillment_inbound/fulfillment_inbound_2024_03_20.py +1722 -0
  41. sp_api/api/fulfillment_inbound/fulfillment_inbound_v0.py +1384 -0
  42. sp_api/api/fulfillment_outbound/fulfillment_outbound.py +256 -480
  43. sp_api/api/inventories/inventories.py +79 -42
  44. sp_api/api/invoices/__init__.py +0 -0
  45. sp_api/api/invoices/invoices.py +92 -0
  46. sp_api/api/invoices/invoices_2024_06_19.py +344 -0
  47. sp_api/api/listings_items/listings_items.py +110 -163
  48. sp_api/api/listings_items/listings_items_2020_09_01.py +189 -0
  49. sp_api/api/listings_items/listings_items_2021_08_01.py +233 -0
  50. sp_api/api/listings_restrictions/listings_restrictions.py +23 -10
  51. sp_api/api/merchant_fulfillment/merchant_fulfillment.py +107 -222
  52. sp_api/api/messaging/messaging.py +184 -198
  53. sp_api/api/notifications/notifications.py +144 -106
  54. sp_api/api/orders/orders.py +9 -46
  55. sp_api/api/orders/orders_2026_01_01.py +19 -65
  56. sp_api/api/orders/orders_v0.py +152 -184
  57. sp_api/api/product_fees/product_fees.py +101 -75
  58. sp_api/api/product_type_definitions/product_type_definitions.py +47 -36
  59. sp_api/api/products/products.py +94 -386
  60. sp_api/api/products/products_2022_05_01.py +96 -0
  61. sp_api/api/products/products_v0.py +389 -0
  62. sp_api/api/replenishment/replenishment.py +58 -69
  63. sp_api/api/reports/reports.py +124 -157
  64. sp_api/api/sales/sales.py +22 -39
  65. sp_api/api/seller_wallet/__init__.py +0 -0
  66. sp_api/api/seller_wallet/seller_wallet.py +92 -0
  67. sp_api/api/seller_wallet/seller_wallet_2024_03_01.py +300 -0
  68. sp_api/api/sellers/sellers.py +15 -35
  69. sp_api/api/services/services.py +479 -82
  70. sp_api/api/shipment_invoicing/__init__.py +0 -0
  71. sp_api/api/shipment_invoicing/shipment_invoicing.py +92 -0
  72. sp_api/api/shipment_invoicing/shipment_invoicing_v0.py +101 -0
  73. sp_api/api/shipping/shipping.py +94 -440
  74. sp_api/api/shipping/shippingV2.py +183 -474
  75. sp_api/api/shipping/shipping_v1.py +330 -0
  76. sp_api/api/shipping/shipping_v2.py +723 -0
  77. sp_api/api/solicitations/solicitations.py +28 -18
  78. sp_api/api/supply_sources/supply_sources.py +67 -57
  79. sp_api/api/tokens/tokens.py +14 -35
  80. sp_api/api/vehicles/__init__.py +0 -0
  81. sp_api/api/vehicles/vehicles.py +92 -0
  82. sp_api/api/vehicles/vehicles_2024_11_01.py +33 -0
  83. sp_api/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +16 -29
  84. sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +116 -189
  85. sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_2021_12_28.py +114 -0
  86. sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_v1.py +114 -0
  87. sp_api/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +15 -225
  88. sp_api/api/vendor_direct_fulfillment_sandbox_test_data/__init__.py +0 -0
  89. sp_api/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data.py +92 -0
  90. sp_api/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.py +50 -0
  91. sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +122 -624
  92. sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_2021_12_28.py +390 -0
  93. sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_v1.py +320 -0
  94. sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +113 -29
  95. sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_2021_12_28.py +47 -0
  96. sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_v1.py +47 -0
  97. sp_api/api/vendor_invoices/vendor_invoices.py +15 -264
  98. sp_api/api/vendor_orders/vendor_orders.py +83 -131
  99. sp_api/api/vendor_shipments/vendor_shipments.py +149 -68
  100. sp_api/api/vendor_transaction_status/vendor_transaction_status.py +16 -11
  101. sp_api/asyncio/api/__init__.py +159 -4
  102. sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +84 -110
  103. sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu_2024_05_09.py +457 -0
  104. sp_api/asyncio/api/aplus_content/aplus_content.py +176 -125
  105. sp_api/asyncio/api/application_integrations/application_integrations.py +59 -68
  106. sp_api/asyncio/api/application_management/application_management.py +20 -13
  107. sp_api/asyncio/api/authorization/authorization.py +8 -26
  108. sp_api/asyncio/api/catalog/catalog.py +27 -61
  109. sp_api/asyncio/api/catalog_items/catalog_items.py +94 -71
  110. sp_api/asyncio/api/catalog_items/catalog_items_2020_12_01.py +87 -0
  111. sp_api/asyncio/api/catalog_items/catalog_items_2022_04_01.py +90 -0
  112. sp_api/asyncio/api/customer_feedback/customer_feedback.py +100 -0
  113. sp_api/asyncio/api/data_kiosk/data_kiosk.py +80 -75
  114. sp_api/asyncio/api/delivery_by_amazon/__init__.py +0 -0
  115. sp_api/asyncio/api/delivery_by_amazon/delivery_by_amazon.py +92 -0
  116. sp_api/asyncio/api/delivery_by_amazon/delivery_by_amazon_2022_07_01.py +82 -0
  117. sp_api/asyncio/api/easy_ship/easy_ship.py +121 -111
  118. sp_api/asyncio/api/external_fulfillment/external_fulfillment.py +212 -435
  119. sp_api/asyncio/api/external_fulfillment/inventory.py +126 -0
  120. sp_api/asyncio/api/external_fulfillment/inventory_2021_01_06.py +73 -0
  121. sp_api/asyncio/api/external_fulfillment/inventory_2024_09_11.py +98 -0
  122. sp_api/asyncio/api/external_fulfillment/returns.py +124 -0
  123. sp_api/asyncio/api/external_fulfillment/returns_2021_08_19.py +90 -0
  124. sp_api/asyncio/api/external_fulfillment/returns_2024_09_11.py +143 -0
  125. sp_api/asyncio/api/external_fulfillment/shipping.py +124 -0
  126. sp_api/asyncio/api/external_fulfillment/shipping_2021_01_06.py +258 -0
  127. sp_api/asyncio/api/external_fulfillment/shipping_2024_09_11.py +235 -0
  128. sp_api/asyncio/api/fba_inbound_eligibility/fba_inbound_eligibility.py +31 -25
  129. sp_api/asyncio/api/fba_small_and_light/fba_small_and_light.py +61 -100
  130. sp_api/asyncio/api/feeds/feeds.py +75 -243
  131. sp_api/asyncio/api/feeds/feeds_2021_06_30.py +318 -0
  132. sp_api/asyncio/api/finances/finances.py +123 -91
  133. sp_api/asyncio/api/finances/finances_2024_06_01.py +72 -0
  134. sp_api/asyncio/api/finances/finances_2024_06_19.py +115 -0
  135. sp_api/asyncio/api/finances/finances_v0.py +117 -0
  136. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound.py +107 -1785
  137. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound_2024_03_20.py +1723 -0
  138. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound_v0.py +1385 -0
  139. sp_api/asyncio/api/fulfillment_outbound/fulfillment_outbound.py +257 -481
  140. sp_api/asyncio/api/inventories/inventories.py +79 -42
  141. sp_api/asyncio/api/invoices/__init__.py +0 -0
  142. sp_api/asyncio/api/invoices/invoices.py +92 -0
  143. sp_api/asyncio/api/invoices/invoices_2024_06_19.py +345 -0
  144. sp_api/asyncio/api/listings_items/listings_items.py +109 -163
  145. sp_api/asyncio/api/listings_items/listings_items_2020_09_01.py +190 -0
  146. sp_api/asyncio/api/listings_items/listings_items_2021_08_01.py +233 -0
  147. sp_api/asyncio/api/listings_restrictions/listings_restrictions.py +23 -10
  148. sp_api/asyncio/api/merchant_fulfillment/merchant_fulfillment.py +110 -222
  149. sp_api/asyncio/api/messaging/messaging.py +185 -199
  150. sp_api/asyncio/api/notifications/notifications.py +145 -107
  151. sp_api/asyncio/api/orders/orders.py +9 -46
  152. sp_api/asyncio/api/orders/orders_2026_01_01.py +19 -65
  153. sp_api/asyncio/api/orders/orders_v0.py +152 -184
  154. sp_api/asyncio/api/product_fees/product_fees.py +101 -75
  155. sp_api/asyncio/api/product_type_definitions/product_type_definitions.py +47 -36
  156. sp_api/asyncio/api/products/products.py +94 -387
  157. sp_api/asyncio/api/products/products_2022_05_01.py +109 -0
  158. sp_api/asyncio/api/products/products_v0.py +388 -0
  159. sp_api/asyncio/api/replenishment/replenishment.py +59 -70
  160. sp_api/asyncio/api/reports/reports.py +124 -157
  161. sp_api/asyncio/api/sales/sales.py +22 -39
  162. sp_api/asyncio/api/seller_wallet/__init__.py +0 -0
  163. sp_api/asyncio/api/seller_wallet/seller_wallet.py +92 -0
  164. sp_api/asyncio/api/seller_wallet/seller_wallet_2024_03_01.py +301 -0
  165. sp_api/asyncio/api/sellers/sellers.py +16 -36
  166. sp_api/asyncio/api/services/services.py +479 -82
  167. sp_api/asyncio/api/shipment_invoicing/__init__.py +0 -0
  168. sp_api/asyncio/api/shipment_invoicing/shipment_invoicing.py +92 -0
  169. sp_api/asyncio/api/shipment_invoicing/shipment_invoicing_v0.py +102 -0
  170. sp_api/asyncio/api/shipping/shipping.py +94 -441
  171. sp_api/asyncio/api/shipping/shippingV2.py +181 -472
  172. sp_api/asyncio/api/shipping/shipping_v1.py +331 -0
  173. sp_api/asyncio/api/shipping/shipping_v2.py +717 -0
  174. sp_api/asyncio/api/solicitations/solicitations.py +29 -19
  175. sp_api/asyncio/api/supply_sources/supply_sources.py +67 -57
  176. sp_api/asyncio/api/tokens/tokens.py +14 -35
  177. sp_api/asyncio/api/vehicles/__init__.py +0 -0
  178. sp_api/asyncio/api/vehicles/vehicles.py +92 -0
  179. sp_api/asyncio/api/vehicles/vehicles_2024_11_01.py +34 -0
  180. sp_api/asyncio/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +16 -29
  181. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +120 -192
  182. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_2021_12_28.py +116 -0
  183. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders_v1.py +115 -0
  184. sp_api/asyncio/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +15 -225
  185. sp_api/asyncio/api/vendor_direct_fulfillment_sandbox_test_data/__init__.py +0 -0
  186. sp_api/asyncio/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data.py +92 -0
  187. sp_api/asyncio/api/vendor_direct_fulfillment_sandbox_test_data/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.py +51 -0
  188. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +120 -623
  189. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_2021_12_28.py +392 -0
  190. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping_v1.py +321 -0
  191. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +112 -29
  192. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_2021_12_28.py +49 -0
  193. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions_v1.py +48 -0
  194. sp_api/asyncio/api/vendor_invoices/vendor_invoices.py +16 -265
  195. sp_api/asyncio/api/vendor_orders/vendor_orders.py +84 -132
  196. sp_api/asyncio/api/vendor_shipments/vendor_shipments.py +150 -69
  197. sp_api/asyncio/api/vendor_transaction_status/vendor_transaction_status.py +17 -12
  198. sp_api/asyncio/base/client.py +2 -2
  199. sp_api/asyncio/util/load_date_bound.py +1 -1
  200. sp_api/base/__init__.py +10 -0
  201. sp_api/base/_core.py +2 -2
  202. sp_api/base/client.py +3 -3
  203. sp_api/base/helpers.py +12 -1
  204. sp_api/base/marketplaces.py +6 -3
  205. sp_api/util/__init__.py +2 -0
  206. sp_api/util/load_date_bound.py +1 -1
  207. sp_api/util/versioned_client.py +45 -0
  208. python_amazon_sp_api-2.0.15.dist-info/RECORD +0 -255
  209. sp_api/asyncio/api/models/__init__.py +0 -4
  210. sp_api/asyncio/api/overrides/__init__.py +0 -1
  211. {python_amazon_sp_api-2.0.15.data → python_amazon_sp_api-2.1.3.data}/scripts/make_endpoint +0 -0
  212. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/WHEEL +0 -0
  213. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/licenses/LICENSE +0 -0
  214. {python_amazon_sp_api-2.0.15.dist-info → python_amazon_sp_api-2.1.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,120 @@
1
+ from __future__ import annotations
2
+
3
+ import enum
4
+ from typing import Any, Literal, TYPE_CHECKING, overload
5
+ from sp_api.util.versioned_client import VersionedClientMeta
6
+
7
+ from sp_api.base import Client
8
+
9
+ from .shipping_2021_01_06 import ExternalFulfillmentShippingV20210106
10
+ from .shipping_2024_09_11 import ExternalFulfillmentShippingV20240911
11
+
12
+
13
+ class ExternalFulfillmentShippingVersion(str, enum.Enum):
14
+ V_2021_01_06 = "2021-01-06"
15
+ V_2024_09_11 = "2024-09-11"
16
+ LATEST = "2024-09-11"
17
+
18
+
19
+ if TYPE_CHECKING:
20
+
21
+ class _ExternalFulfillmentShippingMeta(VersionedClientMeta):
22
+ @overload
23
+ def __call__(
24
+ cls,
25
+ *args: Any,
26
+ version: Literal[
27
+ ExternalFulfillmentShippingVersion.V_2024_09_11,
28
+ ExternalFulfillmentShippingVersion.LATEST,
29
+ "2024-09-11",
30
+ ],
31
+ **kwargs: Any,
32
+ ) -> ExternalFulfillmentShippingV20240911: ...
33
+
34
+ @overload
35
+ def __call__(
36
+ cls,
37
+ *args: Any,
38
+ version: Literal[ExternalFulfillmentShippingVersion.V_2021_01_06, "2021-01-06"],
39
+ **kwargs: Any,
40
+ ) -> ExternalFulfillmentShippingV20210106: ...
41
+
42
+ @overload
43
+ def __call__(
44
+ cls,
45
+ *args: Any,
46
+ version: None = None,
47
+ **kwargs: Any,
48
+ ) -> ExternalFulfillmentShippingV20210106: ...
49
+
50
+ @overload
51
+ def __call__(
52
+ cls,
53
+ *args: Any,
54
+ version: str | ExternalFulfillmentShippingVersion,
55
+ **kwargs: Any,
56
+ ) -> Client: ...
57
+
58
+
59
+ else:
60
+ _ExternalFulfillmentShippingMeta = VersionedClientMeta
61
+
62
+
63
+ class ExternalFulfillmentShipping(Client, metaclass=_ExternalFulfillmentShippingMeta):
64
+ """External Fulfillment Shipments API client.
65
+
66
+ This class dispatches to a versioned External Fulfillment Shipments API client.
67
+
68
+ If you do not pass a version, the constructor returns the oldest supported implementation ("2021-01-06").
69
+ """
70
+
71
+ if TYPE_CHECKING:
72
+ @overload
73
+ def __new__(
74
+ cls,
75
+ *args: Any,
76
+ version: Literal[
77
+ ExternalFulfillmentShippingVersion.V_2024_09_11,
78
+ ExternalFulfillmentShippingVersion.LATEST,
79
+ "2024-09-11",
80
+ ],
81
+ **kwargs: Any,
82
+ ) -> ExternalFulfillmentShippingV20240911: ...
83
+
84
+ @overload
85
+ def __new__(
86
+ cls,
87
+ *args: Any,
88
+ version: Literal[ExternalFulfillmentShippingVersion.V_2021_01_06, "2021-01-06"],
89
+ **kwargs: Any,
90
+ ) -> ExternalFulfillmentShippingV20210106: ...
91
+
92
+ @overload
93
+ def __new__(
94
+ cls,
95
+ *args: Any,
96
+ version: None = None,
97
+ **kwargs: Any,
98
+ ) -> ExternalFulfillmentShippingV20210106: ...
99
+
100
+ @overload
101
+ def __new__(
102
+ cls,
103
+ *args: Any,
104
+ version: str | ExternalFulfillmentShippingVersion,
105
+ **kwargs: Any,
106
+ ) -> Client: ...
107
+
108
+ _DISPATCH = True
109
+
110
+ _DEFAULT_VERSION = "2021-01-06"
111
+
112
+ _VERSION_MAP = {
113
+ "2021-01-06": ExternalFulfillmentShippingV20210106,
114
+ "2024-09-11": ExternalFulfillmentShippingV20240911,
115
+ }
116
+
117
+ _VERSION_ALIASES = {
118
+ "2021-01-06": "2021-01-06",
119
+ "2024-09-11": "2024-09-11",
120
+ }
@@ -0,0 +1,256 @@
1
+ from sp_api.base import Client, sp_endpoint, ApiResponse, fill_query_params
2
+
3
+
4
+ class ExternalFulfillmentShippingV20210106(Client):
5
+ """
6
+ External Fulfillment Shipments API (version 2021-01-06).
7
+ """
8
+
9
+ @sp_endpoint("/externalFulfillment/shipments/2021-01-06/shipments/{}", method="POST")
10
+ def process_shipment(self, shipmentId, operation, **kwargs) -> ApiResponse:
11
+ """
12
+ process_shipment(self, shipmentId, operation, **kwargs) -> ApiResponse
13
+
14
+ Confirms/Rejects that a seller will be fulfilling or cancelling the specified shipment.
15
+
16
+ Examples:
17
+ literal blocks::
18
+
19
+ ExternalFulfillmentShippingV20210106().process_shipment("value", "value")
20
+
21
+ Args:
22
+ shipmentId: | required
23
+ operation: | required
24
+ **kwargs:
25
+
26
+ Returns:
27
+ ApiResponse
28
+ """
29
+ return self._request(
30
+ fill_query_params(kwargs.pop("path"), shipmentId),
31
+ params={"operation": operation},
32
+ data=kwargs,
33
+ add_marketplace=False,
34
+ )
35
+
36
+ @sp_endpoint("/externalFulfillment/shipments/2021-01-06/shipments/{}/packages", method="POST")
37
+ def create_packages(self, shipmentId, **kwargs) -> ApiResponse:
38
+ """
39
+ create_packages(self, shipmentId, **kwargs) -> ApiResponse
40
+
41
+ Provides details about the packages that will be used to fulfill the specified shipment.
42
+
43
+ Examples:
44
+ literal blocks::
45
+
46
+ ExternalFulfillmentShippingV20210106().create_packages("value")
47
+
48
+ Args:
49
+ shipmentId: | required
50
+ **kwargs:
51
+
52
+ Returns:
53
+ ApiResponse
54
+ """
55
+
56
+ return self._request(
57
+ fill_query_params(kwargs.pop("path"), shipmentId),
58
+ data=kwargs,
59
+ add_marketplace=False
60
+ )
61
+
62
+ @sp_endpoint("/externalFulfillment/shipments/2021-01-06/shipments/{}/packages/{}", method="PUT")
63
+ def update_package(self, shipmentId, packageId, **kwargs) -> ApiResponse:
64
+ """
65
+ update_package(self, shipmentId, packageId, **kwargs) -> ApiResponse
66
+
67
+ Updates the details about the packages that will be used to fulfill the specified shipment.
68
+
69
+ Examples:
70
+ literal blocks::
71
+
72
+ ExternalFulfillmentShippingV20210106().update_package("value", "value")
73
+
74
+ Args:
75
+ shipmentId: | required
76
+ packageId: | required
77
+ **kwargs:
78
+
79
+ Returns:
80
+ ApiResponse
81
+ """
82
+
83
+ return self._request(
84
+ fill_query_params(kwargs.pop("path"), shipmentId, packageId),
85
+ data=kwargs,
86
+ add_marketplace=False
87
+ )
88
+
89
+ @sp_endpoint("/externalFulfillment/shipments/2021-01-06/shipments/{}/packages/{}", method="PATCH")
90
+ def update_package_status(self, shipmentId, packageId, **kwargs) -> ApiResponse:
91
+ """
92
+ update_package_status(self, shipmentId, packageId, **kwargs) -> ApiResponse
93
+
94
+ Updates the status of the packages.
95
+
96
+ Examples:
97
+ literal blocks::
98
+
99
+ ExternalFulfillmentShippingV20210106().update_package_status("value", "value")
100
+
101
+ Args:
102
+ shipmentId: | required
103
+ packageId: | required
104
+ **kwargs:
105
+
106
+ Returns:
107
+ ApiResponse
108
+ """
109
+ params = {}
110
+ if "status" in kwargs:
111
+ params["status"] = kwargs.get("status")
112
+
113
+ return self._request(
114
+ fill_query_params(kwargs.pop("path"), shipmentId, packageId),
115
+ params=params,
116
+ data=kwargs,
117
+ add_marketplace=False
118
+ )
119
+
120
+ @sp_endpoint("/externalFulfillment/shipments/2021-01-06/shipments/{}/invoice", method="POST")
121
+ def generate_invoice(self, shipmentId, **kwargs) -> ApiResponse:
122
+ """
123
+ generate_invoice(self, shipmentId, **kwargs) -> ApiResponse
124
+
125
+ Generates and retrieves the invoice for the specified shipment.
126
+
127
+ Examples:
128
+ literal blocks::
129
+
130
+ ExternalFulfillmentShippingV20210106().generate_invoice("value")
131
+
132
+ Args:
133
+ shipmentId: | required
134
+ **kwargs:
135
+
136
+ Returns:
137
+ ApiResponse
138
+ """
139
+
140
+ return self._request(
141
+ fill_query_params(kwargs.pop("path"), shipmentId),
142
+ data=kwargs,
143
+ add_marketplace=False
144
+ )
145
+
146
+ @sp_endpoint("/externalFulfillment/shipments/2021-01-06/shipments/{}/invoice", method="GET")
147
+ def retrieve_invoice(self, shipmentId, **kwargs) -> ApiResponse:
148
+ """
149
+ retrieve_invoice(self, shipmentId, **kwargs) -> ApiResponse
150
+
151
+ Retrieves invoice for the specified shipment.
152
+
153
+ Examples:
154
+ literal blocks::
155
+
156
+ ExternalFulfillmentShippingV20210106().retrieve_invoice("value")
157
+
158
+ Args:
159
+ shipmentId: | required
160
+ **kwargs:
161
+
162
+ Returns:
163
+ ApiResponse
164
+ """
165
+
166
+ return self._request(
167
+ fill_query_params(kwargs.pop("path"), shipmentId),
168
+ params=kwargs,
169
+ add_marketplace=False
170
+ )
171
+
172
+ @sp_endpoint("/externalFulfillment/shipments/2021-01-06/shippingOptions", method="GET")
173
+ def retrieve_shipping_options(self, shipmentId, packageId, **kwargs) -> ApiResponse:
174
+ """
175
+ retrieve_shipping_options(self, shipmentId, packageId, **kwargs) -> ApiResponse
176
+
177
+ An API for a client to retrieve an optional list of shippingOptions that marketplace/channel provides
178
+ for the pickup of the packages of an shipment. This API will return a list of shippingOptions if the
179
+ marketplace/channel provides transportation and allows the seller to choose a shippingOption. If the
180
+ marketplace/channel does not allow for a shippingOption to be selected, but has a pre-determined shippingOption,
181
+ then this API will return an empty response.
182
+
183
+ Examples:
184
+ literal blocks::
185
+
186
+ ExternalFulfillmentShippingV20210106().retrieve_shipping_options("value", "value")
187
+
188
+ Args:
189
+ shipmentId: | required
190
+ packageId: | required
191
+ **kwargs:
192
+
193
+ Returns:
194
+ ApiResponse
195
+ """
196
+ params = {"shipmentId": shipmentId, "packageId": packageId}
197
+ return self._request(kwargs.pop("path"), params=params, add_marketplace=False)
198
+
199
+ @sp_endpoint("/externalFulfillment/shipments/2021-01-06/shipments/{}/shipLabels", method="PUT")
200
+ def generate_ship_labels(self, shipmentId, operation, **kwargs) -> ApiResponse:
201
+ """
202
+ generate_ship_labels(self, shipmentId, operation, **kwargs) -> ApiResponse
203
+
204
+ Generates and retrieves all ship-labels for one or more packages in the specified shipment.
205
+
206
+ Examples:
207
+ literal blocks::
208
+
209
+ ExternalFulfillmentShippingV20210106().generate_ship_labels("value", "value")
210
+
211
+ Args:
212
+ shipmentId: | required
213
+ operation: | required
214
+ **kwargs:
215
+
216
+ Returns:
217
+ ApiResponse
218
+ """
219
+
220
+ params = {"operation": operation}
221
+ if "shippingOptionId" in kwargs:
222
+ params["shippingOptionId"] = kwargs.pop("shippingOptionId")
223
+
224
+ return self._request(
225
+ fill_query_params(kwargs.pop("path"), shipmentId),
226
+ params=params,
227
+ data=kwargs,
228
+ add_marketplace=False
229
+ )
230
+
231
+ @sp_endpoint("/externalFulfillment/shipments/2021-01-06/shipments/{}/packages/{}/shipLabel", method="GET")
232
+ def retrieve_ship_label(self, shipmentId, packageId, **kwargs) -> ApiResponse:
233
+ """
234
+ retrieve_ship_label(self, shipmentId, packageId, **kwargs) -> ApiResponse
235
+
236
+ retrieves a ship-label for the specified package in the specified shipment.
237
+
238
+ Examples:
239
+ literal blocks::
240
+
241
+ ExternalFulfillmentShippingV20210106().retrieve_ship_label("value", "value")
242
+
243
+ Args:
244
+ shipmentId: | required
245
+ packageId: | required
246
+ **kwargs:
247
+
248
+ Returns:
249
+ ApiResponse
250
+ """
251
+
252
+ return self._request(
253
+ fill_query_params(kwargs.pop("path"), shipmentId, packageId),
254
+ params=kwargs,
255
+ add_marketplace=False
256
+ )
@@ -0,0 +1,233 @@
1
+ from sp_api.base import Client, sp_endpoint, ApiResponse, fill_query_params
2
+
3
+
4
+ class ExternalFulfillmentShippingV20240911(Client):
5
+ """
6
+ External Fulfillment Shipments API (version 2024-09-11).
7
+ """
8
+
9
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments", method="GET")
10
+ def get_shipments(self, **kwargs) -> ApiResponse:
11
+ """
12
+ get_shipments(self, **kwargs) -> ApiResponse
13
+
14
+ Get a list of shipments created for the seller in the status you specify. Shipments can be further filtered based on the fulfillment node or the time of the shipments' last update.
15
+
16
+ Examples:
17
+ literal blocks::
18
+
19
+ ExternalFulfillmentShippingV20240911().get_shipments()
20
+
21
+ Args:
22
+ key locationId: object | The Amazon channel location identifier for the shipments you want to retrieve.
23
+ key marketplaceId: object | The marketplace ID associated with the location. To find the ID for your marketplace, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).
24
+ key channelName: object | The channel name associated with the location.
25
+ key status: object | required The status of shipment you want to include in the response. To retrieve all new shipments, set this value to `ACCEPTED`.
26
+ key lastUpdatedAfter: object | The response includes shipments whose latest update is after the specified time. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date-time format.
27
+ key lastUpdatedBefore: object | The response includes shipments whose latest update is before the specified time. In [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date-time format.
28
+ key maxResults: object | The maximum number of shipments to include in the response.
29
+ key paginationToken: object | A token that you use to retrieve the next page of results. The response includes `nextToken` when there are multiple pages of results. 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.
30
+
31
+ Returns:
32
+ ApiResponse
33
+ """
34
+
35
+ return self._request(kwargs.pop("path"), params=kwargs)
36
+
37
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments/{}", method="GET")
38
+ def get_shipment(self, shipmentId, **kwargs) -> ApiResponse:
39
+ """
40
+ get_shipment(self, shipmentId, **kwargs) -> ApiResponse
41
+
42
+ Get a single shipment with the ID you specify.
43
+
44
+ Examples:
45
+ literal blocks::
46
+
47
+ ExternalFulfillmentShippingV20240911().get_shipment("value")
48
+
49
+ Args:
50
+ shipmentId: object | required The ID of the shipment you want to retrieve.
51
+
52
+ Returns:
53
+ ApiResponse
54
+ """
55
+ return self._request(
56
+ fill_query_params(kwargs.pop("path"), shipmentId),
57
+ params=kwargs,
58
+ add_marketplace=False,
59
+ )
60
+
61
+
62
+
63
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments/{}", method="POST")
64
+ def process_shipment(self, shipmentId, **kwargs) -> ApiResponse:
65
+ """
66
+ process_shipment(self, shipmentId, **kwargs) -> ApiResponse
67
+
68
+ Confirm or reject the specified shipment.
69
+
70
+ Examples:
71
+ literal blocks::
72
+
73
+ ExternalFulfillmentShippingV20240911().process_shipment("value")
74
+
75
+ Args:
76
+ shipmentId: object | required The ID of the shipment you want to confirm or reject.
77
+ key operation: object | required The status of the shipment.
78
+ body: ShipmentAcknowledgementRequest | Information about the shipment and its line items.
79
+
80
+ Returns:
81
+ ApiResponse
82
+ """
83
+ return self._request(fill_query_params(kwargs.pop("path"), shipmentId), data=kwargs, add_marketplace=False)
84
+
85
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments/{}/packages", method="POST")
86
+ def create_packages(self, shipmentId, **kwargs) -> ApiResponse:
87
+ """
88
+ create_packages(self, shipmentId, **kwargs) -> ApiResponse
89
+
90
+ Provide details about the packages in the specified shipment.
91
+
92
+ Examples:
93
+ literal blocks::
94
+
95
+ ExternalFulfillmentShippingV20240911().create_packages("value")
96
+
97
+ Args:
98
+ shipmentId: object | required The ID of the shipment.
99
+ body: Packages | required A list of packages in the shipment.
100
+
101
+ Returns:
102
+ ApiResponse
103
+ """
104
+ return self._request(fill_query_params(kwargs.pop("path"), shipmentId), data=kwargs, add_marketplace=False)
105
+
106
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments/{}/packages/{}", method="PUT")
107
+ def update_package(self, shipmentId, packageId, **kwargs) -> ApiResponse:
108
+ """
109
+ update_package(self, shipmentId, packageId, **kwargs) -> ApiResponse
110
+
111
+ Updates the details about the packages that will be used to fulfill the specified shipment.
112
+
113
+ Examples:
114
+ literal blocks::
115
+
116
+ ExternalFulfillmentShippingV20240911().update_package("value", "value")
117
+
118
+ Args:
119
+ shipmentId: object | required The ID of the shipment to which the package belongs.
120
+ packageId: object | required The ID of the package whose information you want to update.
121
+ body: Package | required The body of the request.
122
+
123
+ Returns:
124
+ ApiResponse
125
+ """
126
+ return self._request(fill_query_params(kwargs.pop("path"), shipmentId, packageId), data=kwargs, add_marketplace=False)
127
+
128
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments/{}/packages/{}", method="PATCH")
129
+ def update_package_status(self, shipmentId, packageId, **kwargs) -> ApiResponse:
130
+ """
131
+ update_package_status(self, shipmentId, packageId, **kwargs) -> ApiResponse
132
+
133
+ Updates the status of the packages.
134
+
135
+ Examples:
136
+ literal blocks::
137
+
138
+ ExternalFulfillmentShippingV20240911().update_package_status("value", "value")
139
+
140
+ Args:
141
+ shipmentId: object | required The ID of the shipment to which the package belongs.
142
+ packageId: object | required The ID of the package whose status you want to update.
143
+ key status: object | **DEPRECATED**. Do not use. Package status is defined in the body parameter.
144
+ body: PackageDeliveryStatus | The body of the request.
145
+
146
+ Returns:
147
+ ApiResponse
148
+ """
149
+ return self._request(fill_query_params(kwargs.pop("path"), shipmentId, packageId), data=kwargs, add_marketplace=False)
150
+
151
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments/{}/shippingOptions", method="GET")
152
+ def retrieve_shipping_options(self, shipmentId, **kwargs) -> ApiResponse:
153
+ """
154
+ retrieve_shipping_options(self, shipmentId, **kwargs) -> ApiResponse
155
+
156
+ Get a list of shipping options for a package in a shipment given the shipment's marketplace and channel. If the marketplace and channel have a pre-determined shipping option, then this operation returns an empty response.
157
+
158
+ Examples:
159
+ literal blocks::
160
+
161
+ ExternalFulfillmentShippingV20240911().retrieve_shipping_options("value")
162
+
163
+ Args:
164
+ shipmentId: object | required The ID of the shipment to which the package belongs.
165
+ key packageId: object | required The ID of the package for which you want to retrieve shipping options.
166
+
167
+ Returns:
168
+ ApiResponse
169
+ """
170
+ return self._request(fill_query_params(kwargs.pop("path"), shipmentId), params=kwargs, add_marketplace=False)
171
+
172
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments/{}/invoice", method="POST")
173
+ def generate_invoice(self, shipmentId, **kwargs) -> ApiResponse:
174
+ """
175
+ generate_invoice(self, shipmentId, **kwargs) -> ApiResponse
176
+
177
+ Get invoices for the shipment you specify.
178
+
179
+ Examples:
180
+ literal blocks::
181
+
182
+ ExternalFulfillmentShippingV20240911().generate_invoice("value")
183
+
184
+ Args:
185
+ shipmentId: object | required The ID of the shipment whose invoice you want.
186
+
187
+ Returns:
188
+ ApiResponse
189
+ """
190
+ return self._request(fill_query_params(kwargs.pop("path"), shipmentId), data=kwargs, add_marketplace=False)
191
+
192
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments/{}/invoice", method="GET")
193
+ def retrieve_invoice(self, shipmentId, **kwargs) -> ApiResponse:
194
+ """
195
+ retrieve_invoice(self, shipmentId, **kwargs) -> ApiResponse
196
+
197
+ Retrieve invoices for the shipment you specify.
198
+
199
+ Examples:
200
+ literal blocks::
201
+
202
+ ExternalFulfillmentShippingV20240911().retrieve_invoice("value")
203
+
204
+ Args:
205
+ shipmentId: object | required The ID of the shipment whose invoice you want to retrieve.
206
+
207
+ Returns:
208
+ ApiResponse
209
+ """
210
+ return self._request(fill_query_params(kwargs.pop("path"), shipmentId), params=kwargs, add_marketplace=False)
211
+
212
+ @sp_endpoint("/externalFulfillment/2024-09-11/shipments/{}/shipLabels", method="PUT")
213
+ def generate_ship_labels(self, shipmentId, **kwargs) -> ApiResponse:
214
+ """
215
+ generate_ship_labels(self, shipmentId, **kwargs) -> ApiResponse
216
+
217
+ Generate and retrieve all shipping labels for one or more packages in the shipment you specify.
218
+
219
+ Examples:
220
+ literal blocks::
221
+
222
+ ExternalFulfillmentShippingV20240911().generate_ship_labels("value")
223
+
224
+ Args:
225
+ shipmentId: object | required The ID of the shipment whose shipping labels you want to generate and retrieve.
226
+ key shippingOptionId: object | The ID of the shipping option whose shipping labels you want.
227
+ key operation: object | required Specify whether you want to generate or regenerate a label.
228
+ body: ShipLabelsInput | Shipping details for when shipping is not done by the marketplace channel.
229
+
230
+ Returns:
231
+ ApiResponse
232
+ """
233
+ return self._request(fill_query_params(kwargs.pop("path"), shipmentId), data=kwargs, add_marketplace=False)