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,1723 @@
1
+ from sp_api.base import ApiResponse
2
+ from sp_api.asyncio.base import AsyncBaseClient
3
+ from sp_api.base import sp_endpoint, fill_query_params
4
+
5
+ import urllib.parse
6
+ from sp_api.util import ensure_csv
7
+
8
+
9
+ class FulfillmentInboundV20240320(AsyncBaseClient):
10
+ """
11
+ FulfillmentInbound SP-API Client
12
+ :link:
13
+
14
+ The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.
15
+ """
16
+
17
+ @sp_endpoint("/fba/inbound/2024-03-20/itemsGuidance")
18
+ async def item_guidance(self, **kwargs):
19
+ """
20
+ item_guidance(self, **kwargs) -> ApiResponse
21
+
22
+
23
+
24
+ Examples:
25
+ literal blocks::
26
+
27
+ await FulfillmentInboundV20240320().item_guidance()
28
+
29
+ Args:
30
+ **kwargs:
31
+
32
+ Returns:
33
+ ApiResponse
34
+ """
35
+ return await self._request(kwargs.pop("path"), params=kwargs)
36
+
37
+ @sp_endpoint("/fba/inbound/2024-03-20/plans", method="POST")
38
+ async def plans(self, data, **kwargs):
39
+ """
40
+ plans(self, data, **kwargs) -> ApiResponse
41
+
42
+
43
+
44
+ Examples:
45
+ literal blocks::
46
+
47
+ await FulfillmentInboundV20240320().plans("value")
48
+
49
+ Args:
50
+ data: | required
51
+ **kwargs:
52
+
53
+ Returns:
54
+ ApiResponse
55
+ """
56
+ return await self._request(kwargs.pop("path"), data={**data, **kwargs})
57
+
58
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}", method="POST")
59
+ async def create_shipment(self, shipment_id, data, **kwargs):
60
+ """
61
+ ``create_shipment(self, shipment_id, data, **kwargs) -> ApiResponse``
62
+
63
+ ``create_shipment(self, shipment_id, data, **kwargs)``
64
+
65
+ Examples:
66
+ literal blocks::
67
+
68
+ await FulfillmentInboundV20240320().create_shipment("value", "value")
69
+
70
+ Args:
71
+ shipment_id: | required
72
+ data: | required
73
+ **kwargs:
74
+
75
+ Returns:
76
+ ApiResponse
77
+ """
78
+ return await self._request(
79
+ fill_query_params(kwargs.pop("path"), shipment_id), data={**data, **kwargs}
80
+ )
81
+
82
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}", method="PUT")
83
+ async def update_shipment(self, shipment_id, data, **kwargs):
84
+ """
85
+ update_shipment(self, shipment_id, data, **kwargs) -> ApiResponse
86
+
87
+
88
+
89
+ Examples:
90
+ literal blocks::
91
+
92
+ await FulfillmentInboundV20240320().update_shipment("value", "value")
93
+
94
+ Args:
95
+ shipment_id: | required
96
+ data: | required
97
+ **kwargs:
98
+
99
+ Returns:
100
+ ApiResponse
101
+ """
102
+ return await self._request(
103
+ fill_query_params(kwargs.pop("path"), shipment_id), data={**data, **kwargs}
104
+ )
105
+
106
+ @sp_endpoint(
107
+ "/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/name", method="PUT"
108
+ )
109
+ async def update_shipment_name(self, inboundPlanId, shipmentId, **kwargs):
110
+ """
111
+ update_shipment_name(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
112
+
113
+ Updates the name of an existing shipment.
114
+
115
+ Examples:
116
+ literal blocks::
117
+
118
+ await FulfillmentInboundV20240320().update_shipment_name("value", "value")
119
+
120
+ Args:
121
+ inboundPlanId: object | required Identifier of an inbound plan.
122
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
123
+ body: UpdateShipmentNameRequest | required The body of the request to `updateShipmentName`.
124
+
125
+ Returns:
126
+ ApiResponse
127
+ """
128
+ return await self._request(
129
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
130
+ data=kwargs,
131
+ )
132
+
133
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}/preorder")
134
+ async def preorder(self, shipment_id, **kwargs):
135
+ """
136
+ preorder(self, shipment_id, **kwargs) -> ApiResponse
137
+
138
+
139
+
140
+ Examples:
141
+ literal blocks::
142
+
143
+ await FulfillmentInboundV20240320().preorder("value")
144
+
145
+ Args:
146
+ shipment_id: | required
147
+ **kwargs:
148
+
149
+ Returns:
150
+ ApiResponse
151
+ """
152
+ return await self._request(
153
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
154
+ )
155
+
156
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}/preorder/confirm", method="PUT")
157
+ async def confirm_preorder(self, shipment_id, **kwargs):
158
+ """
159
+ ``confirm_preorder(self, shipment_id, **kwargs) -> ApiResponse``
160
+
161
+ ``confirm_preorder(self, shipment_id, **kwargs)``
162
+
163
+ Examples:
164
+ literal blocks::
165
+
166
+ await FulfillmentInboundV20240320().confirm_preorder("value")
167
+
168
+ Args:
169
+ shipment_id: | required
170
+ **kwargs:
171
+
172
+ Returns:
173
+ ApiResponse
174
+ """
175
+ return await self._request(
176
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
177
+ )
178
+
179
+ @sp_endpoint("/fba/inbound/2024-03-20/prepInstructions")
180
+ async def prep_instruction(self, data, **kwargs):
181
+ """
182
+ prep_instruction(self, data, **kwargs) -> ApiResponse
183
+
184
+
185
+
186
+ Examples:
187
+ literal blocks::
188
+
189
+ await FulfillmentInboundV20240320().prep_instruction("value")
190
+
191
+ Args:
192
+ data: | required
193
+ **kwargs:
194
+
195
+ Returns:
196
+ ApiResponse
197
+ """
198
+ return await self._request(kwargs.pop("path"), params={**data, **kwargs})
199
+
200
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}/transport")
201
+ async def get_transport_information(self, shipment_id, **kwargs):
202
+ """
203
+ get_transport_information(self, shipment_id, **kwargs) -> ApiResponse
204
+
205
+
206
+
207
+ Examples:
208
+ literal blocks::
209
+
210
+ await FulfillmentInboundV20240320().get_transport_information("value")
211
+
212
+ Args:
213
+ shipment_id: | required
214
+ **kwargs:
215
+
216
+ Returns:
217
+ ApiResponse
218
+ """
219
+ return await self._request(
220
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
221
+ )
222
+
223
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}/transport", method="PUT")
224
+ async def update_transport_information(self, shipment_id, **kwargs):
225
+ """
226
+ update_transport_information(self, shipment_id, **kwargs) -> ApiResponse
227
+
228
+ putTransportDetails
229
+
230
+ Examples:
231
+ literal blocks::
232
+
233
+ await FulfillmentInboundV20240320().update_transport_information("value")
234
+
235
+ Args:
236
+ shipment_id: | required
237
+ **kwargs:
238
+
239
+ Returns:
240
+ ApiResponse
241
+ """
242
+ return await self._request(
243
+ fill_query_params(kwargs.pop("path"), shipment_id), data=kwargs
244
+ )
245
+
246
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}/transport/void", method="POST")
247
+ async def void_transport(self, shipment_id, **kwargs):
248
+ """
249
+ void_transport(self, shipment_id, **kwargs) -> ApiResponse
250
+
251
+
252
+
253
+ Examples:
254
+ literal blocks::
255
+
256
+ await FulfillmentInboundV20240320().void_transport("value")
257
+
258
+ Args:
259
+ shipment_id: | required
260
+ **kwargs:
261
+
262
+ Returns:
263
+ ApiResponse
264
+ """
265
+ return await self._request(
266
+ fill_query_params(kwargs.pop("path"), shipment_id),
267
+ data=kwargs,
268
+ add_marketplace=False,
269
+ )
270
+
271
+ @sp_endpoint(
272
+ "/fba/inbound/2024-03-20/shipments/{}/transport/estimate", method="POST"
273
+ )
274
+ async def estimate_transport(self, shipment_id, **kwargs):
275
+ """
276
+ estimate_transport(self, shipment_id, **kwargs) -> ApiResponse
277
+
278
+
279
+
280
+ Examples:
281
+ literal blocks::
282
+
283
+ await FulfillmentInboundV20240320().estimate_transport("value")
284
+
285
+ Args:
286
+ shipment_id: | required
287
+ **kwargs:
288
+
289
+ Returns:
290
+ ApiResponse
291
+ """
292
+ return await self._request(
293
+ fill_query_params(kwargs.pop("path"), shipment_id),
294
+ data=kwargs,
295
+ add_marketplace=False,
296
+ )
297
+
298
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}/transport/confirm", method="POST")
299
+ async def confirm_transport(self, shipment_id, **kwargs):
300
+ return await self._request(
301
+ fill_query_params(kwargs.pop("path"), shipment_id),
302
+ data=kwargs,
303
+ add_marketplace=False,
304
+ )
305
+
306
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}/labels")
307
+ async def get_labels(self, shipment_id, **kwargs):
308
+ """
309
+ ``get_labels(self, shipment_id, **kwargs) -> ApiResponse``
310
+
311
+ ``get_labels(self, shipment_id, **kwargs)``
312
+
313
+ Examples:
314
+ literal blocks::
315
+
316
+ await FulfillmentInboundV20240320().get_labels("value")
317
+
318
+ Args:
319
+ shipment_id: | required
320
+ **kwargs:
321
+
322
+ Returns:
323
+ ApiResponse
324
+ """
325
+ return await self._request(
326
+ fill_query_params(kwargs.pop("path"), shipment_id),
327
+ params=kwargs,
328
+ add_marketplace=False,
329
+ )
330
+
331
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}/billOfLading")
332
+ async def bill_of_lading(self, shipment_id, **kwargs):
333
+ """
334
+ bill_of_lading(self, shipment_id, **kwargs) -> ApiResponse
335
+
336
+
337
+
338
+ Examples:
339
+ literal blocks::
340
+
341
+ await FulfillmentInboundV20240320().bill_of_lading("value")
342
+
343
+ Args:
344
+ shipment_id: | required
345
+ **kwargs:
346
+
347
+ Returns:
348
+ ApiResponse
349
+ """
350
+ return await self._request(
351
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
352
+ )
353
+
354
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments")
355
+ async def get_shipments(self, **kwargs):
356
+ """
357
+ get_shipments(self, **kwargs) -> ApiResponse
358
+
359
+
360
+
361
+ Examples:
362
+ literal blocks::
363
+
364
+ await FulfillmentInboundV20240320().get_shipments()
365
+
366
+ Args:
367
+ **kwargs:
368
+
369
+ Returns:
370
+ ApiResponse
371
+ """
372
+ return await self._request(kwargs.pop("path"), params=kwargs)
373
+
374
+ @sp_endpoint("/fba/inbound/2024-03-20/shipments/{}/items")
375
+ async def shipment_items_by_shipment(self, shipment_id, **kwargs):
376
+ """
377
+ shipment_items_by_shipment(self, shipment_id, **kwargs) -> ApiResponse
378
+
379
+
380
+
381
+ Examples:
382
+ literal blocks::
383
+
384
+ await FulfillmentInboundV20240320().shipment_items_by_shipment("value")
385
+
386
+ Args:
387
+ shipment_id: | required
388
+ **kwargs:
389
+
390
+ Returns:
391
+ ApiResponse
392
+ """
393
+ return await self._request(
394
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
395
+ )
396
+
397
+ @sp_endpoint("/fba/inbound/2024-03-20/shipmentItems")
398
+ async def shipment_items(self, **kwargs):
399
+ """
400
+ shipment_items(self, **kwargs) -> ApiResponse
401
+
402
+
403
+
404
+ Examples:
405
+ literal blocks::
406
+
407
+ await FulfillmentInboundV20240320().shipment_items()
408
+
409
+ Args:
410
+ **kwargs:
411
+
412
+ Returns:
413
+ ApiResponse
414
+ """
415
+ return await self._request(kwargs.pop("path"), params=kwargs)
416
+
417
+ async def get_shipments_by_id(self, shipment_id_list, **kwargs) -> ApiResponse:
418
+ """
419
+ get_shipments_by_id(self, shipment_id_list, **kwargs) -> ApiResponse
420
+
421
+ FulfillmentInbound().get_shipments_by_id('FBA16TBYQ6J6')
422
+
423
+ Examples:
424
+ literal blocks::
425
+
426
+ await FulfillmentInboundV20240320().get_shipments_by_id("value")
427
+
428
+ Args:
429
+ shipment_id_list: | required
430
+ **kwargs:
431
+
432
+ Returns:
433
+ ApiResponse
434
+ """
435
+ shipment_id_list = ensure_csv(shipment_id_list)
436
+ return self.get_shipments(
437
+ QueryType="SHIPMENT", ShipmentIdList=shipment_id_list, **kwargs
438
+ )
439
+
440
+ # 2024-03-20 API
441
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans", method="GET")
442
+ async def list_inbound_plans(self, **kwargs) -> ApiResponse:
443
+ """
444
+ list_inbound_plans(self, **kwargs) -> ApiResponse
445
+
446
+ Provides a list of inbound plans with minimal information.
447
+
448
+ Examples:
449
+ literal blocks::
450
+
451
+ await FulfillmentInboundV20240320().list_inbound_plans()
452
+
453
+ Args:
454
+ key pageSize: object | The number of inbound plans to return in the response matching the given query.
455
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
456
+ key status: object | The status of an inbound plan.
457
+ key sortBy: object | Sort by field.
458
+ key sortOrder: object | The sort order.
459
+
460
+ Returns:
461
+ ApiResponse
462
+ """
463
+
464
+ return await self._request(kwargs.pop("path"), params=kwargs)
465
+
466
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans", method="POST")
467
+ async def create_inbound_plan(self, **kwargs) -> ApiResponse:
468
+ """
469
+ create_inbound_plan(self, **kwargs) -> ApiResponse
470
+
471
+ Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.
472
+
473
+ Examples:
474
+ literal blocks::
475
+
476
+ await FulfillmentInboundV20240320().create_inbound_plan()
477
+
478
+ Args:
479
+ body: CreateInboundPlanRequest | required The body of the request to `createInboundPlan`.
480
+
481
+ Returns:
482
+ ApiResponse
483
+ """
484
+
485
+ return await self._request(kwargs.pop("path"), data=kwargs)
486
+
487
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}", method="GET")
488
+ async def get_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse:
489
+ """
490
+ get_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse
491
+
492
+ Fetches the top level information about an inbound plan.
493
+
494
+ Examples:
495
+ literal blocks::
496
+
497
+ await FulfillmentInboundV20240320().get_inbound_plan("value")
498
+
499
+ Args:
500
+ inboundPlanId: object | required Identifier of an inbound plan.
501
+
502
+ Returns:
503
+ ApiResponse
504
+ """
505
+
506
+ return await self._request(
507
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
508
+ )
509
+
510
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/boxes", method="GET")
511
+ async def list_inbound_plan_boxes(self, inboundPlanId, **kwargs) -> ApiResponse:
512
+ """
513
+ list_inbound_plan_boxes(self, inboundPlanId, **kwargs) -> ApiResponse
514
+
515
+ Provides a paginated list of box packages in an inbound plan.
516
+
517
+ Examples:
518
+ literal blocks::
519
+
520
+ await FulfillmentInboundV20240320().list_inbound_plan_boxes("value")
521
+
522
+ Args:
523
+ inboundPlanId: object | required Identifier of an inbound plan.
524
+ key pageSize: object | The number of boxes to return in the response matching the given query.
525
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
526
+
527
+ Returns:
528
+ ApiResponse
529
+ """
530
+
531
+ return await self._request(
532
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
533
+ )
534
+
535
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/cancellation", method="PUT")
536
+ async def cancel_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse:
537
+ """
538
+ cancel_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse
539
+
540
+ Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.
541
+
542
+ Examples:
543
+ literal blocks::
544
+
545
+ await FulfillmentInboundV20240320().cancel_inbound_plan("value")
546
+
547
+ Args:
548
+ inboundPlanId: object | required Identifier of an inbound plan.
549
+
550
+ Returns:
551
+ ApiResponse
552
+ """
553
+
554
+ return await self._request(
555
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
556
+ )
557
+
558
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/items", method="GET")
559
+ async def list_inbound_plan_items(self, inboundPlanId, **kwargs) -> ApiResponse:
560
+ """
561
+ list_inbound_plan_items(self, inboundPlanId, **kwargs) -> ApiResponse
562
+
563
+ Provides a paginated list of item packages in an inbound plan.
564
+
565
+ Examples:
566
+ literal blocks::
567
+
568
+ await FulfillmentInboundV20240320().list_inbound_plan_items("value")
569
+
570
+ Args:
571
+ inboundPlanId: object | required Identifier of an inbound plan.
572
+ key pageSize: object | The number of items to return in the response matching the given query.
573
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
574
+
575
+ Returns:
576
+ ApiResponse
577
+ """
578
+
579
+ return await self._request(
580
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
581
+ )
582
+
583
+ @sp_endpoint(
584
+ "/inbound/fba/2024-03-20/inboundPlans/{}/packingInformation", method="POST"
585
+ )
586
+ async def set_packing_information(self, inboundPlanId, **kwargs) -> ApiResponse:
587
+ """
588
+ set_packing_information(self, inboundPlanId, **kwargs) -> ApiResponse
589
+
590
+ Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate the box level information required for planning and transportation estimates.
591
+
592
+ Examples:
593
+ literal blocks::
594
+
595
+ await FulfillmentInboundV20240320().set_packing_information("value")
596
+
597
+ Args:
598
+ inboundPlanId: object | required Identifier of an inbound plan.
599
+ body: SetPackingInformationRequest | required The body of the request to `setPackingInformation`.
600
+
601
+ Returns:
602
+ ApiResponse
603
+ """
604
+
605
+ return await self._request(
606
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
607
+ )
608
+
609
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/packingOptions", method="GET")
610
+ async def list_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse:
611
+ """
612
+ list_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse
613
+
614
+ Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding operation before becoming available.
615
+
616
+ Examples:
617
+ literal blocks::
618
+
619
+ await FulfillmentInboundV20240320().list_packing_options("value")
620
+
621
+ Args:
622
+ inboundPlanId: object | required Identifier of an inbound plan.
623
+ key pageSize: object | The number of packing options to return in the response matching the given query.
624
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
625
+
626
+ Returns:
627
+ ApiResponse
628
+ """
629
+
630
+ return await self._request(
631
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
632
+ )
633
+
634
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/packingOptions", method="POST")
635
+ async def generate_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse:
636
+ """
637
+ generate_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse
638
+
639
+ Generates available packing options for the inbound plan.
640
+
641
+ Examples:
642
+ literal blocks::
643
+
644
+ await FulfillmentInboundV20240320().generate_packing_options("value")
645
+
646
+ Args:
647
+ inboundPlanId: object | required Identifier of an inbound plan.
648
+
649
+ Returns:
650
+ ApiResponse
651
+ """
652
+
653
+ return await self._request(
654
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
655
+ )
656
+
657
+ @sp_endpoint(
658
+ "/inbound/fba/2024-03-20/inboundPlans/{}/packingOptions/{}/confirmation",
659
+ method="POST",
660
+ )
661
+ async def confirm_packing_option(
662
+ self, inboundPlanId, packingOptionId, **kwargs
663
+ ) -> ApiResponse:
664
+ """
665
+ confirm_packing_option(self, inboundPlanId, packingOptionId, **kwargs) -> ApiResponse
666
+
667
+ Confirms the packing option for an inbound plan.
668
+
669
+ Examples:
670
+ literal blocks::
671
+
672
+ await FulfillmentInboundV20240320().confirm_packing_option("value", "value")
673
+
674
+ Args:
675
+ inboundPlanId: object | required Identifier of an inbound plan.
676
+ packingOptionId: object | required Identifier of a packing option.
677
+
678
+ Returns:
679
+ ApiResponse
680
+ """
681
+
682
+ return await self._request(
683
+ fill_query_params(kwargs.pop("path"), inboundPlanId, packingOptionId),
684
+ data=kwargs,
685
+ )
686
+
687
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/packingGroups/{}/items", method="GET")
688
+ async def list_packing_group_items(self, inboundPlanId, packingGroupId, **kwargs) -> ApiResponse:
689
+ """
690
+ list_packing_group_items(self, inboundPlanId, packingGroupId, **kwargs) -> ApiResponse
691
+
692
+ Retrieves a page of items in a given packing group. Packing options must first be generated by the corresponding operation before packing group items can be listed.
693
+
694
+ Examples:
695
+ literal blocks::
696
+
697
+ await FulfillmentInboundV20240320().list_packing_group_items("value", "value")
698
+
699
+ Args:
700
+ inboundPlanId: object | required Identifier of an inbound plan.
701
+ packingGroupId: object | required Identifier of a packing group.
702
+ key pageSize: object | The number of packing group items to return in the response matching the given query.
703
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
704
+
705
+ Returns:
706
+ ApiResponse
707
+ """
708
+
709
+ return await self._request(
710
+ fill_query_params(kwargs.pop("path"), inboundPlanId, packingGroupId), params=kwargs
711
+ )
712
+
713
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/pallets", method="GET")
714
+ async def list_inbound_plan_pallets(self, inboundPlanId, **kwargs) -> ApiResponse:
715
+ """
716
+ list_inbound_plan_pallets(self, inboundPlanId, **kwargs) -> ApiResponse
717
+
718
+ Provides a paginated list of pallet packages in an inbound plan. An inbound plan will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.
719
+
720
+ Examples:
721
+ literal blocks::
722
+
723
+ await FulfillmentInboundV20240320().list_inbound_plan_pallets("value")
724
+
725
+ Args:
726
+ inboundPlanId: object | required Identifier of an inbound plan.
727
+ key pageSize: object | The number of pallets to return in the response matching the given query.
728
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
729
+
730
+ Returns:
731
+ ApiResponse
732
+ """
733
+
734
+ return await self._request(
735
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
736
+ )
737
+
738
+ @sp_endpoint(
739
+ "/inbound/fba/2024-03-20/inboundPlans/{}/placementOptions", method="GET"
740
+ )
741
+ async def list_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse:
742
+ """
743
+ list_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse
744
+
745
+ Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding operation before becoming available.
746
+
747
+ Examples:
748
+ literal blocks::
749
+
750
+ await FulfillmentInboundV20240320().list_placement_options("value")
751
+
752
+ Args:
753
+ inboundPlanId: object | required Identifier of an inbound plan.
754
+ key pageSize: object | The number of placement options to return in the response matching the given query.
755
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
756
+
757
+ Returns:
758
+ ApiResponse
759
+ """
760
+
761
+ return await self._request(
762
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
763
+ )
764
+
765
+ @sp_endpoint(
766
+ "/inbound/fba/2024-03-20/inboundPlans/{}/placementOptions", method="POST"
767
+ )
768
+ async def generate_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse:
769
+ """
770
+ generate_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse
771
+
772
+ Generates placement options for the inbound plan.
773
+
774
+ Examples:
775
+ literal blocks::
776
+
777
+ await FulfillmentInboundV20240320().generate_placement_options("value")
778
+
779
+ Args:
780
+ inboundPlanId: object | required Identifier of an inbound plan.
781
+ body: GeneratePlacementOptionsRequest | required The body of the request to `generatePlacementOptions`.
782
+
783
+ Returns:
784
+ ApiResponse
785
+ """
786
+
787
+ return await self._request(
788
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
789
+ )
790
+
791
+ @sp_endpoint(
792
+ "/inbound/fba/2024-03-20/inboundPlans/{}/placementOptions/{}/confirmation",
793
+ method="POST",
794
+ )
795
+ async def confirm_placement_option(
796
+ self, inboundPlanId, placementOptionId, **kwargs
797
+ ) -> ApiResponse:
798
+ """
799
+ confirm_placement_option(self, inboundPlanId, placementOptionId, **kwargs) -> ApiResponse
800
+
801
+ Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.
802
+
803
+ Examples:
804
+ literal blocks::
805
+
806
+ await FulfillmentInboundV20240320().confirm_placement_option("value", "value")
807
+
808
+ Args:
809
+ inboundPlanId: object | required Identifier of an inbound plan.
810
+ placementOptionId: object | required The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs.
811
+
812
+ Returns:
813
+ ApiResponse
814
+ """
815
+
816
+ return await self._request(
817
+ fill_query_params(kwargs.pop("path"), inboundPlanId, placementOptionId),
818
+ data=kwargs,
819
+ )
820
+
821
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}", method="GET")
822
+ async def get_shipment(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
823
+ """
824
+ get_shipment(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
825
+
826
+ Provides the full details for a specific shipment within an inbound plan. The `transportationOptionId` inside `acceptedTransportationSelection` can be used to retrieve the transportation details for the shipment.
827
+
828
+ Examples:
829
+ literal blocks::
830
+
831
+ await FulfillmentInboundV20240320().get_shipment("value", "value")
832
+
833
+ Args:
834
+ inboundPlanId: object | required Identifier of an inbound plan.
835
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
836
+
837
+ Returns:
838
+ ApiResponse
839
+ """
840
+
841
+ return await self._request(
842
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
843
+ params=kwargs,
844
+ )
845
+
846
+ async def get_delivery_challan_document(
847
+ self, inboundPlanId, shipmentId, **kwargs
848
+ ) -> ApiResponse:
849
+ """
850
+ get_delivery_challan_document(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
851
+
852
+ Provide delivery challan document for PCP transportation in IN marketplace.
853
+
854
+ Examples:
855
+ literal blocks::
856
+
857
+ await FulfillmentInboundV20240320().get_delivery_challan_document("value", "value")
858
+
859
+ Args:
860
+ inboundPlanId: object | required Identifier of an inbound plan.
861
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
862
+ **kwargs:
863
+
864
+ Returns:
865
+ ApiResponse
866
+ """
867
+
868
+ return await self.get_delivery_challan_document_get(
869
+ inboundPlanId, shipmentId, **kwargs
870
+ )
871
+
872
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/deliveryWindow", method="POST")
873
+ async def update_shipment_delivery_window(self, inboundPlanId, **kwargs) -> ApiResponse:
874
+ """
875
+ update_shipment_delivery_window(self, inboundPlanId, **kwargs) -> ApiResponse
876
+
877
+ Update the time window that a shipment will be delivered to the warehouse. The window is used to provide the expected time that a non-Amazon partnered carrier will arrive at the warehouse.
878
+
879
+ Examples:
880
+ literal blocks::
881
+
882
+ await FulfillmentInboundV20240320().update_shipment_delivery_window("value")
883
+
884
+ Args:
885
+ inboundPlanId: | required
886
+ **kwargs:
887
+
888
+ Returns:
889
+ ApiResponse
890
+ """
891
+
892
+ return await self._request(
893
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
894
+ )
895
+
896
+ async def get_self_ship_appointment_slots(
897
+ self, inboundPlanId, shipmentId, **kwargs
898
+ ) -> ApiResponse:
899
+ """
900
+ get_self_ship_appointment_slots(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
901
+
902
+ Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.
903
+
904
+ Examples:
905
+ literal blocks::
906
+
907
+ await FulfillmentInboundV20240320().get_self_ship_appointment_slots("value", "value")
908
+
909
+ Args:
910
+ inboundPlanId: object | required Identifier of an inbound plan.
911
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
912
+ **kwargs:
913
+
914
+ Returns:
915
+ ApiResponse
916
+ """
917
+
918
+ return await self.get_self_ship_appointment_slots_get(
919
+ inboundPlanId, shipmentId, **kwargs
920
+ )
921
+
922
+ async def generate_self_ship_appointment_slots(
923
+ self, inboundPlanId, shipmentId, **kwargs
924
+ ) -> ApiResponse:
925
+ """
926
+ generate_self_ship_appointment_slots(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
927
+
928
+ Initiates the process of generating the appointment slots list.
929
+
930
+ Examples:
931
+ literal blocks::
932
+
933
+ await FulfillmentInboundV20240320().generate_self_ship_appointment_slots("value", "value")
934
+
935
+ Args:
936
+ inboundPlanId: object | required Identifier of an inbound plan.
937
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
938
+ **kwargs:
939
+
940
+ Returns:
941
+ ApiResponse
942
+ """
943
+
944
+ return await self.generate_self_ship_appointment_slots_post(
945
+ inboundPlanId, shipmentId, **kwargs
946
+ )
947
+
948
+
949
+ async def schedule_self_ship_appointment(
950
+ self, inboundPlanId, shipmentId, slotId, **kwargs
951
+ ) -> ApiResponse:
952
+ """
953
+ schedule_self_ship_appointment(self, inboundPlanId, shipmentId, slotId, **kwargs) -> ApiResponse
954
+
955
+ Confirms or reschedules a self-ship appointment slot against a shipment.
956
+
957
+ Examples:
958
+ literal blocks::
959
+
960
+ await FulfillmentInboundV20240320().schedule_self_ship_appointment("value", "value", "value")
961
+
962
+ Args:
963
+ inboundPlanId: object | required Identifier of an inbound plan.
964
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
965
+ slotId: object | required An identifier to a self-ship appointment slot.
966
+ **kwargs:
967
+
968
+ Returns:
969
+ ApiResponse
970
+ """
971
+
972
+ return await self.schedule_self_ship_appointment_post(
973
+ inboundPlanId, shipmentId, slotId, **kwargs
974
+ )
975
+
976
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/trackingDetails", method="PUT")
977
+ async def update_shipment_tracking_details(self, inboundPlanId, **kwargs) -> ApiResponse:
978
+ """
979
+ update_shipment_tracking_details(self, inboundPlanId, **kwargs) -> ApiResponse
980
+
981
+ Updates a shipment's tracking details.
982
+
983
+ Examples:
984
+ literal blocks::
985
+
986
+ await FulfillmentInboundV20240320().update_shipment_tracking_details("value")
987
+
988
+ Args:
989
+ inboundPlanId: | required
990
+ **kwargs:
991
+
992
+ Returns:
993
+ ApiResponse
994
+ """
995
+
996
+ return await self._request(
997
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
998
+ )
999
+
1000
+ @sp_endpoint(
1001
+ "/inbound/fba/2024-03-20/inboundPlans/{}/transportationOptions", method="GET"
1002
+ )
1003
+ async def list_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse:
1004
+ """
1005
+ list_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse
1006
+
1007
+ Retrieves all transportation options for a shipment. Transportation options must first be generated by the `generateTransportationOptions` operation before becoming available.
1008
+
1009
+ Examples:
1010
+ literal blocks::
1011
+
1012
+ await FulfillmentInboundV20240320().list_transportation_options("value")
1013
+
1014
+ Args:
1015
+ inboundPlanId: object | required Identifier of an inbound plan.
1016
+ key pageSize: object | The number of transportation options to return in the response matching the given query.
1017
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
1018
+ key placementOptionId: object | The placement option to get transportation options for. Either `placementOptionId` or `shipmentId` must be specified.
1019
+ key shipmentId: object | The shipment to get transportation options for. Either `placementOptionId` or `shipmentId` must be specified.
1020
+
1021
+ Returns:
1022
+ ApiResponse
1023
+ """
1024
+
1025
+ return await self._request(
1026
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
1027
+ )
1028
+
1029
+ @sp_endpoint(
1030
+ "/inbound/fba/2024-03-20/inboundPlans/{}/transportationOptions", method="POST"
1031
+ )
1032
+ async def generate_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse:
1033
+ """
1034
+ generate_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse
1035
+
1036
+ Generates available transportation options for a given placement option.
1037
+
1038
+ Examples:
1039
+ literal blocks::
1040
+
1041
+ await FulfillmentInboundV20240320().generate_transportation_options("value")
1042
+
1043
+ Args:
1044
+ inboundPlanId: object | required Identifier of an inbound plan.
1045
+ body: GenerateTransportationOptionsRequest | required The body of the request to `generateTransportationOptions`.
1046
+
1047
+ Returns:
1048
+ ApiResponse
1049
+ """
1050
+
1051
+ return await self._request(
1052
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1053
+ )
1054
+
1055
+ @sp_endpoint(
1056
+ "/inbound/fba/2024-03-20/inboundPlans/{}/transportationOptions/confirmation",
1057
+ method="POST",
1058
+ )
1059
+ async def confirm_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse:
1060
+ """
1061
+ confirm_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse
1062
+
1063
+ Confirms all the transportation options for an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new transportation options can not be generated or confirmed for the Inbound Plan.
1064
+
1065
+ Examples:
1066
+ literal blocks::
1067
+
1068
+ await FulfillmentInboundV20240320().confirm_transportation_options("value")
1069
+
1070
+ Args:
1071
+ inboundPlanId: object | required Identifier of an inbound plan.
1072
+ body: ConfirmTransportationOptionsRequest | required The body of the request to `confirmTransportationOptions`.
1073
+
1074
+ Returns:
1075
+ ApiResponse
1076
+ """
1077
+
1078
+ return await self._request(
1079
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1080
+ )
1081
+
1082
+ @sp_endpoint("/inbound/fba/2024-03-20/items/compliance", method="GET")
1083
+ async def list_item_compliance_details(self, **kwargs) -> ApiResponse:
1084
+ """
1085
+ list_item_compliance_details(self, **kwargs) -> ApiResponse
1086
+
1087
+ List the inbound compliance details for MSKUs in a given marketplace.
1088
+
1089
+ **Note:** MSKUs that contain certain characters must be encoded. For more information, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).
1090
+
1091
+ The following characters must be double percent encoded:
1092
+
1093
+ - `%`
1094
+ - `+`
1095
+ - `,`
1096
+
1097
+ **Examples:** An MSKU value of `test%msku` is encoded as `test%2525msku`. An MSKU value of `test,msku` is encoded as `test%252Cmsku`.
1098
+
1099
+ Examples:
1100
+ literal blocks::
1101
+
1102
+ await FulfillmentInboundV20240320().list_item_compliance_details()
1103
+
1104
+ Args:
1105
+ key mskus: object | required A list of merchant SKUs, a merchant-supplied identifier of a specific SKU.
1106
+ key marketplaceId: object | required The Marketplace ID. For a list of possible values, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).
1107
+
1108
+ Returns:
1109
+ ApiResponse
1110
+ """
1111
+
1112
+ return await self._request(kwargs.pop("path"), params=kwargs)
1113
+
1114
+ @sp_endpoint("/inbound/fba/2024-03-20/items/compliance", method="PUT")
1115
+ async def update_item_compliance_details(self, **kwargs) -> ApiResponse:
1116
+ """
1117
+ update_item_compliance_details(self, **kwargs) -> ApiResponse
1118
+
1119
+ Update compliance details for a list of MSKUs. The details provided here are only used for the India (IN - A21TJRUUN4KGV) marketplace compliance validation.
1120
+
1121
+ Examples:
1122
+ literal blocks::
1123
+
1124
+ await FulfillmentInboundV20240320().update_item_compliance_details()
1125
+
1126
+ Args:
1127
+ key marketplaceId: object | required The Marketplace ID. For a list of possible values, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).
1128
+ body: UpdateItemComplianceDetailsRequest | required The body of the request to `updateItemComplianceDetails`.
1129
+
1130
+ Returns:
1131
+ ApiResponse
1132
+ """
1133
+
1134
+ return await self._request(kwargs.pop("path"), data=kwargs)
1135
+
1136
+ @sp_endpoint("/inbound/fba/2024-03-20/operations/{}", method="GET")
1137
+ async def get_inbound_operation_status(self, operationId, **kwargs) -> ApiResponse:
1138
+ """
1139
+ get_inbound_operation_status(self, operationId, **kwargs) -> ApiResponse
1140
+
1141
+ Gets the status of the processing of an asynchronous API call.
1142
+
1143
+ Examples:
1144
+ literal blocks::
1145
+
1146
+ await FulfillmentInboundV20240320().get_inbound_operation_status("value")
1147
+
1148
+ Args:
1149
+ operationId: object | required Identifier of an asynchronous operation.
1150
+
1151
+ Returns:
1152
+ ApiResponse
1153
+ """
1154
+
1155
+ return await self._request(
1156
+ fill_query_params(kwargs.pop("path"), operationId), params=kwargs
1157
+ )
1158
+
1159
+ @sp_endpoint(
1160
+ "/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/deliveryWindowOptions",
1161
+ method="POST",
1162
+ )
1163
+ async def generate_delivery_window_options(
1164
+ self, inboundPlanId, shipmentId, **kwargs
1165
+ ) -> ApiResponse:
1166
+ """
1167
+ generate_delivery_window_options(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1168
+
1169
+ Generates available delivery window options for a given shipment.
1170
+
1171
+ Examples:
1172
+ literal blocks::
1173
+
1174
+ await FulfillmentInboundV20240320().generate_delivery_window_options("value", "value")
1175
+
1176
+ Args:
1177
+ inboundPlanId: object | required Identifier of an inbound plan.
1178
+ shipmentId: object | required The shipment to generate delivery window options for.
1179
+
1180
+ Returns:
1181
+ ApiResponse
1182
+ """
1183
+
1184
+ return await self._request(
1185
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1186
+ params=kwargs,
1187
+ )
1188
+
1189
+ @sp_endpoint(
1190
+ "/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/deliveryWindowOptions",
1191
+ method="GET",
1192
+ )
1193
+ async def list_delivery_window_options(
1194
+ self, inboundPlanId, shipmentId, **kwargs
1195
+ ) -> ApiResponse:
1196
+ """
1197
+ list_delivery_window_options(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1198
+
1199
+ Retrieves all delivery window options for a shipment. Delivery window options must first be generated by the `generateDeliveryWindowOptions` operation before becoming available.
1200
+
1201
+ Examples:
1202
+ literal blocks::
1203
+
1204
+ await FulfillmentInboundV20240320().list_delivery_window_options("value", "value")
1205
+
1206
+ Args:
1207
+ inboundPlanId: object | required Identifier of an inbound plan.
1208
+ shipmentId: object | required The shipment to get delivery window options for.
1209
+ key pageSize: object | The number of delivery window options to return in the response matching the given query.
1210
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
1211
+
1212
+ Returns:
1213
+ ApiResponse
1214
+ """
1215
+
1216
+ return await self._request(
1217
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1218
+ params=kwargs,
1219
+ )
1220
+
1221
+ @sp_endpoint(
1222
+ "/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/deliveryWindowOptions/{}/confirmation",
1223
+ method="POST",
1224
+ )
1225
+ async def confirm_delivery_window_options(
1226
+ self, inboundPlanId, shipmentId, deliveryWindowOptionId, **kwargs
1227
+ ) -> ApiResponse:
1228
+ """
1229
+ confirm_delivery_window_options(self, inboundPlanId, shipmentId, deliveryWindowOptionId, **kwargs) -> ApiResponse
1230
+
1231
+ Confirms the delivery window option for chosen shipment within an inbound plan. A placement option must be confirmed prior to use of this API. Once confirmed, new delivery window options cannot be generated, but the chosen delivery window option can be updated before shipment closure. The window is used to provide the expected time when a shipment will arrive at the warehouse. All transportation options which have the program `CONFIRMED_DELIVERY_WINDOW` require a delivery window to be confirmed prior to transportation option confirmation.
1232
+
1233
+ Examples:
1234
+ literal blocks::
1235
+
1236
+ await FulfillmentInboundV20240320().confirm_delivery_window_options("value", "value", "value")
1237
+
1238
+ Args:
1239
+ inboundPlanId: object | required Identifier of an inbound plan.
1240
+ shipmentId: object | required The shipment to confirm the delivery window option for.
1241
+ deliveryWindowOptionId: object | required The id of the delivery window option to be confirmed.
1242
+
1243
+ Returns:
1244
+ ApiResponse
1245
+ """
1246
+
1247
+ return await self._request(
1248
+ fill_query_params(
1249
+ kwargs.pop("path"), inboundPlanId, shipmentId, deliveryWindowOptionId
1250
+ ),
1251
+ params=kwargs,
1252
+ )
1253
+
1254
+ @sp_endpoint(
1255
+ "/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/items", method="GET"
1256
+ )
1257
+ async def list_shipment_items(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1258
+ """
1259
+ list_shipment_items(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1260
+
1261
+ Provides a paginated list of item packages in a shipment.
1262
+
1263
+ Examples:
1264
+ literal blocks::
1265
+
1266
+ await FulfillmentInboundV20240320().list_shipment_items("value", "value")
1267
+
1268
+ Args:
1269
+ inboundPlanId: object | required Identifier of an inbound plan.
1270
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1271
+ key pageSize: object | The number of items to return in the response matching the given query.
1272
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
1273
+
1274
+ Returns:
1275
+ ApiResponse
1276
+ """
1277
+ return await self._request(
1278
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1279
+ params=kwargs,
1280
+ )
1281
+
1282
+ @sp_endpoint("/inbound/fba/2024-03-20/items/labels", method="POST")
1283
+ async def create_marketplace_item_labels(self, **kwargs) -> ApiResponse:
1284
+ """
1285
+ create_marketplace_item_labels(self, **kwargs) -> ApiResponse
1286
+
1287
+ For a given marketplace - creates labels for a list of MSKUs.
1288
+
1289
+ Examples:
1290
+ literal blocks::
1291
+
1292
+ await FulfillmentInboundV20240320().create_marketplace_item_labels()
1293
+
1294
+ Args:
1295
+ body: CreateMarketplaceItemLabelsRequest | required The body of the request to `createMarketplaceItemLabels`.
1296
+
1297
+ Returns:
1298
+ ApiResponse
1299
+ """
1300
+
1301
+ return await self._request(kwargs.pop("path"), data=kwargs)
1302
+
1303
+ @sp_endpoint("/inbound/fba/2024-03-20/items/prepDetails", method="GET")
1304
+ async def list_prep_details(self, **kwargs) -> ApiResponse:
1305
+ """
1306
+ ``list_prep_details(self, **kwargs) -> ApiResponse``
1307
+
1308
+ Get preparation details for a list of MSKUs in a specified marketplace.\n\n**Note:** MSKUs that contain certain characters must be encoded. For more information, refer to [URL Encoding](https://developer-docs.amazon.com/sp-api/docs/url-encoding).\n\nThe following characters must be double percent encoded:\n\n- `%`\n- `+`\n- `,`\n\n**Examples:** An MSKU value of `test%msku` is encoded as `test%2525msku`. An MSKU value of `test,msku` is encoded as `test%252Cmsku`.
1309
+
1310
+ Examples:
1311
+ literal blocks::
1312
+
1313
+ await FulfillmentInboundV20240320().list_prep_details()
1314
+
1315
+ Args:
1316
+ key marketplaceId: object | required The marketplace ID. For a list of possible values, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).
1317
+ key mskus: object | required A list of merchant SKUs, a merchant-supplied identifier of a specific SKU.
1318
+
1319
+ Returns:
1320
+ ApiResponse
1321
+ """
1322
+
1323
+ return await self._request(kwargs.pop("path"), params=kwargs)
1324
+
1325
+ @sp_endpoint("/inbound/fba/2024-03-20/items/prepDetails", method="POST")
1326
+ async def set_prep_details(self, **kwargs) -> ApiResponse:
1327
+ """
1328
+ set_prep_details(self, **kwargs) -> ApiResponse
1329
+
1330
+ Set the preparation details for a list of MSKUs in a specified marketplace.
1331
+
1332
+ Examples:
1333
+ literal blocks::
1334
+
1335
+ await FulfillmentInboundV20240320().set_prep_details()
1336
+
1337
+ Args:
1338
+ body: SetPrepDetailsRequest | required The body of the request to `setPrepDetails`.
1339
+
1340
+ Returns:
1341
+ ApiResponse
1342
+ """
1343
+
1344
+ return await self._request(kwargs.pop("path"), data=kwargs)
1345
+
1346
+ @sp_endpoint(
1347
+ "/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/boxes", method="GET"
1348
+ )
1349
+ async def list_shipment_boxes(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1350
+ """
1351
+ list_shipment_boxes(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1352
+
1353
+ Provides a paginated list of box packages in a shipment.
1354
+
1355
+ Examples:
1356
+ literal blocks::
1357
+
1358
+ await FulfillmentInboundV20240320().list_shipment_boxes("value", "value")
1359
+
1360
+ Args:
1361
+ inboundPlanId: object | required Identifier of an inbound plan.
1362
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1363
+ key pageSize: object | The number of boxes to return in the response matching the given query.
1364
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
1365
+
1366
+ Returns:
1367
+ ApiResponse
1368
+ """
1369
+
1370
+ return await self._request(
1371
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1372
+ params=kwargs,
1373
+ )
1374
+
1375
+ @sp_endpoint(
1376
+ "/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/trackingDetails",
1377
+ method="PUT",
1378
+ )
1379
+ async def update_shipment_tracking_details(
1380
+ self, inboundPlanId, shipmentId, **kwargs
1381
+ ) -> ApiResponse:
1382
+ """
1383
+ update_shipment_tracking_details(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1384
+
1385
+ Updates a shipment's tracking details.
1386
+
1387
+ Examples:
1388
+ literal blocks::
1389
+
1390
+ await FulfillmentInboundV20240320().update_shipment_tracking_details("value", "value")
1391
+
1392
+ Args:
1393
+ inboundPlanId: object | required Identifier of an inbound plan.
1394
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1395
+ body: UpdateShipmentTrackingDetailsRequest | required The body of the request to `updateShipmentTrackingDetails`.
1396
+
1397
+ Returns:
1398
+ ApiResponse
1399
+ """
1400
+
1401
+ return await self._request(
1402
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1403
+ data=kwargs,
1404
+ )
1405
+
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/name", method="PUT")
1413
+ async def update_inbound_plan_name(self, inboundPlanId, **kwargs) -> ApiResponse:
1414
+ """
1415
+ update_inbound_plan_name(self, inboundPlanId, **kwargs) -> ApiResponse
1416
+
1417
+ Updates the name of an existing inbound plan.
1418
+
1419
+ Examples:
1420
+ literal blocks::
1421
+
1422
+ await FulfillmentInboundV20240320().update_inbound_plan_name("value")
1423
+
1424
+ Args:
1425
+ inboundPlanId: object | required Identifier of an inbound plan.
1426
+ body: UpdateInboundPlanNameRequest | required The body of the request to `updateInboundPlanName`.
1427
+
1428
+ Returns:
1429
+ ApiResponse
1430
+ """
1431
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs)
1432
+
1433
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/packingGroups/{}/boxes", method="GET")
1434
+ async def list_packing_group_boxes(self, inboundPlanId, packingGroupId, **kwargs) -> ApiResponse:
1435
+ """
1436
+ list_packing_group_boxes(self, inboundPlanId, packingGroupId, **kwargs) -> ApiResponse
1437
+
1438
+ Retrieves a page of boxes from a given packing group. These boxes were previously provided through the `setPackingInformation` operation. This API is used for workflows where boxes are packed before Amazon determines shipment splits.
1439
+
1440
+ Examples:
1441
+ literal blocks::
1442
+
1443
+ await FulfillmentInboundV20240320().list_packing_group_boxes("value", "value")
1444
+
1445
+ Args:
1446
+ inboundPlanId: object | required Identifier of an inbound plan.
1447
+ packingGroupId: object | required Identifier of a packing group.
1448
+ key pageSize: object | The number of packing group boxes to return in the response matching the given query.
1449
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
1450
+
1451
+ Returns:
1452
+ ApiResponse
1453
+ """
1454
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, packingGroupId), params=kwargs)
1455
+
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/contentUpdatePreviews", method="GET")
1468
+ async def list_shipment_content_update_previews(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1469
+ """
1470
+ list_shipment_content_update_previews(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1471
+
1472
+ Retrieve a paginated list of shipment content update previews for a given shipment. The shipment content update preview is a summary of the requested shipment content changes along with the transportation cost implications of the change that can only be confirmed prior to the expiry date specified.
1473
+
1474
+ Examples:
1475
+ literal blocks::
1476
+
1477
+ await FulfillmentInboundV20240320().list_shipment_content_update_previews("value", "value")
1478
+
1479
+ Args:
1480
+ inboundPlanId: object | required Identifier of an inbound plan.
1481
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1482
+ key pageSize: object | The number of content update previews to return.
1483
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
1484
+
1485
+ Returns:
1486
+ ApiResponse
1487
+ """
1488
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId), params=kwargs)
1489
+
1490
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/contentUpdatePreviews", method="POST")
1491
+ async def generate_shipment_content_update_previews(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1492
+ """
1493
+ generate_shipment_content_update_previews(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1494
+
1495
+ Generate a shipment content update preview given a set of intended boxes and/or items for a shipment with a confirmed carrier. The shipment content update preview will be viewable with the updated costs and contents prior to confirmation.
1496
+
1497
+ Examples:
1498
+ literal blocks::
1499
+
1500
+ await FulfillmentInboundV20240320().generate_shipment_content_update_previews("value", "value")
1501
+
1502
+ Args:
1503
+ inboundPlanId: object | required Identifier of an inbound plan.
1504
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1505
+ body: GenerateShipmentContentUpdatePreviewsRequest | required The body of the request to `generateShipmentContentUpdatePreviews`.
1506
+
1507
+ Returns:
1508
+ ApiResponse
1509
+ """
1510
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId), data=kwargs)
1511
+
1512
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/contentUpdatePreviews/{}", method="GET")
1513
+ async def get_shipment_content_update_preview(self, inboundPlanId, shipmentId, contentUpdatePreviewId, **kwargs) -> ApiResponse:
1514
+ """
1515
+ get_shipment_content_update_preview(self, inboundPlanId, shipmentId, contentUpdatePreviewId, **kwargs) -> ApiResponse
1516
+
1517
+ Retrieve a shipment content update preview which provides a summary of the requested shipment content changes along with the transportation cost implications of the change that can only be confirmed prior to the expiry date specified.
1518
+
1519
+ Examples:
1520
+ literal blocks::
1521
+
1522
+ await FulfillmentInboundV20240320().get_shipment_content_update_preview("value", "value", "value")
1523
+
1524
+ Args:
1525
+ inboundPlanId: object | required Identifier of an inbound plan.
1526
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1527
+ contentUpdatePreviewId: object | required Identifier of a content update preview.
1528
+
1529
+ Returns:
1530
+ ApiResponse
1531
+ """
1532
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId, contentUpdatePreviewId), params=kwargs)
1533
+
1534
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/contentUpdatePreviews/{}/confirmation", method="POST")
1535
+ async def confirm_shipment_content_update_preview(self, inboundPlanId, shipmentId, contentUpdatePreviewId, **kwargs) -> ApiResponse:
1536
+ """
1537
+ confirm_shipment_content_update_preview(self, inboundPlanId, shipmentId, contentUpdatePreviewId, **kwargs) -> ApiResponse
1538
+
1539
+ Confirm a shipment content update preview and accept the changes in transportation cost.
1540
+
1541
+ Examples:
1542
+ literal blocks::
1543
+
1544
+ await FulfillmentInboundV20240320().confirm_shipment_content_update_preview("value", "value", "value")
1545
+
1546
+ Args:
1547
+ inboundPlanId: object | required Identifier of an inbound plan.
1548
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1549
+ contentUpdatePreviewId: object | required Identifier of a content update preview.
1550
+
1551
+ Returns:
1552
+ ApiResponse
1553
+ """
1554
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId, contentUpdatePreviewId), data=kwargs)
1555
+
1556
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/deliveryChallanDocument", method="GET")
1557
+ async def get_delivery_challan_document_get(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1558
+ """
1559
+ get_delivery_challan_document_get(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1560
+
1561
+ Provide delivery challan document for PCP transportation in IN marketplace.
1562
+
1563
+ Examples:
1564
+ literal blocks::
1565
+
1566
+ await FulfillmentInboundV20240320().get_delivery_challan_document_get("value", "value")
1567
+
1568
+ Args:
1569
+ inboundPlanId: object | required Identifier of an inbound plan.
1570
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1571
+
1572
+ Returns:
1573
+ ApiResponse
1574
+ """
1575
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId), params=kwargs)
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/pallets", method="GET")
1583
+ async def list_shipment_pallets(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1584
+ """
1585
+ list_shipment_pallets(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1586
+
1587
+ Provides a paginated list of pallet packages in a shipment. A palletized shipment will have pallets when the related details are provided after generating Less-Than-Truckload (LTL) carrier shipments.
1588
+
1589
+ Examples:
1590
+ literal blocks::
1591
+
1592
+ await FulfillmentInboundV20240320().list_shipment_pallets("value", "value")
1593
+
1594
+ Args:
1595
+ inboundPlanId: object | required Identifier of an inbound plan.
1596
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1597
+ key pageSize: object | The number of pallets to return in the response matching the given query.
1598
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
1599
+
1600
+ Returns:
1601
+ ApiResponse
1602
+ """
1603
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId), params=kwargs)
1604
+
1605
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/selfShipAppointmentCancellation", method="PUT")
1606
+ async def cancel_self_ship_appointment_put(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1607
+ """
1608
+ cancel_self_ship_appointment_put(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1609
+
1610
+ Cancels a self-ship appointment slot against a shipment. Only available in the following [marketplaces](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids): MX, BR, EG, SA, AE, IN.
1611
+
1612
+ Examples:
1613
+ literal blocks::
1614
+
1615
+ await FulfillmentInboundV20240320().cancel_self_ship_appointment_put("value", "value")
1616
+
1617
+ Args:
1618
+ inboundPlanId: object | required Identifier of an inbound plan.
1619
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1620
+ body: CancelSelfShipAppointmentRequest | required The body of the request to `cancelSelfShipAppointment`.
1621
+
1622
+ Returns:
1623
+ ApiResponse
1624
+ """
1625
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId), data=kwargs)
1626
+
1627
+ async def cancel_self_ship_appointment(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1628
+ """
1629
+ cancel_self_ship_appointment(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1630
+
1631
+ Backward-compatible alias for `cancel_self_ship_appointment_put`.
1632
+ """
1633
+ return await self.cancel_self_ship_appointment_put(inboundPlanId, shipmentId, **kwargs)
1634
+
1635
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/selfShipAppointmentSlots", method="GET")
1636
+ async def get_self_ship_appointment_slots_get(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1637
+ """
1638
+ get_self_ship_appointment_slots_get(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1639
+
1640
+ Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse. Only available in the following [marketplaces](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids): MX, BR, EG, SA, AE, IN.
1641
+
1642
+ Examples:
1643
+ literal blocks::
1644
+
1645
+ await FulfillmentInboundV20240320().get_self_ship_appointment_slots_get("value", "value")
1646
+
1647
+ Args:
1648
+ inboundPlanId: object | required Identifier of an inbound plan.
1649
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1650
+ key pageSize: object | The number of self ship appointment slots to return in the response matching the given query.
1651
+ key paginationToken: object | A token to fetch a certain page when there are multiple pages worth of results. The value of this token is fetched from the `pagination` returned in the API response. In the absence of the token value from the query parameter the API returns the first page of the result.
1652
+
1653
+ Returns:
1654
+ ApiResponse
1655
+ """
1656
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId), params=kwargs)
1657
+
1658
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/selfShipAppointmentSlots", method="POST")
1659
+ async def generate_self_ship_appointment_slots_post(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1660
+ """
1661
+ generate_self_ship_appointment_slots_post(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1662
+
1663
+ Initiates the process of generating the appointment slots list. Only available in the following [marketplaces](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids): MX, BR, EG, SA, AE, IN.
1664
+
1665
+ Examples:
1666
+ literal blocks::
1667
+
1668
+ await FulfillmentInboundV20240320().generate_self_ship_appointment_slots_post("value", "value")
1669
+
1670
+ Args:
1671
+ inboundPlanId: object | required Identifier of an inbound plan.
1672
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1673
+ body: GenerateSelfShipAppointmentSlotsRequest | required The body of the request to `generateSelfShipAppointmentSlots`.
1674
+
1675
+ Returns:
1676
+ ApiResponse
1677
+ """
1678
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId), data=kwargs)
1679
+
1680
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/selfShipAppointmentSlots/{}/schedule", method="POST")
1681
+ async def schedule_self_ship_appointment_post(self, inboundPlanId, shipmentId, slotId, **kwargs) -> ApiResponse:
1682
+ """
1683
+ schedule_self_ship_appointment_post(self, inboundPlanId, shipmentId, slotId, **kwargs) -> ApiResponse
1684
+
1685
+ Confirms or reschedules a self-ship appointment slot against a shipment. Only available in the following [marketplaces](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids): MX, BR, EG, SA, AE, IN.
1686
+
1687
+ Examples:
1688
+ literal blocks::
1689
+
1690
+ await FulfillmentInboundV20240320().schedule_self_ship_appointment_post("value", "value", "value")
1691
+
1692
+ Args:
1693
+ inboundPlanId: object | required Identifier of an inbound plan.
1694
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1695
+ slotId: object | required An identifier to a self-ship appointment slot.
1696
+ body: ScheduleSelfShipAppointmentRequest | required The body of the request to `scheduleSelfShipAppointment`.
1697
+
1698
+ Returns:
1699
+ ApiResponse
1700
+ """
1701
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId, slotId), data=kwargs)
1702
+
1703
+ @sp_endpoint("/inbound/fba/2024-03-20/inboundPlans/{}/shipments/{}/sourceAddress", method="PUT")
1704
+ async def update_shipment_source_address(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1705
+ """
1706
+ update_shipment_source_address(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1707
+
1708
+ Updates the source address of an existing shipment. The shipment source address can only be updated prior to the confirmation of the shipment carriers. As a result of the updated source address, existing transportation options will be invalidated and will need to be regenerated to capture the potential difference in transportation options and quotes due to the new source address.
1709
+
1710
+ Examples:
1711
+ literal blocks::
1712
+
1713
+ await FulfillmentInboundV20240320().update_shipment_source_address("value", "value")
1714
+
1715
+ Args:
1716
+ inboundPlanId: object | required Identifier of an inbound plan.
1717
+ shipmentId: object | required Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1718
+ body: UpdateShipmentSourceAddressRequest | required The body of the request to `updateShipmentSourceAddress`.
1719
+
1720
+ Returns:
1721
+ ApiResponse
1722
+ """
1723
+ return await self._request(fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId), data=kwargs)