python-amazon-sp-api 1.9.18__py3-none-any.whl → 2.0.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. {python_amazon_sp_api-1.9.18.data → python_amazon_sp_api-2.0.7.data}/scripts/make_endpoint +2 -2
  2. {python_amazon_sp_api-1.9.18.dist-info → python_amazon_sp_api-2.0.7.dist-info}/METADATA +46 -23
  3. python_amazon_sp_api-2.0.7.dist-info/RECORD +251 -0
  4. {python_amazon_sp_api-1.9.18.dist-info → python_amazon_sp_api-2.0.7.dist-info}/WHEEL +1 -1
  5. {python_amazon_sp_api-1.9.18.dist-info → python_amazon_sp_api-2.0.7.dist-info}/top_level.txt +0 -1
  6. sp_api/__version__.py +1 -1
  7. sp_api/api/__init__.py +18 -1
  8. sp_api/api/application_integrations/application_integrations.py +118 -0
  9. sp_api/api/application_management/application_management.py +2 -1
  10. sp_api/api/catalog/catalog.py +3 -4
  11. sp_api/api/catalog_items/catalog_items.py +3 -6
  12. sp_api/api/customer_feedback/customer_feedback.py +110 -0
  13. sp_api/api/data_kiosk/data_kiosk.py +5 -6
  14. sp_api/api/easy_ship/easy_ship.py +190 -0
  15. sp_api/api/external_fulfillment/external_fulfillment.py +706 -0
  16. sp_api/api/feeds/feeds.py +11 -8
  17. sp_api/api/finances/finances.py +30 -4
  18. sp_api/api/fulfillment_inbound/fulfillment_inbound.py +35 -2
  19. sp_api/api/inventories/inventories.py +2 -7
  20. sp_api/api/listings_items/listings_items.py +3 -24
  21. sp_api/api/messaging/messaging.py +42 -0
  22. sp_api/api/orders/orders.py +7 -0
  23. sp_api/api/product_fees/product_fees.py +31 -74
  24. sp_api/api/products/products.py +80 -2
  25. sp_api/api/products/products_definitions.py +11 -85
  26. sp_api/api/reports/reports.py +65 -97
  27. sp_api/api/sales/sales.py +2 -2
  28. sp_api/asyncio/api/__init__.py +164 -0
  29. sp_api/asyncio/api/amazon_warehousing_and_distribu/__init__.py +9 -0
  30. sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +130 -0
  31. sp_api/asyncio/api/aplus_content/__init__.py +5 -0
  32. sp_api/asyncio/api/aplus_content/aplus_content.py +330 -0
  33. sp_api/asyncio/api/application_integrations/__init__.py +5 -0
  34. sp_api/asyncio/api/application_integrations/application_integrations.py +119 -0
  35. sp_api/asyncio/api/application_management/__init__.py +5 -0
  36. sp_api/asyncio/api/application_management/application_management.py +36 -0
  37. sp_api/asyncio/api/authorization/__init__.py +5 -0
  38. sp_api/asyncio/api/authorization/authorization.py +54 -0
  39. sp_api/asyncio/api/catalog/__init__.py +5 -0
  40. sp_api/asyncio/api/catalog/catalog.py +111 -0
  41. sp_api/asyncio/api/catalog_items/__init__.py +6 -0
  42. sp_api/asyncio/api/catalog_items/catalog_items.py +93 -0
  43. sp_api/asyncio/api/clients/__init__.py +1 -0
  44. sp_api/asyncio/api/customer_feedback/__init__.py +5 -0
  45. sp_api/asyncio/api/customer_feedback/customer_feedback.py +111 -0
  46. sp_api/asyncio/api/data_kiosk/__init__.py +5 -0
  47. sp_api/asyncio/api/data_kiosk/data_kiosk.py +236 -0
  48. sp_api/asyncio/api/easy_ship/__init__.py +5 -0
  49. sp_api/asyncio/api/easy_ship/easy_ship.py +191 -0
  50. sp_api/asyncio/api/external_fulfillment/__init__.py +5 -0
  51. sp_api/asyncio/api/external_fulfillment/external_fulfillment.py +706 -0
  52. sp_api/asyncio/api/fba_inbound_eligibility/__init__.py +5 -0
  53. sp_api/asyncio/api/fba_inbound_eligibility/fba_inbound_eligibility.py +96 -0
  54. sp_api/asyncio/api/fba_small_and_light/__init__.py +5 -0
  55. sp_api/asyncio/api/fba_small_and_light/fba_small_and_light.py +213 -0
  56. sp_api/asyncio/api/feeds/feeds.py +260 -0
  57. sp_api/asyncio/api/finances/finances.py +100 -0
  58. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound.py +1798 -0
  59. sp_api/asyncio/api/fulfillment_outbound/fulfillment_outbound.py +736 -0
  60. sp_api/asyncio/api/inventories/inventories.py +74 -0
  61. sp_api/asyncio/api/listings_items/__init__.py +0 -0
  62. sp_api/asyncio/api/listings_items/listings_items.py +170 -0
  63. sp_api/asyncio/api/listings_restrictions/__init__.py +0 -0
  64. sp_api/asyncio/api/listings_restrictions/listings_restrictions.py +36 -0
  65. sp_api/asyncio/api/merchant_fulfillment/__init__.py +0 -0
  66. sp_api/asyncio/api/merchant_fulfillment/merchant_fulfillment.py +384 -0
  67. sp_api/asyncio/api/messaging/__init__.py +0 -0
  68. sp_api/asyncio/api/messaging/messaging.py +511 -0
  69. sp_api/asyncio/api/models/__init__.py +4 -0
  70. sp_api/asyncio/api/notifications/__init__.py +0 -0
  71. sp_api/asyncio/api/notifications/notifications.py +295 -0
  72. sp_api/asyncio/api/orders/__init__.py +0 -0
  73. sp_api/asyncio/api/orders/orders.py +362 -0
  74. sp_api/asyncio/api/overrides/__init__.py +1 -0
  75. sp_api/asyncio/api/product_fees/__init__.py +0 -0
  76. sp_api/asyncio/api/product_fees/product_fees.py +194 -0
  77. sp_api/asyncio/api/product_type_definitions/__init__.py +0 -0
  78. sp_api/asyncio/api/product_type_definitions/product_type_definitions.py +75 -0
  79. sp_api/asyncio/api/products/__init__.py +0 -0
  80. sp_api/asyncio/api/products/products.py +405 -0
  81. sp_api/asyncio/api/products/products_definitions.py +11 -0
  82. sp_api/asyncio/api/replenishment/__init__.py +0 -0
  83. sp_api/asyncio/api/replenishment/replenishment.py +121 -0
  84. sp_api/asyncio/api/reports/__init__.py +0 -0
  85. sp_api/asyncio/api/reports/reports.py +439 -0
  86. sp_api/asyncio/api/sales/__init__.py +0 -0
  87. sp_api/asyncio/api/sales/sales.py +93 -0
  88. sp_api/asyncio/api/sellers/__init__.py +0 -0
  89. sp_api/asyncio/api/sellers/sellers.py +70 -0
  90. sp_api/asyncio/api/services/__init__.py +0 -0
  91. sp_api/asyncio/api/services/services.py +218 -0
  92. sp_api/asyncio/api/shipping/__init__.py +0 -0
  93. sp_api/asyncio/api/shipping/shipping.py +459 -0
  94. sp_api/asyncio/api/shipping/shippingV2.py +651 -0
  95. sp_api/asyncio/api/solicitations/__init__.py +0 -0
  96. sp_api/asyncio/api/solicitations/solicitations.py +78 -0
  97. sp_api/asyncio/api/supply_sources/__init__.py +0 -0
  98. sp_api/asyncio/api/supply_sources/supply_sources.py +138 -0
  99. sp_api/asyncio/api/tokens/__init__.py +0 -0
  100. sp_api/asyncio/api/tokens/tokens.py +65 -0
  101. sp_api/asyncio/api/upload/__init__.py +0 -0
  102. sp_api/asyncio/api/upload/upload.py +18 -0
  103. sp_api/asyncio/api/vendor_direct_fulfillment_inventory/__init__.py +0 -0
  104. sp_api/asyncio/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +64 -0
  105. sp_api/asyncio/api/vendor_direct_fulfillment_orders/__init__.py +0 -0
  106. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +196 -0
  107. sp_api/asyncio/api/vendor_direct_fulfillment_payments/__init__.py +0 -0
  108. sp_api/asyncio/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +254 -0
  109. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/__init__.py +0 -0
  110. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +627 -0
  111. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/__init__.py +0 -0
  112. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +43 -0
  113. sp_api/asyncio/api/vendor_invoices/__init__.py +0 -0
  114. sp_api/asyncio/api/vendor_invoices/vendor_invoices.py +295 -0
  115. sp_api/asyncio/api/vendor_orders/__init__.py +0 -0
  116. sp_api/asyncio/api/vendor_orders/vendor_orders.py +210 -0
  117. sp_api/asyncio/api/vendor_shipments/__init__.py +0 -0
  118. sp_api/asyncio/api/vendor_shipments/vendor_shipments.py +118 -0
  119. sp_api/asyncio/api/vendor_transaction_status/__init__.py +0 -0
  120. sp_api/asyncio/api/vendor_transaction_status/vendor_transaction_status.py +41 -0
  121. sp_api/asyncio/auth/__init__.py +12 -0
  122. sp_api/asyncio/auth/access_token_client.py +145 -0
  123. sp_api/asyncio/auth/exceptions.py +5 -0
  124. sp_api/asyncio/base/__init__.py +53 -0
  125. sp_api/asyncio/base/_transport_httpx.py +50 -0
  126. sp_api/asyncio/base/base_client.py +8 -0
  127. sp_api/asyncio/base/client.py +169 -0
  128. sp_api/asyncio/util/__init__.py +29 -0
  129. sp_api/asyncio/util/key_maker.py +5 -0
  130. sp_api/asyncio/util/load_all_pages.py +55 -0
  131. sp_api/asyncio/util/load_date_bound.py +53 -0
  132. sp_api/asyncio/util/retry.py +88 -0
  133. sp_api/auth/_core.py +39 -0
  134. sp_api/auth/access_token_client.py +18 -29
  135. sp_api/base/ApiResponse.py +3 -2
  136. sp_api/base/_core.py +110 -0
  137. sp_api/base/_transport_httpx.py +39 -0
  138. sp_api/base/client.py +40 -63
  139. sp_api/base/helpers.py +1 -1
  140. sp_api/base/reportTypes.py +3 -2
  141. sp_api/util/__init__.py +36 -0
  142. sp_api/util/load_all_pages.py +2 -1
  143. sp_api/util/params.py +57 -0
  144. sp_api/util/product_fees.py +40 -0
  145. sp_api/util/products_definitions.py +169 -0
  146. sp_api/util/report_document.py +154 -0
  147. python_amazon_sp_api-1.9.18.dist-info/RECORD +0 -144
  148. tests/api/finances/test_finances.py +0 -19
  149. tests/api/notifications/test_notifications.py +0 -26
  150. tests/api/orders/test_orders.py +0 -122
  151. tests/api/product_fees/product_fees.py +0 -49
  152. tests/api/reports/test_reports.py +0 -127
  153. tests/client/test_auth.py +0 -59
  154. tests/client/test_base.py +0 -163
  155. tests/client/test_credential_provider.py +0 -45
  156. tests/client/test_helpers.py +0 -142
  157. {python_amazon_sp_api-1.9.18.dist-info → python_amazon_sp_api-2.0.7.dist-info/licenses}/LICENSE +0 -0
  158. {tests → sp_api/api/application_integrations}/__init__.py +0 -0
  159. {tests/api → sp_api/api/customer_feedback}/__init__.py +0 -0
  160. {tests/api/finances → sp_api/api/easy_ship}/__init__.py +0 -0
  161. {tests/api/notifications → sp_api/api/external_fulfillment}/__init__.py +0 -0
  162. {tests/api/orders → sp_api/asyncio}/__init__.py +0 -0
  163. {tests/api/product_fees → sp_api/asyncio/api/feeds}/__init__.py +0 -0
  164. {tests/api/reports → sp_api/asyncio/api/finances}/__init__.py +0 -0
  165. {tests/api/sellers → sp_api/asyncio/api/fulfillment_inbound}/__init__.py +0 -0
  166. {tests/client → sp_api/asyncio/api/fulfillment_outbound}/__init__.py +0 -0
  167. /tests/api/sellers/test_sellers.py → /sp_api/asyncio/api/inventories/__init__.py +0 -0
