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,1385 @@
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 FulfillmentInboundV0(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/v0/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 FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().update_shipment_name("value", "value")
119
+
120
+ Args:
121
+ inboundPlanId: | required
122
+ shipmentId: | required
123
+ **kwargs:
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/v0/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 FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().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/v0/prepInstructions")
180
+ async def prep_instruction(self, data, **kwargs):
181
+ """
182
+ prep_instruction(self, data, **kwargs) -> ApiResponse
183
+
184
+ Returns labeling requirements and item preparation instructions to help prepare items for shipment to Amazon's fulfillment network.
185
+
186
+ Examples:
187
+ literal blocks::
188
+
189
+ await FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().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/v0/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/v0/shipments/{}/labels")
307
+ async def get_labels(self, shipment_id, **kwargs):
308
+ """
309
+ get_labels(self, shipment_id, **kwargs) -> ApiResponse
310
+
311
+ Returns package/pallet labels for faster and more accurate shipment processing at the Amazon fulfillment center.
312
+
313
+ Examples:
314
+ literal blocks::
315
+
316
+ await FulfillmentInboundV0().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/v0/shipments/{}/billOfLading")
332
+ async def bill_of_lading(self, shipment_id, **kwargs):
333
+ """
334
+ bill_of_lading(self, shipment_id, **kwargs) -> ApiResponse
335
+
336
+ Returns a bill of lading for a Less Than Truckload/Full Truckload (LTL/FTL) shipment. The getBillOfLading operation returns PDF document data for printing a bill of lading for an Amazon-partnered Less Than Truckload/Full Truckload (LTL/FTL) inbound shipment.
337
+
338
+ Examples:
339
+ literal blocks::
340
+
341
+ await FulfillmentInboundV0().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/v0/shipments")
355
+ async def get_shipments(self, **kwargs):
356
+ """
357
+ get_shipments(self, **kwargs) -> ApiResponse
358
+
359
+ Returns a list of inbound shipments based on criteria that you specify.
360
+
361
+ Examples:
362
+ literal blocks::
363
+
364
+ await FulfillmentInboundV0().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/v0/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
+ Returns a list of items in a specified inbound shipment.
380
+
381
+ Examples:
382
+ literal blocks::
383
+
384
+ await FulfillmentInboundV0().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/v0/shipmentItems")
398
+ async def shipment_items(self, **kwargs):
399
+ """
400
+ shipment_items(self, **kwargs) -> ApiResponse
401
+
402
+ Returns a list of items in a specified inbound shipment, or a list of items that were updated within a specified time frame.
403
+
404
+ Examples:
405
+ literal blocks::
406
+
407
+ await FulfillmentInboundV0().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 FulfillmentInboundV0().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/v0/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 FulfillmentInboundV0().list_inbound_plans()
452
+
453
+ Args:
454
+ **kwargs:
455
+
456
+ Returns:
457
+ ApiResponse
458
+ """
459
+
460
+ return await self._request(kwargs.pop("path"), params=kwargs)
461
+
462
+ @sp_endpoint("/inbound/fba/v0/inboundPlans", method="POST")
463
+ async def create_inbound_plan(self, **kwargs) -> ApiResponse:
464
+ """
465
+ create_inbound_plan(self, **kwargs) -> ApiResponse
466
+
467
+ Creates an inbound plan. An inbound plan contains all the necessary information to send shipments into Amazon's fufillment network.
468
+
469
+ Examples:
470
+ literal blocks::
471
+
472
+ await FulfillmentInboundV0().create_inbound_plan()
473
+
474
+ Args:
475
+ **kwargs:
476
+
477
+ Returns:
478
+ ApiResponse
479
+ """
480
+
481
+ return await self._request(kwargs.pop("path"), data=kwargs)
482
+
483
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}", method="GET")
484
+ async def get_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse:
485
+ """
486
+ get_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse
487
+
488
+ Fetches the top level information about an inbound plan.
489
+
490
+ Examples:
491
+ literal blocks::
492
+
493
+ await FulfillmentInboundV0().get_inbound_plan("value")
494
+
495
+ Args:
496
+ inboundPlanId: | required
497
+ **kwargs:
498
+
499
+ Returns:
500
+ ApiResponse
501
+ """
502
+
503
+ return await self._request(
504
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
505
+ )
506
+
507
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/boxes", method="GET")
508
+ async def list_inbound_plan_boxes(self, inboundPlanId, **kwargs) -> ApiResponse:
509
+ """
510
+ list_inbound_plan_boxes(self, inboundPlanId, **kwargs) -> ApiResponse
511
+
512
+ Provides a paginated list of box packages in an inbound plan.
513
+
514
+ Examples:
515
+ literal blocks::
516
+
517
+ await FulfillmentInboundV0().list_inbound_plan_boxes("value")
518
+
519
+ Args:
520
+ inboundPlanId: | required
521
+ **kwargs:
522
+
523
+ Returns:
524
+ ApiResponse
525
+ """
526
+
527
+ return await self._request(
528
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
529
+ )
530
+
531
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/cancellation", method="PUT")
532
+ async def cancel_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse:
533
+ """
534
+ cancel_inbound_plan(self, inboundPlanId, **kwargs) -> ApiResponse
535
+
536
+ Cancels an Inbound Plan. Charges may apply if the cancellation is performed outside of a void window. The window
537
+ for Amazon Partnered Carriers is 24 hours for Small Parcel Delivery (SPD) and one hour for Less-Than-Truckload (LTL) carrier shipments.
538
+
539
+ Examples:
540
+ literal blocks::
541
+
542
+ await FulfillmentInboundV0().cancel_inbound_plan("value")
543
+
544
+ Args:
545
+ inboundPlanId: | required
546
+ **kwargs:
547
+
548
+ Returns:
549
+ ApiResponse
550
+ """
551
+
552
+ return await self._request(
553
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
554
+ )
555
+
556
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/items", method="GET")
557
+ async def list_inbound_plan_items(self, inboundPlanId, **kwargs) -> ApiResponse:
558
+ """
559
+ list_inbound_plan_items(self, inboundPlanId, **kwargs) -> ApiResponse
560
+
561
+ Provides a paginated list of item packages in an inbound plan.
562
+
563
+ Examples:
564
+ literal blocks::
565
+
566
+ await FulfillmentInboundV0().list_inbound_plan_items("value")
567
+
568
+ Args:
569
+ inboundPlanId: | required
570
+ **kwargs:
571
+
572
+ Returns:
573
+ ApiResponse
574
+ """
575
+
576
+ return await self._request(
577
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
578
+ )
579
+
580
+ @sp_endpoint(
581
+ "/inbound/fba/v0/inboundPlans/{}/packingInformation", method="POST"
582
+ )
583
+ async def set_packing_information(self, inboundPlanId, **kwargs) -> ApiResponse:
584
+ """
585
+ set_packing_information(self, inboundPlanId, **kwargs) -> ApiResponse
586
+
587
+ Sets packing information for an inbound plan. This should be called after an inbound plan is created to populate
588
+ the box level information required for planning and transportation estimates.
589
+
590
+ Examples:
591
+ literal blocks::
592
+
593
+ await FulfillmentInboundV0().set_packing_information("value")
594
+
595
+ Args:
596
+ inboundPlanId: | required
597
+ **kwargs:
598
+
599
+ Returns:
600
+ ApiResponse
601
+ """
602
+
603
+ return await self._request(
604
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
605
+ )
606
+
607
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/packingOptions", method="GET")
608
+ async def list_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse:
609
+ """
610
+ list_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse
611
+
612
+ Retrieves a list of all packing options for an inbound plan. Packing options must first be generated by the corresponding endpoint before becoming available.
613
+
614
+ Examples:
615
+ literal blocks::
616
+
617
+ await FulfillmentInboundV0().list_packing_options("value")
618
+
619
+ Args:
620
+ inboundPlanId: | required
621
+ **kwargs:
622
+
623
+ Returns:
624
+ ApiResponse
625
+ """
626
+
627
+ return await self._request(
628
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
629
+ )
630
+
631
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/packingOptions", method="POST")
632
+ async def generate_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse:
633
+ """
634
+ generate_packing_options(self, inboundPlanId, **kwargs) -> ApiResponse
635
+
636
+ Generates available packing options for the inbound plan.
637
+
638
+ Examples:
639
+ literal blocks::
640
+
641
+ await FulfillmentInboundV0().generate_packing_options("value")
642
+
643
+ Args:
644
+ inboundPlanId: | required
645
+ **kwargs:
646
+
647
+ Returns:
648
+ ApiResponse
649
+ """
650
+
651
+ return await self._request(
652
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
653
+ )
654
+
655
+ @sp_endpoint(
656
+ "/inbound/fba/v0/inboundPlans/{}/packingOptions/{}/confirmation",
657
+ method="POST",
658
+ )
659
+ async def confirm_packing_option(
660
+ self, inboundPlanId, packingOptionId, **kwargs
661
+ ) -> ApiResponse:
662
+ """
663
+ confirm_packing_option(self, inboundPlanId, packingOptionId, **kwargs) -> ApiResponse
664
+
665
+ Confirms the packing option for an inbound plan.
666
+
667
+ Examples:
668
+ literal blocks::
669
+
670
+ await FulfillmentInboundV0().confirm_packing_option("value", "value")
671
+
672
+ Args:
673
+ inboundPlanId: | required
674
+ packingOptionId: | required
675
+ **kwargs:
676
+
677
+ Returns:
678
+ ApiResponse
679
+ """
680
+
681
+ return await self._request(
682
+ fill_query_params(kwargs.pop("path"), inboundPlanId, packingOptionId),
683
+ data=kwargs,
684
+ )
685
+
686
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/packingGroups/{}/items", method="GET")
687
+ async def list_packing_group_items(self, inboundPlanId, packingGroupId, **kwargs) -> ApiResponse:
688
+ """
689
+ list_packing_group_items(self, inboundPlanId, packingGroupId, **kwargs) -> ApiResponse
690
+
691
+ 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.
692
+
693
+ Examples:
694
+ literal blocks::
695
+
696
+ await FulfillmentInboundV0().list_packing_group_items("value", "value")
697
+
698
+ Args:
699
+ inboundPlanId: | required
700
+ packingGroupId: | required
701
+ **kwargs:
702
+
703
+ Returns:
704
+ ApiResponse
705
+ """
706
+
707
+ return await self._request(
708
+ fill_query_params(kwargs.pop("path"), inboundPlanId, packingGroupId), params=kwargs
709
+ )
710
+
711
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/pallets", method="GET")
712
+ async def list_inbound_plan_pallets(self, inboundPlanId, **kwargs) -> ApiResponse:
713
+ """
714
+ list_inbound_plan_pallets(self, inboundPlanId, **kwargs) -> ApiResponse
715
+
716
+ 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.
717
+
718
+ Examples:
719
+ literal blocks::
720
+
721
+ await FulfillmentInboundV0().list_inbound_plan_pallets("value")
722
+
723
+ Args:
724
+ inboundPlanId: | required
725
+ **kwargs:
726
+
727
+ Returns:
728
+ ApiResponse
729
+ """
730
+
731
+ return await self._request(
732
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
733
+ )
734
+
735
+ @sp_endpoint(
736
+ "/inbound/fba/v0/inboundPlans/{}/placementOptions", method="GET"
737
+ )
738
+ async def list_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse:
739
+ """
740
+ list_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse
741
+
742
+ Provides a list of all placement options for an inbound plan. Placement options must first be generated by the corresponding endpoint before becoming available.
743
+
744
+ Examples:
745
+ literal blocks::
746
+
747
+ await FulfillmentInboundV0().list_placement_options("value")
748
+
749
+ Args:
750
+ inboundPlanId: | required
751
+ **kwargs:
752
+
753
+ Returns:
754
+ ApiResponse
755
+ """
756
+
757
+ return await self._request(
758
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
759
+ )
760
+
761
+ @sp_endpoint(
762
+ "/inbound/fba/v0/inboundPlans/{}/placementOptions", method="POST"
763
+ )
764
+ async def generate_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse:
765
+ """
766
+ generate_placement_options(self, inboundPlanId, **kwargs) -> ApiResponse
767
+
768
+ Generates placement options for the inbound plan.
769
+
770
+ Examples:
771
+ literal blocks::
772
+
773
+ await FulfillmentInboundV0().generate_placement_options("value")
774
+
775
+ Args:
776
+ inboundPlanId: | required
777
+ **kwargs:
778
+
779
+ Returns:
780
+ ApiResponse
781
+ """
782
+
783
+ return await self._request(
784
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
785
+ )
786
+
787
+ @sp_endpoint(
788
+ "/inbound/fba/v0/inboundPlans/{}/placementOptions/{}/confirmation",
789
+ method="POST",
790
+ )
791
+ async def confirm_placement_option(
792
+ self, inboundPlanId, placementOptionId, **kwargs
793
+ ) -> ApiResponse:
794
+ """
795
+ confirm_placement_option(self, inboundPlanId, placementOptionId, **kwargs) -> ApiResponse
796
+
797
+ Confirms the placement option for an inbound plan. Once confirmed, it cannot be changed for the Inbound Plan.
798
+
799
+ Examples:
800
+ literal blocks::
801
+
802
+ await FulfillmentInboundV0().confirm_placement_option("value", "value")
803
+
804
+ Args:
805
+ inboundPlanId: | required
806
+ placementOptionId: | required
807
+ **kwargs:
808
+
809
+ Returns:
810
+ ApiResponse
811
+ """
812
+
813
+ return await self._request(
814
+ fill_query_params(kwargs.pop("path"), inboundPlanId, placementOptionId),
815
+ data=kwargs,
816
+ )
817
+
818
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/shipments/{}", method="GET")
819
+ async def get_shipment(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
820
+ """
821
+ get_shipment(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
822
+
823
+ 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.
824
+
825
+ Examples:
826
+ literal blocks::
827
+
828
+ await FulfillmentInboundV0().get_shipment("value", "value")
829
+
830
+ Args:
831
+ inboundPlanId: | required
832
+ shipmentId: | required
833
+ **kwargs:
834
+
835
+ Returns:
836
+ ApiResponse
837
+ """
838
+
839
+ return await self._request(
840
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
841
+ params=kwargs,
842
+ )
843
+
844
+ @sp_endpoint(
845
+ "/inbound/fba/v0/inboundPlans/{}/deliveryChallanDocument", method="GET"
846
+ )
847
+ async def get_delivery_challan_document(self, inboundPlanId, **kwargs) -> ApiResponse:
848
+ """
849
+ get_delivery_challan_document(self, inboundPlanId, **kwargs) -> ApiResponse
850
+
851
+ Provide delivery challan document for PCP transportation in IN marketplace.
852
+
853
+ Examples:
854
+ literal blocks::
855
+
856
+ await FulfillmentInboundV0().get_delivery_challan_document("value")
857
+
858
+ Args:
859
+ inboundPlanId: | required
860
+ **kwargs:
861
+
862
+ Returns:
863
+ ApiResponse
864
+ """
865
+
866
+ return await self._request(
867
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
868
+ )
869
+
870
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/deliveryWindow", method="POST")
871
+ async def update_shipment_delivery_window(self, inboundPlanId, **kwargs) -> ApiResponse:
872
+ """
873
+ update_shipment_delivery_window(self, inboundPlanId, **kwargs) -> ApiResponse
874
+
875
+ 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.
876
+
877
+ Examples:
878
+ literal blocks::
879
+
880
+ await FulfillmentInboundV0().update_shipment_delivery_window("value")
881
+
882
+ Args:
883
+ inboundPlanId: | required
884
+ **kwargs:
885
+
886
+ Returns:
887
+ ApiResponse
888
+ """
889
+
890
+ return await self._request(
891
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
892
+ )
893
+
894
+ @sp_endpoint(
895
+ "/inbound/fba/v0/inboundPlans/{}/selfShipAppointmentSlots", method="GET"
896
+ )
897
+ async def get_self_ship_appointment_slots(self, inboundPlanId, **kwargs) -> ApiResponse:
898
+ """
899
+ get_self_ship_appointment_slots(self, inboundPlanId, **kwargs) -> ApiResponse
900
+
901
+ Retrieves a list of available self-ship appointment slots used to drop off a shipment at a warehouse.
902
+
903
+ Examples:
904
+ literal blocks::
905
+
906
+ await FulfillmentInboundV0().get_self_ship_appointment_slots("value")
907
+
908
+ Args:
909
+ inboundPlanId: | required
910
+ **kwargs:
911
+
912
+ Returns:
913
+ ApiResponse
914
+ """
915
+
916
+ return await self._request(
917
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
918
+ )
919
+
920
+ @sp_endpoint(
921
+ "/inbound/fba/v0/inboundPlans/{}/selfShipAppointmentSlots", method="POST"
922
+ )
923
+ async def generate_self_ship_appointment_slots(
924
+ self, inboundPlanId, **kwargs
925
+ ) -> ApiResponse:
926
+ """
927
+ generate_self_ship_appointment_slots(self, inboundPlanId, **kwargs) -> ApiResponse
928
+
929
+ Initiates the process of generating the appointment slots list.
930
+
931
+ Examples:
932
+ literal blocks::
933
+
934
+ await FulfillmentInboundV0().generate_self_ship_appointment_slots("value")
935
+
936
+ Args:
937
+ inboundPlanId: | required
938
+ **kwargs:
939
+
940
+ Returns:
941
+ ApiResponse
942
+ """
943
+
944
+ return await self._request(
945
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
946
+ )
947
+
948
+
949
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/schedule", method="POST")
950
+ async def schedule_self_ship_appointment(self, inboundPlanId, **kwargs) -> ApiResponse:
951
+ """
952
+ schedule_self_ship_appointment(self, inboundPlanId, **kwargs) -> ApiResponse
953
+
954
+ Confirms or reschedules a self-ship appointment slot against a shipment.
955
+
956
+ Examples:
957
+ literal blocks::
958
+
959
+ await FulfillmentInboundV0().schedule_self_ship_appointment("value")
960
+
961
+ Args:
962
+ inboundPlanId: | required
963
+ **kwargs:
964
+
965
+ Returns:
966
+ ApiResponse
967
+ """
968
+
969
+ return await self._request(
970
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
971
+ )
972
+
973
+ @sp_endpoint("/inbound/fba/v0/inboundPlans/{}/trackingDetails", method="PUT")
974
+ async def update_shipment_tracking_details(self, inboundPlanId, **kwargs) -> ApiResponse:
975
+ """
976
+ update_shipment_tracking_details(self, inboundPlanId, **kwargs) -> ApiResponse
977
+
978
+ Updates a shipment's tracking details.
979
+
980
+ Examples:
981
+ literal blocks::
982
+
983
+ await FulfillmentInboundV0().update_shipment_tracking_details("value")
984
+
985
+ Args:
986
+ inboundPlanId: | required
987
+ **kwargs:
988
+
989
+ Returns:
990
+ ApiResponse
991
+ """
992
+
993
+ return await self._request(
994
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
995
+ )
996
+
997
+ @sp_endpoint(
998
+ "/inbound/fba/v0/inboundPlans/{}/transportationOptions", method="GET"
999
+ )
1000
+ async def list_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse:
1001
+ """
1002
+ list_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse
1003
+
1004
+ Retrieves all transportation options for a shipment. Transportation options must first be generated by the corresponding endpoint before becoming available.
1005
+
1006
+ Examples:
1007
+ literal blocks::
1008
+
1009
+ await FulfillmentInboundV0().list_transportation_options("value")
1010
+
1011
+ Args:
1012
+ inboundPlanId: | required
1013
+ **kwargs:
1014
+
1015
+ Returns:
1016
+ ApiResponse
1017
+ """
1018
+
1019
+ return await self._request(
1020
+ fill_query_params(kwargs.pop("path"), inboundPlanId), params=kwargs
1021
+ )
1022
+
1023
+ @sp_endpoint(
1024
+ "/inbound/fba/v0/inboundPlans/{}/transportationOptions", method="POST"
1025
+ )
1026
+ async def generate_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse:
1027
+ """
1028
+ generate_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse
1029
+
1030
+ Generates available transportation options for a given placement option.
1031
+
1032
+ Examples:
1033
+ literal blocks::
1034
+
1035
+ await FulfillmentInboundV0().generate_transportation_options("value")
1036
+
1037
+ Args:
1038
+ inboundPlanId: | required
1039
+ **kwargs:
1040
+
1041
+ Returns:
1042
+ ApiResponse
1043
+ """
1044
+
1045
+ return await self._request(
1046
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1047
+ )
1048
+
1049
+ @sp_endpoint(
1050
+ "/inbound/fba/v0/inboundPlans/{}/transportationOptions/confirmation",
1051
+ method="POST",
1052
+ )
1053
+ async def confirm_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse:
1054
+ """
1055
+ confirm_transportation_options(self, inboundPlanId, **kwargs) -> ApiResponse
1056
+
1057
+ 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.
1058
+
1059
+ Examples:
1060
+ literal blocks::
1061
+
1062
+ await FulfillmentInboundV0().confirm_transportation_options("value")
1063
+
1064
+ Args:
1065
+ inboundPlanId: | required
1066
+ **kwargs:
1067
+
1068
+ Returns:
1069
+ ApiResponse
1070
+ """
1071
+
1072
+ return await self._request(
1073
+ fill_query_params(kwargs.pop("path"), inboundPlanId), data=kwargs
1074
+ )
1075
+
1076
+ @sp_endpoint("/inbound/fba/v0/items/compliance", method="GET")
1077
+ async def list_item_compliance_details(self, **kwargs) -> ApiResponse:
1078
+ """
1079
+ list_item_compliance_details(self, **kwargs) -> ApiResponse
1080
+
1081
+ List the inbound compliance details for MSKUs in a given marketplace.
1082
+
1083
+ Examples:
1084
+ literal blocks::
1085
+
1086
+ await FulfillmentInboundV0().list_item_compliance_details()
1087
+
1088
+ Args:
1089
+ **kwargs:
1090
+
1091
+ Returns:
1092
+ ApiResponse
1093
+ """
1094
+
1095
+ return await self._request(kwargs.pop("path"), params=kwargs)
1096
+
1097
+ @sp_endpoint("/inbound/fba/v0/items/compliance", method="PUT")
1098
+ async def update_item_compliance_details(self, **kwargs) -> ApiResponse:
1099
+ """
1100
+ update_item_compliance_details(self, **kwargs) -> ApiResponse
1101
+
1102
+ Update compliance details for list of MSKUs. The details provided here are only used for the IN marketplace compliance validation.
1103
+
1104
+ Examples:
1105
+ literal blocks::
1106
+
1107
+ await FulfillmentInboundV0().update_item_compliance_details()
1108
+
1109
+ Args:
1110
+ **kwargs:
1111
+
1112
+ Returns:
1113
+ ApiResponse
1114
+ """
1115
+
1116
+ return await self._request(kwargs.pop("path"), data=kwargs)
1117
+
1118
+ @sp_endpoint("/inbound/fba/v0/operations/{}", method="GET")
1119
+ async def get_inbound_operation_status(self, operationId, **kwargs) -> ApiResponse:
1120
+ """
1121
+ get_inbound_operation_status(self, operationId, **kwargs) -> ApiResponse
1122
+
1123
+ Gets the status of the processing of an asynchronous API call.
1124
+
1125
+ Examples:
1126
+ literal blocks::
1127
+
1128
+ await FulfillmentInboundV0().get_inbound_operation_status("value")
1129
+
1130
+ Args:
1131
+ operationId: | required
1132
+ **kwargs:
1133
+
1134
+ Returns:
1135
+ ApiResponse
1136
+ """
1137
+
1138
+ return await self._request(
1139
+ fill_query_params(kwargs.pop("path"), operationId), params=kwargs
1140
+ )
1141
+
1142
+ @sp_endpoint(
1143
+ "/inbound/fba/v0/inboundPlans/{}/shipments/{}/deliveryWindowOptions",
1144
+ method="POST",
1145
+ )
1146
+ async def generate_delivery_window_options(
1147
+ self, inboundPlanId, shipmentId, **kwargs
1148
+ ) -> ApiResponse:
1149
+ """
1150
+ generate_delivery_window_options(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1151
+
1152
+ Generates available delivery window options for a given shipment.
1153
+
1154
+ Examples:
1155
+ literal blocks::
1156
+
1157
+ await FulfillmentInboundV0().generate_delivery_window_options("value", "value")
1158
+
1159
+ Args:
1160
+ inboundPlanId: | required
1161
+ shipmentId: | required
1162
+ **kwargs:
1163
+
1164
+ Returns:
1165
+ ApiResponse
1166
+ """
1167
+
1168
+ return await self._request(
1169
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1170
+ params=kwargs,
1171
+ )
1172
+
1173
+ @sp_endpoint(
1174
+ "/inbound/fba/v0/inboundPlans/{}/shipments/{}/deliveryWindowOptions",
1175
+ method="GET",
1176
+ )
1177
+ async def list_delivery_window_options(
1178
+ self, inboundPlanId, shipmentId, **kwargs
1179
+ ) -> ApiResponse:
1180
+ """
1181
+ list_delivery_window_options(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1182
+
1183
+ Retrieves all delivery window options for a shipment. Delivery window options must first be generated by the generateDeliveryWindowOptions operation before becoming available.
1184
+
1185
+ Examples:
1186
+ literal blocks::
1187
+
1188
+ await FulfillmentInboundV0().list_delivery_window_options("value", "value")
1189
+
1190
+ Args:
1191
+ inboundPlanId: | required
1192
+ shipmentId: | required
1193
+ **kwargs:
1194
+
1195
+ Returns:
1196
+ ApiResponse
1197
+ """
1198
+
1199
+ return await self._request(
1200
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1201
+ params=kwargs,
1202
+ )
1203
+
1204
+ @sp_endpoint(
1205
+ "/inbound/fba/v0/inboundPlans/{}/shipments/{}/deliveryWindowOptions/{}/confirmation",
1206
+ method="POST",
1207
+ )
1208
+ async def confirm_delivery_window_options(
1209
+ self, inboundPlanId, shipmentId, deliveryWindowOptionId, **kwargs
1210
+ ) -> ApiResponse:
1211
+ """
1212
+ confirm_delivery_window_options(self, inboundPlanId, shipmentId, deliveryWindowOptionId, **kwargs) -> ApiResponse
1213
+
1214
+ 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.
1215
+
1216
+ Examples:
1217
+ literal blocks::
1218
+
1219
+ await FulfillmentInboundV0().confirm_delivery_window_options("value", "value", "value")
1220
+
1221
+ Args:
1222
+ inboundPlanId: | required
1223
+ shipmentId: | required
1224
+ deliveryWindowOptionId: | required
1225
+ **kwargs:
1226
+
1227
+ Returns:
1228
+ ApiResponse
1229
+ """
1230
+
1231
+ return await self._request(
1232
+ fill_query_params(
1233
+ kwargs.pop("path"), inboundPlanId, shipmentId, deliveryWindowOptionId
1234
+ ),
1235
+ params=kwargs,
1236
+ )
1237
+
1238
+ @sp_endpoint(
1239
+ "/inbound/fba/v0/inboundPlans/{}/shipments/{}/items", method="GET"
1240
+ )
1241
+ async def list_shipment_items(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1242
+ """
1243
+ list_shipment_items(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1244
+
1245
+ Provides a paginated list of item packages in a shipment.
1246
+
1247
+ Examples:
1248
+ literal blocks::
1249
+
1250
+ await FulfillmentInboundV0().list_shipment_items("value", "value")
1251
+
1252
+ Args:
1253
+ inboundPlanId: | required
1254
+ shipmentId: | required
1255
+ **kwargs:
1256
+
1257
+ Returns:
1258
+ ApiResponse
1259
+ """
1260
+ return await self._request(
1261
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1262
+ params=kwargs,
1263
+ )
1264
+
1265
+ @sp_endpoint("/inbound/fba/v0/items/labels", method="POST")
1266
+ async def create_marketplace_item_labels(self, **kwargs) -> ApiResponse:
1267
+ """
1268
+ create_marketplace_item_labels(self, **kwargs) -> ApiResponse
1269
+
1270
+ For a given marketplace - creates labels for a list of MSKUs.
1271
+
1272
+ Examples:
1273
+ literal blocks::
1274
+
1275
+ await FulfillmentInboundV0().create_marketplace_item_labels()
1276
+
1277
+ Args:
1278
+ **kwargs:
1279
+
1280
+ Returns:
1281
+ ApiResponse
1282
+ """
1283
+
1284
+ return await self._request(kwargs.pop("path"), data=kwargs)
1285
+
1286
+ @sp_endpoint("/inbound/fba/v0/items/prepDetails", method="GET")
1287
+ async def list_prep_details(self, **kwargs) -> ApiResponse:
1288
+ """
1289
+ list_prep_details(self, **kwargs) -> ApiResponse
1290
+
1291
+ Get preparation details for a list of MSKUs in a specified marketplace.
1292
+
1293
+ Examples:
1294
+ literal blocks::
1295
+
1296
+ await FulfillmentInboundV0().list_prep_details()
1297
+
1298
+ Args:
1299
+ **kwargs:
1300
+
1301
+ Returns:
1302
+ ApiResponse
1303
+ """
1304
+
1305
+ return await self._request(kwargs.pop("path"), params=kwargs)
1306
+
1307
+ @sp_endpoint("/inbound/fba/v0/items/prepDetails", method="POST")
1308
+ async def set_prep_details(self, **kwargs) -> ApiResponse:
1309
+ """
1310
+ set_prep_details(self, **kwargs) -> ApiResponse
1311
+
1312
+ Set the preparation details for a list of MSKUs in a specified marketplace.
1313
+
1314
+ Examples:
1315
+ literal blocks::
1316
+
1317
+ await FulfillmentInboundV0().set_prep_details()
1318
+
1319
+ Args:
1320
+ **kwargs:
1321
+
1322
+ Returns:
1323
+ ApiResponse
1324
+ """
1325
+
1326
+ return await self._request(kwargs.pop("path"), data=kwargs)
1327
+
1328
+ @sp_endpoint(
1329
+ "/inbound/fba/v0/inboundPlans/{}/shipments/{}/boxes", method="GET"
1330
+ )
1331
+ async def list_shipment_boxes(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse:
1332
+ """
1333
+ list_shipment_boxes(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1334
+
1335
+ Provides a paginated list of box packages in a shipment.
1336
+
1337
+ Examples:
1338
+ literal blocks::
1339
+
1340
+ await FulfillmentInboundV0().list_shipment_boxes("value", "value")
1341
+
1342
+ Args:
1343
+ inboundPlanId: | required
1344
+ shipmentId: | required
1345
+ **kwargs:
1346
+
1347
+ Returns:
1348
+ ApiResponse
1349
+ """
1350
+
1351
+ return await self._request(
1352
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1353
+ params=kwargs,
1354
+ )
1355
+
1356
+ @sp_endpoint(
1357
+ "/inbound/fba/v0/inboundPlans/{}/shipments/{}/trackingDetails",
1358
+ method="PUT",
1359
+ )
1360
+ async def update_shipment_tracking_details(
1361
+ self, inboundPlanId, shipmentId, **kwargs
1362
+ ) -> ApiResponse:
1363
+ """
1364
+ update_shipment_tracking_details(self, inboundPlanId, shipmentId, **kwargs) -> ApiResponse
1365
+
1366
+ Updates a shipment's tracking details.
1367
+
1368
+ Examples:
1369
+ literal blocks::
1370
+
1371
+ await FulfillmentInboundV0().update_shipment_tracking_details("value", "value")
1372
+
1373
+ Args:
1374
+ inboundPlanId: | required
1375
+ shipmentId: | required
1376
+ **kwargs:
1377
+
1378
+ Returns:
1379
+ ApiResponse
1380
+ """
1381
+
1382
+ return await self._request(
1383
+ fill_query_params(kwargs.pop("path"), inboundPlanId, shipmentId),
1384
+ data=kwargs,
1385
+ )