@@ -0,0 +1,1798 @@
1
+ import enum
2
+
3
+ from sp_api.base import Client, Marketplaces, ApiResponse
4
+ from sp_api.asyncio.base import AsyncBaseClient
5
+ from sp_api.base import sp_endpoint, fill_query_params
6
+ from sp_api.util import ensure_csv
7
+
8
+ import urllib.parse
9
+
10
+
11
+ class FulfillmentInboundVersion(str, enum.Enum):
12
+ V_v0 = "v0"
13
+ V_2024_03_20 = "2024-03-20"
14
+ LATEST = "2024-03-20"
15
+
16
+
17
+ class FulfillmentInbound(AsyncBaseClient):
18
+ """
19
+ FulfillmentInbound SP-API Client
20
+ :link:
21
+
22
+ 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.
23
+ """
24
+
25
+ version: FulfillmentInboundVersion = FulfillmentInboundVersion.V_v0
26
+
27
+ def __init__(self, *args, **kwargs):
28
+ if "version" in kwargs:
29
+ self.version = kwargs.get("version", FulfillmentInboundVersion.V_v0)
30
+ super().__init__(*args, **{**kwargs, "version": self.version})
31
+
32
+ @sp_endpoint("/fba/inbound/<version>/itemsGuidance")
33
+ async def item_guidance(self, **kwargs):
34
+ """
35
+ item_guidance(self, **kwargs) -> ApiResponse
36
+
37
+ Examples:
38
+ literal blocks::
39
+
40
+ FulfillmentInbound().item_guidance(**{"MarkeplaceId": "US", "ASINList": ["ASIN1"]})
41
+
42
+ Args:
43
+ **kwargs:
44
+
45
+ Returns:
46
+ ApiResponse
47
+ """
48
+ return await self._request(kwargs.pop("path"), params=kwargs)
49
+
50
+ @sp_endpoint("/fba/inbound/<version>/plans", method="POST")
51
+ async def plans(self, data, **kwargs):
52
+ """
53
+ plans(self, data, **kwargs) -> ApiResponse
54
+
55
+ Examples:
56
+ literal blocks::
57
+
58
+ res = FulfillmentInbound().plans({
59
+ "ShipFromAddress": {
60
+ "Name": "Name",
61
+ "AddressLine1": "123 any st",
62
+ "AddressLine2": "AddressLine2",
63
+ "DistrictOrCounty": "Washtenaw",
64
+ "City": "Ann Arbor",
65
+ "StateOrProvinceCode": "MI",
66
+ "CountryCode": "US",
67
+ "PostalCode": "48188"
68
+ },
69
+ "LabelPrepPreference": "SELLER_LABEL",
70
+ "ShipToCountryCode": "ShipToCountryCode",
71
+ "ShipToCountrySubdivisionCode": "ShipToCountrySubdivisionCode",
72
+ "InboundShipmentPlanRequestItems": [
73
+ {
74
+ "SellerSKU": "SellerSKU",
75
+ "ASIN": "ASIN",
76
+ "Condition": "NewItem",
77
+ "Quantity": 1,
78
+ "QuantityInCase": 1,
79
+ "PrepDetailsList": [
80
+ {
81
+ "PrepInstruction": "Polybagging",
82
+ "PrepOwner": "AMAZON"
83
+ }
84
+ ]
85
+ }
86
+ ]
87
+ })
88
+
89
+ Args:
90
+ data:
91
+ **kwargs:
92
+
93
+ Returns:
94
+ ApiResponse
95
+ """
96
+ return await self._request(kwargs.pop("path"), data={**data, **kwargs})
97
+
98
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}", method="POST")
99
+ async def create_shipment(self, shipment_id, data, **kwargs):
100
+ """
101
+ create_shipment(self, shipment_id, data, **kwargs)
102
+
103
+ Examples:
104
+ literal blocks::
105
+
106
+ FulfillmentInbound().create_shipment('123', {
107
+ "InboundShipmentHeader": {
108
+ "ShipmentName": "43545345",
109
+ "ShipFromAddress": {
110
+ "Name": "35435345",
111
+ "AddressLine1": "123 any st",
112
+ "DistrictOrCounty": "Washtenaw",
113
+ "City": "Ann Arbor",
114
+ "StateOrProvinceCode": "Test",
115
+ "CountryCode": "US",
116
+ "PostalCode": "48103"
117
+ },
118
+ "DestinationFulfillmentCenterId": "AEB2",
119
+ "AreCasesRequired": True,
120
+ "ShipmentStatus": "WORKING",
121
+ "LabelPrepPreference": "SELLER_LABEL",
122
+ "IntendedBoxContentsSource": "NONE"
123
+ },
124
+ "InboundShipmentItems": [
125
+ {
126
+ "ShipmentId": "345453",
127
+ "SellerSKU": "34534545",
128
+ "FulfillmentNetworkSKU": "435435435",
129
+ "QuantityShipped": 0,
130
+ "QuantityReceived": 0,
131
+ "QuantityInCase": 0,
132
+ "ReleaseDate": "2020-04-23",
133
+ "PrepDetailsList": [
134
+ {
135
+ "PrepInstruction": "Polybagging",
136
+ "PrepOwner": "AMAZON"
137
+ }
138
+ ]
139
+ }
140
+ ],
141
+ "MarketplaceId": "MarketplaceId"
142
+ })
143
+
144
+ Args:
145
+ shipment_id:
146
+ data:
147
+ **kwargs:
148
+
149
+ Returns:
150
+ ApiResponse
151
+ """
152
+ return await self._request(
153
+ fill_query_params(kwargs.pop("path"), shipment_id), data={**data, **kwargs}
154
+ )
155
+
156
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}", method="PUT")
157
+ async def update_shipment(self, shipment_id, data, **kwargs):
158
+ """
159
+ update_shipment(self, shipment_id, data, **kwargs) -> ApiResponse
160
+
161
+ Examples:
162
+ literal blocks::
163
+
164
+ FulfillmentInbound().update_shipment('123', {
165
+ "MarketplaceId": "ATVPDKIKX0DER",
166
+ "InboundShipmentHeader": {
167
+ "ShipmentName": "Shipment for FBA15DJCQ1ZF",
168
+ "ShipFromAddress": {
169
+ "Name": "Uma Test",
170
+ "AddressLine1": "123 any st",
171
+ "AddressLine2": "",
172
+ "DistrictOrCounty": "Washtenaw",
173
+ "City": "Ann Arbor",
174
+ "StateOrProvinceCode": "CO",
175
+ "CountryCode": "US",
176
+ "PostalCode": "48104"
177
+ },
178
+ "DestinationFulfillmentCenterId": "ABE2",
179
+ "ShipmentStatus": "WORKING",
180
+ "LabelPrepPreference": "SELLER_LABEL"
181
+ },
182
+ "InboundShipmentItems": [
183
+ {
184
+ "SellerSKU": "PSMM-TEST-SKU-Apr-03_21_17_20-0379",
185
+ "QuantityShipped": 1
186
+ }
187
+ ]
188
+ })
189
+
190
+ Args:
191
+ shipment_id:
192
+ data:
193
+ **kwargs:
194
+
195
+ Returns:
196
+ ApiResponse
197
+ """
198
+ return await self._request(
199
+ fill_query_params(kwargs.pop("path"), shipment_id), data={**data, **kwargs}
200
+ )
201
+
202
+ @sp_endpoint(
203
+ "/inbound/fba/<version>/inboundPlans/{}/shipments/{}/name", method="PUT"
204
+ )
205
+ async def update_shipment_name(self, inboundPlanId, shipmentId, **kwargs):
206
+ """
207
+ update_shipment_name(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
208
+
209
+ Updates the name of an existing shipment.
210
+
211
+ **Usage Plan:**
212
+
213
+ | Rate (requests per second) | Burst |
214
+ | ---- | ---- |
215
+ | 2 | 30 |
216
+
217
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
218
+
219
+ Args:
220
+
221
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
222
+
223
+ shipmentId:string | * REQUIRED Identifier to a shipment. A shipment contains the boxes and units being inbounded.
224
+
225
+ body: | * REQUIRED {'name': {'description': 'A human-readable name to update the shipment name to.'}, 'type': 'string'}
226
+
227
+ Returns:
228
+ ApiResponse:
229
+ """
230
+ return await self._request(
231
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
232
+ data=kwargs,
233
+ )
234
+
235
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}/preorder")
236
+ async def preorder(self, shipment_id, **kwargs):
237
+ """
238
+ preorder(self, shipment_id, **kwargs) -> ApiResponse
239
+
240
+ Examples:
241
+ literal blocks::
242
+
243
+ FulfillmentInbound().preorder('shipmentId1', MarketplaceId='MarketplaceId1')
244
+
245
+ Args:
246
+ shipment_id:
247
+ **kwargs:
248
+
249
+ Returns:
250
+ ApiResponse
251
+ """
252
+ return await self._request(
253
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
254
+ )
255
+
256
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}/preorder/confirm", method="PUT")
257
+ async def confirm_preorder(self, shipment_id, **kwargs):
258
+ """
259
+ confirm_preorder(self, shipment_id, **kwargs)
260
+
261
+ Args:
262
+ shipment_id:
263
+ **kwargs:
264
+
265
+ Returns:
266
+
267
+ """
268
+ return await self._request(
269
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
270
+ )
271
+
272
+ @sp_endpoint("/fba/inbound/<version>/prepInstructions")
273
+ async def prep_instruction(self, data, **kwargs):
274
+ """
275
+ prep_instruction(self, data, **kwargs) -> ApiResponse
276
+
277
+ Examples:
278
+ literal blocks::
279
+
280
+ FulfillmentInbound().prep_instruction({"ShipToCountryCode": "US", "ASINList": ["ASIN1"]})
281
+
282
+ Args:
283
+ data:
284
+ **kwargs:
285
+
286
+ Returns:
287
+ ApiResponse
288
+ """
289
+ return await self._request(kwargs.pop("path"), params={**data, **kwargs})
290
+
291
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}/transport")
292
+ async def get_transport_information(self, shipment_id, **kwargs):
293
+ """
294
+ get_transport_information(self, shipment_id, **kwargs) -> ApiResponse
295
+
296
+ Examples:
297
+ literal blocks::
298
+
299
+ FulfillmentInbound().get_transport_information('shipmentId1')
300
+
301
+ Args:
302
+ shipment_id:
303
+ **kwargs:
304
+
305
+ Returns:
306
+ ApiResponse
307
+ """
308
+ return await self._request(
309
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
310
+ )
311
+
312
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}/transport", method="PUT")
313
+ async def update_transport_information(self, shipment_id, **kwargs):
314
+ """
315
+ update_transport_information(self, shipment_id, **kwargs) -> ApiResponse
316
+
317
+ putTransportDetails
318
+
319
+ Args:
320
+ shipment_id:
321
+ **kwargs:
322
+
323
+ Returns:
324
+ ApiResponse
325
+ """
326
+ return await self._request(
327
+ fill_query_params(kwargs.pop("path"), shipment_id), data=kwargs
328
+ )
329
+
330
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}/transport/void", method="POST")
331
+ async def void_transport(self, shipment_id, **kwargs):
332
+ """
333
+ void_transport(self, shipment_id, **kwargs) -> ApiResponse
334
+
335
+ Examples:
336
+ literal blocks::
337
+
338
+ FulfillmentInbound().void_transport('shipmentId1')
339
+
340
+ Args:
341
+ shipment_id:
342
+ **kwargs:
343
+
344
+ Returns:
345
+ ApiResponse
346
+ """
347
+ return await self._request(
348
+ fill_query_params(kwargs.pop("path"), shipment_id),
349
+ data=kwargs,
350
+ add_marketplace=False,
351
+ )
352
+
353
+ @sp_endpoint(
354
+ "/fba/inbound/<version>/shipments/{}/transport/estimate", method="POST"
355
+ )
356
+ async def estimate_transport(self, shipment_id, **kwargs):
357
+ """
358
+ estimate_transport(self, shipment_id, **kwargs) -> ApiResponse
359
+
360
+ Examples:
361
+ literal blocks::
362
+
363
+ FulfillmentInbound().estimate_transport('shipmentId1')
364
+
365
+ Args:
366
+ shipment_id:
367
+ **kwargs:
368
+
369
+ Returns:
370
+ ApiResponse
371
+ """
372
+ return await self._request(
373
+ fill_query_params(kwargs.pop("path"), shipment_id),
374
+ data=kwargs,
375
+ add_marketplace=False,
376
+ )
377
+
378
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}/transport/confirm", method="POST")
379
+ async def confirm_transport(self, shipment_id, **kwargs):
380
+ return await self._request(
381
+ fill_query_params(kwargs.pop("path"), shipment_id),
382
+ data=kwargs,
383
+ add_marketplace=False,
384
+ )
385
+
386
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}/labels")
387
+ async def get_labels(self, shipment_id, **kwargs):
388
+ """
389
+ get_labels(self, shipment_id, **kwargs)
390
+
391
+ Args:
392
+ shipment_id:
393
+ **kwargs:
394
+
395
+ Returns:
396
+
397
+ """
398
+ return await self._request(
399
+ fill_query_params(kwargs.pop("path"), shipment_id),
400
+ params=kwargs,
401
+ add_marketplace=False,
402
+ )
403
+
404
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}/billOfLading")
405
+ async def bill_of_lading(self, shipment_id, **kwargs):
406
+ """
407
+ bill_of_lading(self, shipment_id, **kwargs) -> ApiResponse
408
+
409
+ Examples:
410
+ literal blocks::
411
+
412
+ FulfillmentInbound().bill_of_lading('shipmentId')
413
+
414
+ Args:
415
+ shipment_id:
416
+ **kwargs:
417
+
418
+ Returns:
419
+ ApiResponse
420
+ """
421
+ return await self._request(
422
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
423
+ )
424
+
425
+ @sp_endpoint("/fba/inbound/<version>/shipments")
426
+ async def get_shipments(self, **kwargs):
427
+ """
428
+ get_shipments(self, **kwargs) -> ApiResponse
429
+
430
+ Examples:
431
+ literal blocks::
432
+
433
+ FulfillmentInbound().get_shipments(QueryType='SHIPMENT', MarketplaceId="ATVPDKIKX0DER")
434
+
435
+ Args:
436
+ **kwargs:
437
+
438
+ Returns:
439
+ ApiResponse
440
+ """
441
+ return await self._request(kwargs.pop("path"), params=kwargs)
442
+
443
+ @sp_endpoint("/fba/inbound/<version>/shipments/{}/items")
444
+ async def shipment_items_by_shipment(self, shipment_id, **kwargs):
445
+ """
446
+ shipment_items_by_shipment(self, shipment_id, **kwargs) -> ApiResponse
447
+
448
+ Examples:
449
+ literal blocks::
450
+
451
+ FulfillmentInbound().shipment_items_by_shipment('FBA15DJ9SVVD', MarketplaceId="ATVPDKIKX0DER")
452
+
453
+ Args:
454
+ shipment_id:
455
+ **kwargs:
456
+
457
+ Returns:
458
+ ApiResponse
459
+ """
460
+ return await self._request(
461
+ fill_query_params(kwargs.pop("path"), shipment_id), params=kwargs
462
+ )
463
+
464
+ @sp_endpoint("/fba/inbound/<version>/shipmentItems")
465
+ async def shipment_items(self, **kwargs):
466
+ """
467
+ shipment_items(self, **kwargs) -> ApiResponse
468
+
469
+ Examples:
470
+ literal blocks::
471
+
472
+ FulfillmentInbound().shipment_items(QueryType='SHIPMENT', MarketplaceId="ATVPDKIKX0DER", NextToken='NextToken')
473
+
474
+ Args:
475
+ **kwargs:
476
+
477
+ Returns:
478
+ ApiResponse
479
+ """
480
+ return await self._request(kwargs.pop("path"), params=kwargs)
481
+
482
+ def get_shipments_by_id(self, shipment_id_list, **kwargs) -> ApiResponse:
483
+ """
484
+ get_shipments_by_id(self, shipment_id_list, **kwargs) -> ApiResponse
485
+
486
+ FulfillmentInbound().get_shipments_by_id('FBA16TBYQ6J6')
487
+ Args:
488
+ shipment_id_list: str or [str]
489
+ **kwargs:
490
+
491
+ Returns:
492
+ ApiResponse
493
+ """
494
+ shipment_id_list = ensure_csv(shipment_id_list)
495
+ return self.get_shipments(
496
+ QueryType="SHIPMENT", ShipmentIdList=shipment_id_list, **kwargs
497
+ )
498
+
499
+ # 2024-03-20 API
500
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans", method="GET")
501
+ async def list_inbound_plans(self, **kwargs) -> ApiResponse:
502
+ """
503
+ list_inbound_plans(self, **kwargs) -> ApiResponse
504
+
505
+ Provides a list of inbound plans with minimal information.
506
+
507
+ **Usage Plan:**
508
+
509
+ | Rate (requests per second) | Burst |
510
+ | ---- | ---- |
511
+ | 1 | 1 |
512
+
513
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
514
+
515
+ Args:
516
+
517
+ key pageSize:integer | The number of inbound plans to return in the response matching the given query.
518
+
519
+ key paginationToken:string | 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.
520
+
521
+ key status:string | The status of an inbound plan.
522
+
523
+ key sortBy:string | Sort by field.
524
+
525
+ key sortOrder:string | The sort order.
526
+
527
+
528
+ Returns:
529
+ ApiResponse:
530
+ """
531
+
532
+ return await self._request(kwargs.pop("path"), params=kwargs)
533
+
534
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans", method="POST")
535
+ async def create_inbound_plan(self, **kwargs) -> ApiResponse:
536
+ """
537
+ create_inbound_plan(self, **kwargs) -> ApiResponse
538
+
539
+ Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.
540
+
541
+ **Usage Plan:**
542
+
543
+ | Rate (requests per second) | Burst |
544
+ | ---- | ---- |
545
+ | 0.05 | 1 |
546
+
547
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
548
+
549
+ Args:
550
+
551
+ body: | * REQUIRED {'description': 'The `createInboundPlan` request.',
552
+ 'example': {'contactInformation': {'email': 'email@email.com', 'phoneNumber': '1234567890'},
553
+ 'destinationMarketplaces': ['ATVPDKIKX0DER'],
554
+ 'items': [{'expiration': '2024-01-01', 'labelOwner': 'AMAZON', 'manufacturingLotCode': 'manufacturingLotCode', 'msku': 'Sunglasses', 'prepOwner': 'AMAZON', 'quantity': 10}],
555
+ 'name': 'My inbound plan',
556
+ 'sourceAddress': {'addressLine1': '123 example street', 'addressLine2': 'Floor 19', 'city': 'Toronto', 'companyName': 'Acme', 'countryCode': 'CA', 'name': 'name', 'postalCode': 'M1M1M1', 'stateOrProvinceCode': 'ON'}},
557
+ 'properties': {'contactInformation': {'$ref': '#/definitions/ContactInformation'},
558
+ 'destinationMarketplaces': {'description': 'Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request.',
559
+ 'items': {'description': 'The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.',
560
+ 'maxLength': 256,
561
+ 'minLength': 1,
562
+ 'type': 'string'},
563
+ 'maxItems': 1,
564
+ 'minItems': 1,
565
+ 'type': 'array'},
566
+ 'items': {'description': 'Items included in this plan.', 'items': {'$ref': '#/definitions/ItemInput'}, 'maxItems': 2000, 'minItems': 1, 'type': 'array'},
567
+ 'name': {'description': "Name for the Inbound Plan. If one isn't provided, a default name will be provided.", 'maxLength': 40, 'minLength': 1, 'type': 'string'},
568
+ 'sourceAddress': {'$ref': '#/definitions/Address'}},
569
+ 'required': ['contactInformation', 'destinationMarketplaces', 'items', 'sourceAddress'],
570
+ 'type': 'object'}
571
+
572
+
573
+ Returns:
574
+ ApiResponse:
575
+ """
576
+
577
+ return await self._request(kwargs.pop("path"), data=kwargs)
578
+
579
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}", method="GET")
580
+ async def get_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse:
581
+ """
582
+ get_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse
583
+
584
+ Fetches the top level information about an inbound plan.
585
+
586
+ **Usage Plan:**
587
+
588
+ | Rate (requests per second) | Burst |
589
+ | ---- | ---- |
590
+ | 1 | 1 |
591
+
592
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
593
+
594
+ Args:
595
+
596
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
597
+
598
+
599
+ Returns:
600
+ ApiResponse:
601
+ """
602
+
603
+ return await self._request(
604
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
605
+ )
606
+
607
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/boxes", method="GET")
608
+ async def list_inbound_plan_boxes(self, inboundPlanId, **kwargs) -> ApiResponse:
609
+ """
610
+ list_inbound_plan_boxes(self, inboundPlanId, **kwargs) -> ApiResponse
611
+
612
+ Provides a paginated list of box packages in an inbound plan.
613
+
614
+ **Usage Plan:**
615
+
616
+ | Rate (requests per second) | Burst |
617
+ | ---- | ---- |
618
+ | 1 | 1 |
619
+
620
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
621
+
622
+ Args:
623
+
624
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
625
+
626
+ key pageSize:integer | The number of boxes to return in the response matching the given query.
627
+
628
+ key paginationToken:string | 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.
629
+
630
+
631
+ Returns:
632
+ ApiResponse:
633
+ """
634
+
635
+ return await self._request(
636
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
637
+ )
638
+
639
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/cancellation", method="PUT")
640
+ async def cancel_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse:
641
+ """
642
+ cancel_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse
643
+
644
+ Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window
645
+ for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.
646
+
647
+ **Usage Plan:**
648
+
649
+ | Rate (requests per second) | Burst |
650
+ | ---- | ---- |
651
+ | 0.05 | 1 |
652
+
653
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
654
+
655
+ Args:
656
+
657
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
658
+
659
+
660
+ Returns:
661
+ ApiResponse:
662
+ """
663
+
664
+ return await self._request(
665
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
666
+ )
667
+
668
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/items", method="GET")
669
+ async def list_inbound_plan_items(self, inboundPlanId, **kwargs) -> ApiResponse:
670
+ """
671
+ list_inbound_plan_items(self, inboundPlanId, **kwargs) -> ApiResponse
672
+
673
+ Provides a paginated list of item packages in an inbound plan.
674
+
675
+ **Usage Plan:**
676
+
677
+ | Rate (requests per second) | Burst |
678
+ | ---- | ---- |
679
+ | 1 | 1 |
680
+
681
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
682
+
683
+ Args:
684
+
685
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
686
+
687
+ key pageSize:integer | The number of items to return in the response matching the given query.
688
+
689
+ key paginationToken:string | 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.
690
+
691
+
692
+ Returns:
693
+ ApiResponse:
694
+ """
695
+
696
+ return await self._request(
697
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
698
+ )
699
+
700
+ @sp_endpoint(
701
+ "/inbound/fba/<version>/inboundPlans/{}/packingInformation", method="POST"
702
+ )
703
+ async def set_packing_information(self, inboundPlanId, **kwargs) -> ApiResponse:
704
+ """
705
+ set_packing_information(self, inboundPlanId, **kwargs) -> ApiResponse
706
+
707
+ Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate
708
+ the box level information required for planning and transportation estimates.
709
+
710
+ **Usage Plan:**
711
+
712
+ | Rate (requests per second) | Burst |
713
+ | ---- | ---- |
714
+ | 0.05 | 1 |
715
+
716
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
717
+
718
+ Args:
719
+
720
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
721
+
722
+ body: | * REQUIRED {'description': '`setPackingInformation` request.',
723
+ 'example': {'packageGroupings': [{'boxes': [{'boxId': 'boxId',
724
+ 'contentInformationSource': 'BOX_CONTENT_PROVIDED',
725
+ 'contents': [{'expiration': '2024-01-01', 'labelOwner': 'AMAZON', 'manufacturingLotCode': 'manufacturingLotCode', 'msku': 'Sunglasses', 'prepOwner': 'AMAZON', 'quantityInBox': 10}],
726
+ 'dimensions': {'height': 5, 'length': 3, 'unitOfMeasurement': 'CM', 'width': 4},
727
+ 'quantity': 2,
728
+ 'templateName': 'templateName',
729
+ 'weight': {'unit': 'KG', 'value': 5.5}}],
730
+ 'packingGroupId': 'pg1234abcd-1234-abcd-5678-1234abcd5678',
731
+ 'shipmentId': 'sh1234abcd-1234-abcd-5678-1234abcd5678'}]},
732
+ 'properties': {'packageGroupings': {'description': 'List of packing information for the inbound plan.', 'items': {'$ref': '#/definitions/PackageGroupingInput'}, 'type': 'array'}},
733
+ 'type': 'object'}
734
+
735
+
736
+ Returns:
737
+ ApiResponse:
738
+ """
739
+
740
+ return await self._request(
741
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
742
+ )
743
+
744
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/packingOptions", method="GET")
745
+ async def list_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse:
746
+ """
747
+ list_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse
748
+
749
+ Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.
750
+
751
+ **Usage Plan:**
752
+
753
+ | Rate (requests per second) | Burst |
754
+ | ---- | ---- |
755
+ | 1 | 1 |
756
+
757
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
758
+
759
+ Args:
760
+
761
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
762
+
763
+ key pageSize:integer | The number of packing options to return in the response matching the given query.
764
+
765
+ key paginationToken:string | 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.
766
+
767
+
768
+ Returns:
769
+ ApiResponse:
770
+ """
771
+
772
+ return await self._request(
773
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
774
+ )
775
+
776
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/packingOptions", method="POST")
777
+ async def generate_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse:
778
+ """
779
+ generate_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse
780
+
781
+ Generates available packing options for the inbound plan.
782
+
783
+ **Usage Plan:**
784
+
785
+ | Rate (requests per second) | Burst |
786
+ | ---- | ---- |
787
+ | 0.05 | 1 |
788
+
789
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
790
+
791
+ Args:
792
+
793
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
794
+
795
+
796
+ Returns:
797
+ ApiResponse:
798
+ """
799
+
800
+ return await self._request(
801
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
802
+ )
803
+
804
+ @sp_endpoint(
805
+ "/inbound/fba/<version>/inboundPlans/{}/packingOptions/{}/confirmation",
806
+ method="POST",
807
+ )
808
+ async def confirm_packing_option(
809
+ self, inboundPlanId, packingOptionId, **kwargs
810
+ ) -> ApiResponse:
811
+ """
812
+ confirm_packing_option(self, inboundPlanId, **kwargs) -> ApiResponse
813
+
814
+ Confirms the packing option for an inbound plan.
815
+
816
+ **Usage Plan:**
817
+
818
+ | Rate (requests per second) | Burst |
819
+ | ---- | ---- |
820
+ | 0.05 | 1 |
821
+
822
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
823
+
824
+ Args:
825
+
826
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
827
+
828
+ packingOptionId:string | * REQUIRED Identifier to a packing option.
829
+
830
+
831
+ Returns:
832
+ ApiResponse:
833
+ """
834
+
835
+ return await self._request(
836
+ fill_query_params(kwargs.pop("path"), inboundPlanId, packingOptionId),
837
+ data=kwargs,
838
+ )
839
+
840
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/packingGroups/{}/items", method="GET")
841
+ async def list_packing_group_items(self, inboundPlanId, packingGroupId, **kwargs) -> ApiResponse:
842
+ """
843
+ list_packing_group_items(self, inboundPlanId, **kwargs) -> ApiResponse
844
+
845
+ Retrieves a list of all items in a packing options's packing group. Packing options must first be generated by the corresponding endpoint before packing group items can be listed.
846
+
847
+ **Usage Plan:**
848
+
849
+ | Rate (requests per second) | Burst |
850
+ | ---- | ---- |
851
+ | 1 | 1 |
852
+
853
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
854
+
855
+ Args:
856
+
857
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
858
+
859
+ packingGroupId:string | * REQUIRED Identifier to a packing group.
860
+
861
+ key pageSize:integer | The number of packing group items to return in the response matching the given query.
862
+
863
+ key paginationToken:string | 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.
864
+
865
+
866
+ Returns:
867
+ ApiResponse:
868
+ """
869
+
870
+ return await self._request(
871
+ fill_query_params(kwargs.pop("path"), inboundPlanId, packingGroupId), params=kwargs
872
+ )
873
+
874
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/pallets", method="GET")
875
+ async def list_inbound_plan_pallets(self, inboundPlanId, **kwargs) -> ApiResponse:
876
+ """
877
+ list_inbound_plan_pallets(self, inboundPlanId, **kwargs) -> ApiResponse
878
+
879
+ 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.
880
+
881
+ **Usage Plan:**
882
+
883
+ | Rate (requests per second) | Burst |
884
+ | ---- | ---- |
885
+ | 1 | 1 |
886
+
887
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
888
+
889
+ Args:
890
+
891
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
892
+
893
+ key pageSize:integer | The number of pallets to return in the response matching the given query.
894
+
895
+ key paginationToken:string | 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.
896
+
897
+
898
+ Returns:
899
+ ApiResponse:
900
+ """
901
+
902
+ return await self._request(
903
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
904
+ )
905
+
906
+ @sp_endpoint(
907
+ "/inbound/fba/<version>/inboundPlans/{}/placementOptions", method="GET"
908
+ )
909
+ async def list_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse:
910
+ """
911
+ list_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse
912
+
913
+ Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.
914
+
915
+ **Usage Plan:**
916
+
917
+ | Rate (requests per second) | Burst |
918
+ | ---- | ---- |
919
+ | 1 | 1 |
920
+
921
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
922
+
923
+ Args:
924
+
925
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
926
+
927
+ key pageSize:integer | The number of placement options to return in the response matching the given query.
928
+
929
+ key paginationToken:string | 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.
930
+
931
+
932
+ Returns:
933
+ ApiResponse:
934
+ """
935
+
936
+ return await self._request(
937
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
938
+ )
939
+
940
+ @sp_endpoint(
941
+ "/inbound/fba/<version>/inboundPlans/{}/placementOptions", method="POST"
942
+ )
943
+ async def generate_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse:
944
+ """
945
+ generate_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse
946
+
947
+ Generates placement options for the inbound plan.
948
+
949
+ **Usage Plan:**
950
+
951
+ | Rate (requests per second) | Burst |
952
+ | ---- | ---- |
953
+ | 0.05 | 1 |
954
+
955
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
956
+
957
+ Args:
958
+
959
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
960
+
961
+ body: | * REQUIRED {'description': 'The `generatePlacementOptions` request.',
962
+ 'example': {'customPlacement': [{'items': [{'expiration': '2024-01-01', 'labelOwner': 'AMAZON', 'manufacturingLotCode': 'manufacturingLotCode', 'msku': 'Sunglasses', 'prepOwner': 'AMAZON', 'quantity': 10}], 'warehouseId': 'YYZ14'}]},
963
+ 'properties': {'customPlacement': {'description': 'Custom placements options to be added to the plan.', 'items': {'$ref': '#/definitions/CustomPlacementInput'}, 'type': 'array'}},
964
+ 'type': 'object'}
965
+
966
+
967
+ Returns:
968
+ ApiResponse:
969
+ """
970
+
971
+ return await self._request(
972
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
973
+ )
974
+
975
+ @sp_endpoint(
976
+ "/inbound/fba/<version>/inboundPlans/{}/placementOptions/{}/confirmation",
977
+ method="POST",
978
+ )
979
+ async def confirm_placement_option(
980
+ self, inboundPlanId, placementOptionId, **kwargs
981
+ ) -> ApiResponse:
982
+ """
983
+ confirm_placement_option(self, inboundPlanId, **kwargs) -> ApiResponse
984
+
985
+ Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.
986
+
987
+ **Usage Plan:**
988
+
989
+ | Rate (requests per second) | Burst |
990
+ | ---- | ---- |
991
+ | 0.05 | 1 |
992
+
993
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
994
+
995
+ Args:
996
+
997
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
998
+
999
+ placementOptionId:string | * REQUIRED Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs.
1000
+
1001
+
1002
+ Returns:
1003
+ ApiResponse:
1004
+ """
1005
+
1006
+ return await self._request(
1007
+ fill_query_params(kwargs.pop("path"), inboundPlanId, placementOptionId),
1008
+ data=kwargs,
1009
+ )
1010
+
1011
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/shipments/{}", method="GET")
1012
+ async def get_shipment(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1013
+ """
1014
+ get_shipment(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1015
+
1016
+ 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.
1017
+
1018
+ **Usage Plan:**
1019
+
1020
+ | Rate (requests per second) | Burst |
1021
+ | ---- | ---- |
1022
+ | 1 | 1 |
1023
+
1024
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1025
+
1026
+ Args:
1027
+
1028
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1029
+
1030
+ shipmentId:string | * REQUIRED Identifier to a shipment. A shipment contains the boxes and units being inbounded.
1031
+
1032
+
1033
+ Returns:
1034
+ ApiResponse:
1035
+ """
1036
+
1037
+ return await self._request(
1038
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1039
+ params=kwargs,
1040
+ )
1041
+
1042
+ @sp_endpoint(
1043
+ "/inbound/fba/<version>/inboundPlans/{}/deliveryChallanDocument", method="GET"
1044
+ )
1045
+ async def get_delivery_challan_document(self, inboundPlanId, **kwargs) -> ApiResponse:
1046
+ """
1047
+ get_delivery_challan_document(self, inboundPlanId, **kwargs) -> ApiResponse
1048
+
1049
+ Provide delivery challan document for PCP transportation in IN marketplace.
1050
+
1051
+ **Usage Plan:**
1052
+
1053
+ | Rate (requests per second) | Burst |
1054
+ | ---- | ---- |
1055
+ | 1 | 1 |
1056
+
1057
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1058
+
1059
+ Args:
1060
+
1061
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1062
+
1063
+ shipmentId:string | * REQUIRED Identifier to a shipment. A shipment contains the boxes and units being inbounded.
1064
+
1065
+
1066
+ Returns:
1067
+ ApiResponse:
1068
+ """
1069
+
1070
+ return await self._request(
1071
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
1072
+ )
1073
+
1074
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/deliveryWindow", method="POST")
1075
+ async def update_shipment_delivery_window(self, inboundPlanId, **kwargs) -> ApiResponse:
1076
+ """
1077
+ update_shipment_delivery_window(self, inboundPlanId, **kwargs) -> ApiResponse
1078
+
1079
+ 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.
1080
+
1081
+ **Usage Plan:**
1082
+
1083
+ | Rate (requests per second) | Burst |
1084
+ | ---- | ---- |
1085
+ | 1 | 1 |
1086
+
1087
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1088
+
1089
+ Args:
1090
+
1091
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1092
+
1093
+ shipmentId:string | * REQUIRED Identifier to a shipment. A shipment contains the boxes and units being inbounded.
1094
+
1095
+ body: | * REQUIRED {'description': 'The `updateShipmentDeliveryWindow` request.',
1096
+ 'example': {'deliveryWindow': {'start': '2024-01-01T00:00Z'}},
1097
+ 'properties': {'deliveryWindow': {'$ref': '#/definitions/WindowInput', 'description': 'The range of dates within which the seller expects that their shipment will be delivered to Amazon.\n'}},
1098
+ 'required': ['deliveryWindow'],
1099
+ 'type': 'object'}
1100
+
1101
+
1102
+ Returns:
1103
+ ApiResponse:
1104
+ """
1105
+
1106
+ return await self._request(
1107
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1108
+ )
1109
+
1110
+ @sp_endpoint(
1111
+ "/inbound/fba/<version>/inboundPlans/{}/selfShipAppointmentSlots", method="GET"
1112
+ )
1113
+ async def get_self_ship_appointment_slots(self, inboundPlanId, **kwargs) -> ApiResponse:
1114
+ """
1115
+ get_self_ship_appointment_slots(self, inboundPlanId, **kwargs) -> ApiResponse
1116
+
1117
+ Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.
1118
+
1119
+ **Usage Plan:**
1120
+
1121
+ | Rate (requests per second) | Burst |
1122
+ | ---- | ---- |
1123
+ | 1 | 1 |
1124
+
1125
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1126
+
1127
+ Args:
1128
+
1129
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1130
+
1131
+ shipmentId:string | * REQUIRED Identifier to a shipment. A shipment contains the boxes and units being inbounded.
1132
+
1133
+ key pageSize:integer | The number of self ship appointment slots to return in the response matching the given query.
1134
+
1135
+ key paginationToken:string | 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.
1136
+
1137
+
1138
+ Returns:
1139
+ ApiResponse:
1140
+ """
1141
+
1142
+ return await self._request(
1143
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
1144
+ )
1145
+
1146
+ @sp_endpoint(
1147
+ "/inbound/fba/<version>/inboundPlans/{}/selfShipAppointmentSlots", method="POST"
1148
+ )
1149
+ async def generate_self_ship_appointment_slots(
1150
+ self, inboundPlanId, **kwargs
1151
+ ) -> ApiResponse:
1152
+ """
1153
+ generate_self_ship_appointment_slots(self, inboundPlanId, **kwargs) -> ApiResponse
1154
+
1155
+ Initiates the process of generating the appointment slots list.
1156
+
1157
+ **Usage Plan:**
1158
+
1159
+ | Rate (requests per second) | Burst |
1160
+ | ---- | ---- |
1161
+ | 1 | 1 |
1162
+
1163
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1164
+
1165
+ Args:
1166
+
1167
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1168
+
1169
+ shipmentId:string | * REQUIRED Identifier to a shipment. A shipment contains the boxes and units being inbounded.
1170
+
1171
+ body: | * REQUIRED {'description': 'The `generateSelfShipAppointmentSlots` request.',
1172
+ 'example': {'desiredEndDate': '2024-01-06T14:48:00.000Z', 'desiredStartDate': '2024-01-05T14:48:00.000Z'},
1173
+ 'properties': {'desiredEndDate': {'description': 'The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.', 'format': 'date-time', 'type': 'string'},
1174
+ 'desiredStartDate': {'description': 'The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.', 'format': 'date-time', 'type': 'string'}},
1175
+ 'type': 'object'}
1176
+
1177
+
1178
+ Returns:
1179
+ ApiResponse:
1180
+ """
1181
+
1182
+ return await self._request(
1183
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1184
+ )
1185
+
1186
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/cancellation", method="PUT")
1187
+ async def cancel_self_ship_appointment(self, inboundPlanId, **kwargs) -> ApiResponse:
1188
+ """
1189
+ cancel_self_ship_appointment(self, inboundPlanId, **kwargs) -> ApiResponse
1190
+
1191
+ Cancels a self-ship appointment slot against a shipment.
1192
+
1193
+ **Usage Plan:**
1194
+
1195
+ | Rate (requests per second) | Burst |
1196
+ | ---- | ---- |
1197
+ | 1 | 1 |
1198
+
1199
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1200
+
1201
+ Args:
1202
+
1203
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1204
+
1205
+ shipmentId:string | * REQUIRED Identifier to a shipment. A shipment contains the boxes and units being inbounded.
1206
+
1207
+ slotId:string | * REQUIRED Identifier to a self-ship appointment slot.
1208
+
1209
+ body: | * REQUIRED {'description': 'The `cancelSelfShipAppointment` request.', 'example': {'reasonComment': 'OTHER'}, 'properties': {'reasonComment': {'$ref': '#/definitions/ReasonComment'}}, 'type': 'object'}
1210
+
1211
+
1212
+ Returns:
1213
+ ApiResponse:
1214
+ """
1215
+
1216
+ return await self._request(
1217
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1218
+ )
1219
+
1220
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/schedule", method="POST")
1221
+ async def schedule_self_ship_appointment(self, inboundPlanId, **kwargs) -> ApiResponse:
1222
+ """
1223
+ schedule_self_ship_appointment(self, inboundPlanId, **kwargs) -> ApiResponse
1224
+
1225
+ Confirms or reschedules a self-ship appointment slot against a shipment.
1226
+
1227
+ **Usage Plan:**
1228
+
1229
+ | Rate (requests per second) | Burst |
1230
+ | ---- | ---- |
1231
+ | 1 | 1 |
1232
+
1233
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1234
+
1235
+ Args:
1236
+
1237
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1238
+
1239
+ shipmentId:string | * REQUIRED Identifier to a shipment. A shipment contains the boxes and units being inbounded.
1240
+
1241
+ slotId:string | * REQUIRED Identifier to a self-ship appointment slot.
1242
+
1243
+ body: | * REQUIRED {'description': '`scheduleSelfShipAppointment` request.', 'example': {'reasonComment': 'OTHER'}, 'properties': {'reasonComment': {'$ref': '#/definitions/ReasonComment'}}, 'type': 'object'}
1244
+
1245
+
1246
+ Returns:
1247
+ ApiResponse:
1248
+ """
1249
+
1250
+ return await self._request(
1251
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1252
+ )
1253
+
1254
+ @sp_endpoint("/inbound/fba/<version>/inboundPlans/{}/trackingDetails", method="PUT")
1255
+ async def update_shipment_tracking_details(self, inboundPlanId, **kwargs) -> ApiResponse:
1256
+ """
1257
+ update_shipment_tracking_details(self, inboundPlanId, **kwargs) -> ApiResponse
1258
+
1259
+ Updates a shipment's tracking details.
1260
+
1261
+ **Usage Plan:**
1262
+
1263
+ | Rate (requests per second) | Burst |
1264
+ | ---- | ---- |
1265
+ | 1 | 1 |
1266
+
1267
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1268
+
1269
+ Args:
1270
+
1271
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1272
+
1273
+ shipmentId:string | * REQUIRED Identifier to a shipment. A shipment contains the boxes and units being inbounded.
1274
+
1275
+ body: | * REQUIRED {'description': 'The `updateShipmentTrackingDetails` request.',
1276
+ 'example': {'trackingDetails': {'spdTrackingDetail': {'spdTrackingItems': [{'boxId': 'FBA10ABC0YY100001', 'trackingId': 'FBA10002000'}]}}},
1277
+ 'properties': {'trackingDetails': {'$ref': '#/definitions/TrackingDetailsInput'}},
1278
+ 'required': ['trackingDetails'],
1279
+ 'type': 'object'}
1280
+
1281
+
1282
+ Returns:
1283
+ ApiResponse:
1284
+ """
1285
+
1286
+ return await self._request(
1287
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1288
+ )
1289
+
1290
+ @sp_endpoint(
1291
+ "/inbound/fba/<version>/inboundPlans/{}/transportationOptions", method="GET"
1292
+ )
1293
+ async def list_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse:
1294
+ """
1295
+ list_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse
1296
+
1297
+ Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.
1298
+
1299
+ **Usage Plan:**
1300
+
1301
+ | Rate (requests per second) | Burst |
1302
+ | ---- | ---- |
1303
+ | 1 | 1 |
1304
+
1305
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1306
+
1307
+ Args:
1308
+
1309
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1310
+
1311
+ key pageSize:integer | The number of transportation options to return in the response matching the given query.
1312
+
1313
+ key paginationToken:string | 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.
1314
+
1315
+ key placementOptionId:string | The placement option to get transportation options for. Either placementOptionId or shipmentId must be specified.
1316
+
1317
+ key shipmentId:string | The shipment to get transportation options for. Either placementOptionId or shipmentId must be specified.
1318
+
1319
+
1320
+ Returns:
1321
+ ApiResponse:
1322
+ """
1323
+
1324
+ return await self._request(
1325
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
1326
+ )
1327
+
1328
+ @sp_endpoint(
1329
+ "/inbound/fba/<version>/inboundPlans/{}/transportationOptions", method="POST"
1330
+ )
1331
+ async def generate_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse:
1332
+ """
1333
+ generate_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse
1334
+
1335
+ Generates available transportation options for a given placement option.
1336
+
1337
+ **Usage Plan:**
1338
+
1339
+ | Rate (requests per second) | Burst |
1340
+ | ---- | ---- |
1341
+ | 0.05 | 1 |
1342
+
1343
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1344
+
1345
+ Args:
1346
+
1347
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1348
+
1349
+ body: | * REQUIRED {'description': 'The `generateTransportationOptions` request.',
1350
+ 'example': {'placementOptionId': 'pl1234abcd-1234-abcd-5678-1234abcd5678',
1351
+ 'shipmentTransportationConfigurations': [{'contactInformation': {'email': 'email@email.com', 'name': 'John Smithy', 'phoneNumber': '1234567890'},
1352
+ 'palletInformation': {'declaredValue': {'amount': 500, 'code': 'USD'},
1353
+ 'freightClass': 'FC_50',
1354
+ 'pallets': [{'dimensions': {'height': 5, 'length': 3, 'unitOfMeasurement': 'CM', 'width': 4},
1355
+ 'quantity': 2,
1356
+ 'stackability': 'STACKABLE',
1357
+ 'weight': {'unit': 'KG', 'value': 5.5}}]},
1358
+ 'readyToShipWindow': {'start': '2024-01-01T00:00Z'},
1359
+ 'shipmentId': 'sh1234abcd-1234-abcd-5678-1234abcd5678'}]},
1360
+ 'properties': {'placementOptionId': {'description': 'The placement option to generate transportation options for.', 'maxLength': 38, 'minLength': 38, 'pattern': '^[a-zA-Z0-9-]*$', 'type': 'string'},
1361
+ 'shipmentTransportationConfigurations': {'description': 'List of shipment transportation configurations.', 'items': {'$ref': '#/definitions/ShipmentTransportationConfiguration'}, 'type': 'array'}},
1362
+ 'required': ['placementOptionId', 'shipmentTransportationConfigurations'],
1363
+ 'type': 'object'}
1364
+
1365
+
1366
+ Returns:
1367
+ ApiResponse:
1368
+ """
1369
+
1370
+ return await self._request(
1371
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1372
+ )
1373
+
1374
+ @sp_endpoint(
1375
+ "/inbound/fba/<version>/inboundPlans/{}/transportationOptions/confirmation",
1376
+ method="POST",
1377
+ )
1378
+ async def confirm_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse:
1379
+ """
1380
+ confirm_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse
1381
+
1382
+ 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.
1383
+
1384
+ **Usage Plan:**
1385
+
1386
+ | Rate (requests per second) | Burst |
1387
+ | ---- | ---- |
1388
+ | 0.05 | 1 |
1389
+
1390
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1391
+
1392
+ Args:
1393
+
1394
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1395
+
1396
+ body: | * REQUIRED {'description': 'The `confirmTransportationOptions` request.',
1397
+ 'example': {'transportationSelections': [{'contactInformation': {'email': 'email@email.com', 'name': 'John Smithy', 'phoneNumber': '1234567890'},
1398
+ 'deliveryWindow': {'start': '2024-01-01T00:00Z'},
1399
+ 'shipmentId': 'sh1234abcd-1234-abcd-5678-1234abcd5678',
1400
+ 'transportationOptionId': 'to1234abcd-1234-abcd-5678-1234abcd5678'}]},
1401
+ 'properties': {'transportationSelections': {'description': 'Information needed to confirm one of the available transportation options.', 'items': {'$ref': '#/definitions/TransportationSelection'}, 'minItems': 1, 'type': 'array'}},
1402
+ 'required': ['transportationSelections'],
1403
+ 'type': 'object'}
1404
+
1405
+
1406
+ Returns:
1407
+ ApiResponse:
1408
+ """
1409
+
1410
+ return await self._request(
1411
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1412
+ )
1413
+
1414
+ @sp_endpoint("/inbound/fba/<version>/items/compliance", method="GET")
1415
+ async def list_item_compliance_details(self, **kwargs) -> ApiResponse:
1416
+ """
1417
+ list_item_compliance_details(self, **kwargs) -> ApiResponse
1418
+
1419
+ List the inbound compliance details for MSKUs in a given marketplace.
1420
+
1421
+ **Usage Plan:**
1422
+
1423
+ | Rate (requests per second) | Burst |
1424
+ | ---- | ---- |
1425
+ | 1 | 1 |
1426
+
1427
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1428
+
1429
+ Args:
1430
+
1431
+ key mskus:array | * REQUIRED List of merchant SKUs, a merchant-supplied identifier for a specific SKU.
1432
+
1433
+ key marketplaceId:string | * REQUIRED The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.
1434
+
1435
+
1436
+ Returns:
1437
+ ApiResponse:
1438
+ """
1439
+
1440
+ return await self._request(kwargs.pop("path"), params=kwargs)
1441
+
1442
+ @sp_endpoint("/inbound/fba/<version>/items/compliance", method="PUT")
1443
+ async def update_item_compliance_details(self, **kwargs) -> ApiResponse:
1444
+ """
1445
+ update_item_compliance_details(self, **kwargs) -> ApiResponse
1446
+
1447
+ Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.
1448
+
1449
+ **Usage Plan:**
1450
+
1451
+ | Rate (requests per second) | Burst |
1452
+ | ---- | ---- |
1453
+ | 1 | 1 |
1454
+
1455
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1456
+
1457
+ Args:
1458
+
1459
+ key marketplaceId:string | * REQUIRED The Marketplace ID. Refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids) for a list of possible values.
1460
+
1461
+ body: | * REQUIRED {'description': 'The `updateItemComplianceDetails` request.',
1462
+ 'example': {'msku': 'Sunglasses', 'taxDetails': {'declaredValue': {'amount': 5.5, 'code': 'CAD'}, 'hsnCode': 'hsnCode'}},
1463
+ 'properties': {'msku': {'description': 'The merchant SKU, a merchant-supplied identifier for a specific SKU.', 'maxLength': 40, 'minLength': 1, 'type': 'string'}, 'taxDetails': {'$ref': '#/definitions/TaxDetails'}},
1464
+ 'required': ['msku', 'taxDetails'],
1465
+ 'type': 'object'}
1466
+
1467
+
1468
+ Returns:
1469
+ ApiResponse:
1470
+ """
1471
+
1472
+ return await self._request(kwargs.pop("path"), data=kwargs)
1473
+
1474
+ @sp_endpoint("/inbound/fba/<version>/operations/{}", method="GET")
1475
+ async def get_inbound_operation_status(self, operationId, **kwargs) -> ApiResponse:
1476
+ """
1477
+ get_inbound_operation_status(self, operationId, **kwargs) -> ApiResponse
1478
+
1479
+ Gets the status of the processing of an asynchronous API call.
1480
+
1481
+ **Usage Plan:**
1482
+
1483
+ | Rate (requests per second) | Burst |
1484
+ | ---- | ---- |
1485
+ | 1 | 1 |
1486
+
1487
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1488
+
1489
+ Args:
1490
+
1491
+ operationId:string | * REQUIRED Identifier to an asynchronous operation.
1492
+
1493
+
1494
+ Returns:
1495
+ ApiResponse:
1496
+ """
1497
+
1498
+ return await self._request(
1499
+ fill_query_params(kwargs.pop("path"), operationId), params=kwargs
1500
+ )
1501
+
1502
+ @sp_endpoint(
1503
+ "/inbound/fba/<version>/inboundPlans/{}/shipments/{}/deliveryWindowOptions",
1504
+ method="POST",
1505
+ )
1506
+ async def generate_delivery_window_options(
1507
+ self, inboundPlanId, shipmentId, **kwargs
1508
+ ) -> ApiResponse:
1509
+ """
1510
+ async def generate_delivery_window_options(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1511
+
1512
+ Generates available delivery window options for a given shipment.
1513
+
1514
+ **Usage Plan:**
1515
+
1516
+ | Rate (requests per second) | Burst |
1517
+ | ---- | ---- |
1518
+ | 2 | 30 |
1519
+
1520
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1521
+
1522
+ Args:
1523
+
1524
+ inboundPlanId:string | * REQUIRED Identifier of an inbound plan.
1525
+ shipmentId:string | * REQUIRED The shipment to generate delivery window options for.
1526
+
1527
+
1528
+ Returns:
1529
+ ApiResponse:
1530
+ """
1531
+
1532
+ return await self._request(
1533
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1534
+ params=kwargs,
1535
+ )
1536
+
1537
+ @sp_endpoint(
1538
+ "/inbound/fba/<version>/inboundPlans/{}/shipments/{}/deliveryWindowOptions",
1539
+ method="GET",
1540
+ )
1541
+ async def list_delivery_window_options(
1542
+ self, inboundPlanId, shipmentId, **kwargs
1543
+ ) -> ApiResponse:
1544
+ """
1545
+ async def generate_delivery_window_options(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1546
+
1547
+ Retrieves all delivery window options for a shipment. Delivery window options must first be generated by the generateDeliveryWindowOptions operation before becoming available.
1548
+
1549
+ **Usage Plan:**
1550
+
1551
+ | Rate (requests per second) | Burst |
1552
+ | ---- | ---- |
1553
+ | 2 | 30 |
1554
+
1555
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1556
+
1557
+ Args:
1558
+
1559
+ inboundPlanId:string | * REQUIRED Identifier of an inbound plan.
1560
+ shipmentId:string | * REQUIRED The shipment to generate delivery window options for.
1561
+
1562
+
1563
+ Returns:
1564
+ ApiResponse:
1565
+ """
1566
+
1567
+ return await self._request(
1568
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1569
+ params=kwargs,
1570
+ )
1571
+
1572
+ @sp_endpoint(
1573
+ "/inbound/fba/<version>/inboundPlans/{}/shipments/{}/deliveryWindowOptions/{}/confirmation",
1574
+ method="POST",
1575
+ )
1576
+ async def confirm_delivery_window_options(
1577
+ self, inboundPlanId, shipmentId, deliveryWindowOptionId, **kwargs
1578
+ ) -> ApiResponse:
1579
+ """
1580
+ async def confirm_delivery_window_options(self, inboundPlanId, shipmentId, deliveryWindowOptionId, **kwargs) -> ApiResponse:
1581
+
1582
+ 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.
1583
+
1584
+ **Usage Plan:**
1585
+
1586
+ | Rate (requests per second) | Burst |
1587
+ | ---- | ---- |
1588
+ | 2 | 30 |
1589
+
1590
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1591
+
1592
+ Args:
1593
+
1594
+ inboundPlanId:string | * REQUIRED Identifier of an inbound plan.
1595
+ shipmentId:string | * REQUIRED The shipment to generate delivery window options for.
1596
+ deliveryWindowOptionId:string | REQUIRED The id of the delivery window option to be confirmed.
1597
+
1598
+
1599
+ Returns:
1600
+ ApiResponse:
1601
+ """
1602
+
1603
+ return await self._request(
1604
+ fill_query_params(
1605
+ kwargs.pop("path"), inboundPlanId, shipmentId, deliveryWindowOptionId
1606
+ ),
1607
+ params=kwargs,
1608
+ )
1609
+
1610
+ @sp_endpoint(
1611
+ "/inbound/fba/<version>/inboundPlans/{}/shipments/{}/items", method="GET"
1612
+ )
1613
+ async def list_shipment_items(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1614
+ """
1615
+ list_shipment_items(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1616
+
1617
+ Provides a paginated list of item packages in a shipment.
1618
+
1619
+ **Usage Plan:**
1620
+
1621
+ | Rate (requests per second) | Burst |
1622
+ | ---- | ---- |
1623
+ | 2 | 30 |
1624
+
1625
+ The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).
1626
+
1627
+ Args:
1628
+
1629
+ inboundPlanId:string | * REQUIRED Identifier to an inbound plan.
1630
+
1631
+ shipmentId:string | * REQUIRED Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1632
+
1633
+ key pageSize:integer | The number of items to return in the response matching the given query.
1634
+
1635
+ key paginationToken:string | 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.
1636
+
1637
+
1638
+ Returns:
1639
+ ApiResponse:
1640
+ """
1641
+ return await self._request(
1642
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1643
+ params=kwargs,
1644
+ )
1645
+
1646
+ @sp_endpoint("/inbound/fba/<version>/items/labels", method="POST")
1647
+ async def create_marketplace_item_labels(self, **kwargs) -> ApiResponse:
1648
+ """
1649
+ create_marketplace_item_labels(self, **kwargs) -> ApiResponse
1650
+
1651
+ For a given marketplace - creates labels for a list of MSKUs.
1652
+
1653
+ **Usage Plan:**
1654
+
1655
+ | Rate (requests per second) | Burst |
1656
+ | ---- | ---- |
1657
+ | 2 | 30 |
1658
+
1659
+ The x-amzn-RateLimit-Limit response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to Usage Plans and Rate Limits in the Selling Partner API.
1660
+ Args:
1661
+
1662
+ height:number | *OPTIONAL The height of the item label.
1663
+ labelType: | *RERQUIRED ndicates the type of print type for a given label.
1664
+ localeCode:string | *OPTIONAL The locale code constructed from ISO 639 language code and ISO 3166-1 alpha-2 standard of country codes separated by an underscore character.
1665
+ marketplaceId:string | *REQUIRED The marketplace ID.
1666
+ mskuQuantities:array | *REQUIRED Represents the quantity of an MSKU to print item labels for.
1667
+ pageType: | *OPTIONAL The page type to use to print the labels.
1668
+ width:number | *OPTIONAL The width of the item label.
1669
+
1670
+ Returns:
1671
+ ApiResponse:
1672
+ """
1673
+
1674
+ return await self._request(kwargs.pop("path"), data=kwargs)
1675
+
1676
+ @sp_endpoint("/inbound/fba/<version>/items/prepDetails", method="GET")
1677
+ async def list_prep_details(self, **kwargs) -> ApiResponse:
1678
+ """
1679
+ list_prep_details(self, **kwargs) -> ApiResponse:
1680
+
1681
+ Get preparation details for a list of MSKUs in a specified marketplace.
1682
+
1683
+ **Usage Plan:**
1684
+
1685
+ | Rate (requests per second) | Burst |
1686
+ | ---- | ---- |
1687
+ | 2 | 30 |
1688
+
1689
+ The x-amzn-RateLimit-Limit response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to Usage Plans and Rate Limits in the Selling Partner API.
1690
+ Args:
1691
+ marketplaceId:string | *REQUIRED The marketplace ID.
1692
+ mskus:array | *REQUIRED A list of merchant SKUs, a merchant-supplied identifier of a specific SKU.
1693
+
1694
+ Returns:
1695
+ ApiResponse:
1696
+ """
1697
+
1698
+ return await self._request(kwargs.pop("path"), params=kwargs)
1699
+
1700
+ @sp_endpoint("/inbound/fba/<version>/items/prepDetails", method="POST")
1701
+ async def set_prep_details(self, **kwargs) -> ApiResponse:
1702
+ """
1703
+ set_prep_details(self, **kwargs) -> ApiResponse:
1704
+
1705
+ Set the preparation details for a list of MSKUs in a specified marketplace.
1706
+
1707
+ **Usage Plan:**
1708
+
1709
+ | Rate (requests per second) | Burst |
1710
+ | ---- | ---- |
1711
+ | 2 | 30 |
1712
+
1713
+ The x-amzn-RateLimit-Limit response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to Usage Plans and Rate Limits in the Selling Partner API.
1714
+ Args:
1715
+
1716
+ marketplaceId:string | *REQUIRED The marketplace ID.
1717
+ mskuPrepDetails:array | *REQUIRED A list of MSKUs and related prep details.
1718
+
1719
+ Returns:
1720
+ ApiResponse:
1721
+ """
1722
+
1723
+ return await self._request(kwargs.pop("path"), data=kwargs)
1724
+
1725
+ @sp_endpoint(
1726
+ "/inbound/fba/<version>/inboundPlans/{}/shipments/{}/boxes", method="GET"
1727
+ )
1728
+ async def list_shipment_boxes(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1729
+ """
1730
+ list_shipment_boxes(self, **kwargs) -> ApiResponse:
1731
+
1732
+ Provides a paginated list of box packages in a shipment.
1733
+
1734
+ **Usage Plan:**
1735
+
1736
+ | Rate (requests per second) | Burst |
1737
+ | ---- | ---- |
1738
+ | 2 | 30 |
1739
+
1740
+ The x-amzn-RateLimit-Limit response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to Usage Plans and Rate Limits in the Selling Partner API.
1741
+ Args:
1742
+
1743
+ pageSize:string | *OPTIONAL Identifier of a shipment. A shipment contains the boxes and units being inbounded.
1744
+ paginationToken: | *OPTIONAL 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.
1745
+
1746
+ Returns:
1747
+ ApiResponse:
1748
+ """
1749
+
1750
+ return await self._request(
1751
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1752
+ params=kwargs,
1753
+ )
1754
+
1755
+ @sp_endpoint(
1756
+ "/inbound/fba/<version>/inboundPlans/{}/shipments/{}/trackingDetails",
1757
+ method="PUT",
1758
+ )
1759
+ async def update_shipment_tracking_details(
1760
+ self, inboundPlanId, shipmentId, **kwargs
1761
+ ) -> ApiResponse:
1762
+ """
1763
+ update_shipment_tracking_details(self, **kwargs) -> ApiResponse:
1764
+
1765
+ Updates a shipment's tracking details.
1766
+
1767
+ **Usage Plan:**
1768
+
1769
+ | Rate (requests per second) | Burst |
1770
+ | ---- | ---- |
1771
+ | 2 | 2 |
1772
+
1773
+ The x-amzn-RateLimit-Limit response header returns the usage plan rate limits that were applied to the requested operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may have higher rate and burst values than those shown here. For more information, refer to Usage Plans and Rate Limits in the Selling Partner API.
1774
+ Args:
1775
+
1776
+ body: | * REQUIRED {
1777
+ 'trackingDetails': [
1778
+ ltlTrackingDetail: [
1779
+ billOfLadingNumber: string,
1780
+ freightBillNumber: string<array>
1781
+ ],
1782
+ spdTrackingDetail: [
1783
+ spdTrackingItems:[
1784
+ boxId: string,
1785
+ trackingId: string,
1786
+ ]
1787
+ ],
1788
+ ],
1789
+ }
1790
+
1791
+ Returns:
1792
+ ApiResponse:
1793
+ """
1794
+
1795
+ return await self._request(
1796
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1797
+ data=kwargs,
1798
+ )