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,736 @@
1
+ import urllib.parse
2
+
3
+ from sp_api.base import Client, sp_endpoint, fill_query_params, ApiResponse
4
+ from sp_api.asyncio.base import AsyncBaseClient
5
+
6
+
7
+ class FulfillmentOutbound(AsyncBaseClient):
8
+ """
9
+ FulfillmentOutbound SP-API Client
10
+ :link:
11
+
12
+ The Selling Partner API for Fulfillment Outbound lets you create applications that help a seller fulfill Multi-Channel Fulfillment orders using their inventory in Amazon's fulfillment network. You can get information on both potential and existing fulfillment orders.
13
+ """
14
+
15
+ @sp_endpoint("/fba/outbound/2020-07-01/fulfillmentOrders/preview", method="POST")
16
+ async def get_fulfillment_preview(self, **kwargs) -> ApiResponse:
17
+ """
18
+ get_fulfillment_preview(self, **kwargs) -> ApiResponse
19
+
20
+ Returns a list of fulfillment order previews based on shipping criteria that you specify.
21
+
22
+ **Usage Plan:**
23
+
24
+ ====================================== ==============
25
+ Rate (requests per second) Burst
26
+ ====================================== ==============
27
+ 2 30
28
+ ====================================== ==============
29
+
30
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
31
+
32
+ Examples:
33
+ literal blocks::
34
+
35
+ {
36
+ "marketplaceId": "string",
37
+ "address": {
38
+ "name": "string",
39
+ "addressLine1": "string",
40
+ "addressLine2": "string",
41
+ "addressLine3": "string",
42
+ "city": "string",
43
+ "districtOrCounty": "string",
44
+ "stateOrRegion": "string",
45
+ "postalCode": "string",
46
+ "countryCode": "string",
47
+ "phone": "string"
48
+ },
49
+ "items": [
50
+ {
51
+ "sellerSku": "string",
52
+ "quantity": 0,
53
+ "perUnitDeclaredValue": {
54
+ "currencyCode": "string",
55
+ "value": "string"
56
+ },
57
+ "sellerFulfillmentOrderItemId": "string"
58
+ }
59
+ ],
60
+ "shippingSpeedCategories": [
61
+ "Standard"
62
+ ],
63
+ "includeCODFulfillmentPreview": true,
64
+ "includeDeliveryWindows": true,
65
+ "featureConstraints": [
66
+ {
67
+ "featureName": "string",
68
+ "featureFulfillmentPolicy": "Required"
69
+ }
70
+ ]
71
+ }
72
+
73
+ Args:
74
+ body: {
75
+ "marketplaceId": "string",
76
+ "address": {
77
+ "name": "string",
78
+ "addressLine1": "string",
79
+ "addressLine2": "string",
80
+ "addressLine3": "string",
81
+ "city": "string",
82
+ "districtOrCounty": "string",
83
+ "stateOrRegion": "string",
84
+ "postalCode": "string",
85
+ "countryCode": "string",
86
+ "phone": "string"
87
+ },
88
+ "items": [
89
+ {
90
+ "sellerSku": "string",
91
+ "quantity": 0,
92
+ "perUnitDeclaredValue": {
93
+ "currencyCode": "string",
94
+ "value": "string"
95
+ },
96
+ "sellerFulfillmentOrderItemId": "string"
97
+ }
98
+ ],
99
+ "shippingSpeedCategories": [
100
+ "Standard"
101
+ ],
102
+ "includeCODFulfillmentPreview": true,
103
+ "includeDeliveryWindows": true,
104
+ "featureConstraints": [
105
+ {
106
+ "featureName": "string",
107
+ "featureFulfillmentPolicy": "Required"
108
+ }
109
+ ]
110
+ }
111
+
112
+
113
+ Returns:
114
+ ApiResponse:
115
+ """
116
+
117
+ return await self._request(kwargs.pop("path"), data=kwargs)
118
+
119
+ @sp_endpoint("/fba/outbound/2020-07-01/fulfillmentOrders", method="GET")
120
+ async def list_all_fulfillment_orders(self, **kwargs) -> ApiResponse:
121
+ """
122
+ list_all_fulfillment_orders(self, **kwargs) -> ApiResponse
123
+
124
+ Returns a list of fulfillment orders fulfilled after (or at) a specified date-time, or indicated by the next token parameter.
125
+
126
+ **Usage Plan:**
127
+
128
+ ====================================== ==============
129
+ Rate (requests per second) Burst
130
+ ====================================== ==============
131
+ 2 30
132
+ ====================================== ==============
133
+
134
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
135
+
136
+ Args:
137
+ key queryStartDate:string | A date used to select fulfillment orders that were last updated after (or at) a specified time. An update is defined as any change in fulfillment order status, including the creation of a new fulfillment order.
138
+ key nextToken:string | A string token returned in the response to your previous request.
139
+
140
+ Returns:
141
+ ApiResponse:
142
+ """
143
+
144
+ return await self._request(kwargs.pop("path"), params=kwargs)
145
+
146
+ @sp_endpoint("/fba/outbound/2020-07-01/fulfillmentOrders", method="POST")
147
+ async def create_fulfillment_order(self, **kwargs) -> ApiResponse:
148
+ """
149
+ create_fulfillment_order(self, **kwargs) -> ApiResponse
150
+
151
+ Requests that Amazon ship items from the seller's inventory in Amazon's fulfillment network to a destination address.
152
+
153
+ **Usage Plan:**
154
+
155
+
156
+ ====================================== ==============
157
+ Rate (requests per second) Burst
158
+ ====================================== ==============
159
+ 2 30
160
+ ====================================== ==============
161
+
162
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
163
+
164
+ Examples:
165
+ literal blocks::
166
+
167
+ {
168
+ "marketplaceId": "string",
169
+ "sellerFulfillmentOrderId": "string",
170
+ "displayableOrderId": "string",
171
+ "displayableOrderDate": "2019-08-24T14:15:22Z",
172
+ "displayableOrderComment": "string",
173
+ "shippingSpeedCategory": "Standard",
174
+ "deliveryWindow": {
175
+ "startDate": "2019-08-24T14:15:22Z",
176
+ "endDate": "2019-08-24T14:15:22Z"
177
+ },
178
+ "destinationAddress": {
179
+ "name": "string",
180
+ "addressLine1": "string",
181
+ "addressLine2": "string",
182
+ "addressLine3": "string",
183
+ "city": "string",
184
+ "districtOrCounty": "string",
185
+ "stateOrRegion": "string",
186
+ "postalCode": "string",
187
+ "countryCode": "string",
188
+ "phone": "string"
189
+ },
190
+ "fulfillmentAction": "Ship",
191
+ "fulfillmentPolicy": "FillOrKill",
192
+ "codSettings": {
193
+ "isCodRequired": true,
194
+ "codCharge": {
195
+ "currencyCode": "string",
196
+ "value": "string"
197
+ },
198
+ "codChargeTax": {
199
+ "currencyCode": "string",
200
+ "value": "string"
201
+ },
202
+ "shippingCharge": {
203
+ "currencyCode": "string",
204
+ "value": "string"
205
+ },
206
+ "shippingChargeTax": {
207
+ "currencyCode": "string",
208
+ "value": "string"
209
+ }
210
+ },
211
+ "shipFromCountryCode": "string",
212
+ "notificationEmails": [
213
+ "string"
214
+ ],
215
+ "featureConstraints": [
216
+ {
217
+ "featureName": "string",
218
+ "featureFulfillmentPolicy": "Required"
219
+ }
220
+ ],
221
+ "items": [
222
+ {
223
+ "sellerSku": "string",
224
+ "sellerFulfillmentOrderItemId": "string",
225
+ "quantity": 0,
226
+ "giftMessage": "string",
227
+ "displayableComment": "string",
228
+ "fulfillmentNetworkSku": "string",
229
+ "perUnitDeclaredValue": {
230
+ "currencyCode": "string",
231
+ "value": "string"
232
+ },
233
+ "perUnitPrice": {
234
+ "currencyCode": "string",
235
+ "value": "string"
236
+ },
237
+ "perUnitTax": {
238
+ "currencyCode": "string",
239
+ "value": "string"
240
+ }
241
+ }
242
+ ]
243
+ }
244
+
245
+ Args:
246
+ body: {
247
+ "marketplaceId": "string",
248
+ "sellerFulfillmentOrderId": "string",
249
+ "displayableOrderId": "string",
250
+ "displayableOrderDate": "2019-08-24T14:15:22Z",
251
+ "displayableOrderComment": "string",
252
+ "shippingSpeedCategory": "Standard",
253
+ "deliveryWindow": {
254
+ "startDate": "2019-08-24T14:15:22Z",
255
+ "endDate": "2019-08-24T14:15:22Z"
256
+ },
257
+ "destinationAddress": {
258
+ "name": "string",
259
+ "addressLine1": "string",
260
+ "addressLine2": "string",
261
+ "addressLine3": "string",
262
+ "city": "string",
263
+ "districtOrCounty": "string",
264
+ "stateOrRegion": "string",
265
+ "postalCode": "string",
266
+ "countryCode": "string",
267
+ "phone": "string"
268
+ },
269
+ "fulfillmentAction": "Ship",
270
+ "fulfillmentPolicy": "FillOrKill",
271
+ "codSettings": {
272
+ "isCodRequired": true,
273
+ "codCharge": {
274
+ "currencyCode": "string",
275
+ "value": "string"
276
+ },
277
+ "codChargeTax": {
278
+ "currencyCode": "string",
279
+ "value": "string"
280
+ },
281
+ "shippingCharge": {
282
+ "currencyCode": "string",
283
+ "value": "string"
284
+ },
285
+ "shippingChargeTax": {
286
+ "currencyCode": "string",
287
+ "value": "string"
288
+ }
289
+ },
290
+ "shipFromCountryCode": "string",
291
+ "notificationEmails": [
292
+ "string"
293
+ ],
294
+ "featureConstraints": [
295
+ {
296
+ "featureName": "string",
297
+ "featureFulfillmentPolicy": "Required"
298
+ }
299
+ ],
300
+ "items": [
301
+ {
302
+ "sellerSku": "string",
303
+ "sellerFulfillmentOrderItemId": "string",
304
+ "quantity": 0,
305
+ "giftMessage": "string",
306
+ "displayableComment": "string",
307
+ "fulfillmentNetworkSku": "string",
308
+ "perUnitDeclaredValue": {
309
+ "currencyCode": "string",
310
+ "value": "string"
311
+ },
312
+ "perUnitPrice": {
313
+ "currencyCode": "string",
314
+ "value": "string"
315
+ },
316
+ "perUnitTax": {
317
+ "currencyCode": "string",
318
+ "value": "string"
319
+ }
320
+ }
321
+ ]
322
+ }
323
+
324
+
325
+ Returns:
326
+ ApiResponse:
327
+ """
328
+
329
+ return await self._request(kwargs.pop("path"), data=kwargs)
330
+
331
+ @sp_endpoint("/fba/outbound/2020-07-01/tracking", method="GET")
332
+ async def get_package_tracking_details(self, **kwargs) -> ApiResponse:
333
+ """
334
+ get_package_tracking_details(self, **kwargs) -> ApiResponse
335
+
336
+ Returns delivery tracking information for a package in an outbound shipment for a Multi-Channel Fulfillment order.
337
+
338
+ **Usage Plan:**
339
+
340
+ ====================================== ==============
341
+ Rate (requests per second) Burst
342
+ ====================================== ==============
343
+ 2 30
344
+ ====================================== ==============
345
+
346
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
347
+
348
+ Args:
349
+ key packageNumber:integer | * REQUIRED The unencrypted package identifier returned by the getFulfillmentOrder operation.
350
+
351
+ Returns:
352
+ ApiResponse:
353
+ """
354
+
355
+ return await self._request(kwargs.pop("path"), params=kwargs)
356
+
357
+ @sp_endpoint("/fba/outbound/2020-07-01/returnReasonCodes", method="GET")
358
+ async def list_return_reason_codes(self, **kwargs) -> ApiResponse:
359
+ """
360
+ list_return_reason_codes(self, **kwargs) -> ApiResponse
361
+
362
+ Returns a list of return reason codes for a seller SKU in a given marketplace.
363
+
364
+ **Usage Plan:**
365
+
366
+
367
+ ====================================== ==============
368
+ Rate (requests per second) Burst
369
+ ====================================== ==============
370
+ 2 30
371
+ ====================================== ==============
372
+
373
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
374
+
375
+ Args:
376
+ key sellerSku:string | * REQUIRED The seller SKU for which return reason codes are required.
377
+ key marketplaceId:string | The marketplace for which the seller wants return reason codes.
378
+ key sellerFulfillmentOrderId:string | The identifier assigned to the item by the seller when the fulfillment order was created. The service uses this value to determine the marketplace for which the seller wants return reason codes.
379
+ key language:string | * REQUIRED The language that the TranslatedDescription property of the ReasonCodeDetails response object should be translated into.
380
+
381
+ Returns:
382
+ ApiResponse:
383
+ """
384
+
385
+ return await self._request(kwargs.pop("path"), params=kwargs)
386
+
387
+ @sp_endpoint("/fba/outbound/2020-07-01/fulfillmentOrders/{}/return", method="PUT")
388
+ async def create_fulfillment_return(
389
+ self, sellerFulfillmentOrderId, **kwargs
390
+ ) -> ApiResponse:
391
+ """
392
+ create_fulfillment_return(self, sellerFulfillmentOrderId, **kwargs) -> ApiResponse
393
+
394
+ Creates a fulfillment return.
395
+
396
+ **Usage Plan:**
397
+
398
+
399
+ ====================================== ==============
400
+ Rate (requests per second) Burst
401
+ ====================================== ==============
402
+ 2 30
403
+ ====================================== ==============
404
+
405
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
406
+
407
+ Examples:
408
+ literal blocks::
409
+
410
+ {
411
+ "items": [
412
+ {
413
+ "sellerReturnItemId": "string",
414
+ "sellerFulfillmentOrderItemId": "string",
415
+ "amazonShipmentId": "string",
416
+ "returnReasonCode": "string",
417
+ "returnComment": "string"
418
+ }
419
+ ]
420
+ }
421
+
422
+ Args:
423
+ sellerFulfillmentOrderId:string | * REQUIRED An identifier assigned by the seller to the fulfillment order at the time it was created. The seller uses their own records to find the correct SellerFulfillmentOrderId value based on the buyer's request to return items.
424
+ body: {
425
+ "items": [
426
+ {
427
+ "sellerReturnItemId": "string",
428
+ "sellerFulfillmentOrderItemId": "string",
429
+ "amazonShipmentId": "string",
430
+ "returnReasonCode": "string",
431
+ "returnComment": "string"
432
+ }
433
+ ]
434
+ }
435
+
436
+
437
+ Returns:
438
+ ApiResponse:
439
+ """
440
+
441
+ return await self._request(
442
+ fill_query_params(kwargs.pop("path"), sellerFulfillmentOrderId), data=kwargs
443
+ )
444
+
445
+ @sp_endpoint("/fba/outbound/2020-07-01/fulfillmentOrders/{}", method="GET")
446
+ async def get_fulfillment_order(self, sellerFulfillmentOrderId, **kwargs) -> ApiResponse:
447
+ """
448
+ get_fulfillment_order(self, sellerFulfillmentOrderId, **kwargs) -> ApiResponse
449
+
450
+ Returns the fulfillment order indicated by the specified order identifier.
451
+
452
+ **Usage Plan:**
453
+
454
+ ====================================== ==============
455
+ Rate (requests per second) Burst
456
+ ====================================== ==============
457
+ 2 30
458
+ ====================================== ==============
459
+
460
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
461
+
462
+ Args:
463
+ sellerFulfillmentOrderId:string | * REQUIRED The identifier assigned to the item by the seller when the fulfillment order was created.
464
+
465
+ Returns:
466
+ ApiResponse:
467
+ """
468
+
469
+ return await self._request(
470
+ fill_query_params(kwargs.pop("path"), sellerFulfillmentOrderId),
471
+ params=kwargs,
472
+ )
473
+
474
+ @sp_endpoint("/fba/outbound/2020-07-01/fulfillmentOrders/{}", method="PUT")
475
+ async def update_fulfillment_order(
476
+ self, sellerFulfillmentOrderId, **kwargs
477
+ ) -> ApiResponse:
478
+ """
479
+ update_fulfillment_order(self, sellerFulfillmentOrderId, **kwargs) -> ApiResponse
480
+
481
+ Updates and/or requests shipment for a fulfillment order with an order hold on it.
482
+
483
+ **Usage Plan:**
484
+
485
+
486
+ ====================================== ==============
487
+ Rate (requests per second) Burst
488
+ ====================================== ==============
489
+ 2 30
490
+ ====================================== ==============
491
+
492
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
493
+
494
+ Examples:
495
+ literal blocks::
496
+
497
+ {
498
+ "marketplaceId": "string",
499
+ "displayableOrderId": "string",
500
+ "displayableOrderDate": "2019-08-24T14:15:22Z",
501
+ "displayableOrderComment": "string",
502
+ "shippingSpeedCategory": "Standard",
503
+ "destinationAddress": {
504
+ "name": "string",
505
+ "addressLine1": "string",
506
+ "addressLine2": "string",
507
+ "addressLine3": "string",
508
+ "city": "string",
509
+ "districtOrCounty": "string",
510
+ "stateOrRegion": "string",
511
+ "postalCode": "string",
512
+ "countryCode": "string",
513
+ "phone": "string"
514
+ },
515
+ "fulfillmentAction": "Ship",
516
+ "fulfillmentPolicy": "FillOrKill",
517
+ "shipFromCountryCode": "string",
518
+ "notificationEmails": [
519
+ "string"
520
+ ],
521
+ "featureConstraints": [
522
+ {
523
+ "featureName": "string",
524
+ "featureFulfillmentPolicy": "Required"
525
+ }
526
+ ],
527
+ "items": [
528
+ {
529
+ "sellerSku": "string",
530
+ "sellerFulfillmentOrderItemId": "string",
531
+ "quantity": 0,
532
+ "giftMessage": "string",
533
+ "displayableComment": "string",
534
+ "fulfillmentNetworkSku": "string",
535
+ "orderItemDisposition": "string",
536
+ "perUnitDeclaredValue": {
537
+ "currencyCode": "string",
538
+ "value": "string"
539
+ },
540
+ "perUnitPrice": {
541
+ "currencyCode": "string",
542
+ "value": "string"
543
+ },
544
+ "perUnitTax": {
545
+ "currencyCode": "string",
546
+ "value": "string"
547
+ }
548
+ }
549
+ ]
550
+ }
551
+
552
+ Args:
553
+ sellerFulfillmentOrderId:string | * REQUIRED The identifier assigned to the item by the seller when the fulfillment order was created.
554
+ body: {
555
+ "marketplaceId": "string",
556
+ "displayableOrderId": "string",
557
+ "displayableOrderDate": "2019-08-24T14:15:22Z",
558
+ "displayableOrderComment": "string",
559
+ "shippingSpeedCategory": "Standard",
560
+ "destinationAddress": {
561
+ "name": "string",
562
+ "addressLine1": "string",
563
+ "addressLine2": "string",
564
+ "addressLine3": "string",
565
+ "city": "string",
566
+ "districtOrCounty": "string",
567
+ "stateOrRegion": "string",
568
+ "postalCode": "string",
569
+ "countryCode": "string",
570
+ "phone": "string"
571
+ },
572
+ "fulfillmentAction": "Ship",
573
+ "fulfillmentPolicy": "FillOrKill",
574
+ "shipFromCountryCode": "string",
575
+ "notificationEmails": [
576
+ "string"
577
+ ],
578
+ "featureConstraints": [
579
+ {
580
+ "featureName": "string",
581
+ "featureFulfillmentPolicy": "Required"
582
+ }
583
+ ],
584
+ "items": [
585
+ {
586
+ "sellerSku": "string",
587
+ "sellerFulfillmentOrderItemId": "string",
588
+ "quantity": 0,
589
+ "giftMessage": "string",
590
+ "displayableComment": "string",
591
+ "fulfillmentNetworkSku": "string",
592
+ "orderItemDisposition": "string",
593
+ "perUnitDeclaredValue": {
594
+ "currencyCode": "string",
595
+ "value": "string"
596
+ },
597
+ "perUnitPrice": {
598
+ "currencyCode": "string",
599
+ "value": "string"
600
+ },
601
+ "perUnitTax": {
602
+ "currencyCode": "string",
603
+ "value": "string"
604
+ }
605
+ }
606
+ ]
607
+ }
608
+
609
+
610
+
611
+ Returns:
612
+ ApiResponse:
613
+ """
614
+
615
+ return await self._request(
616
+ fill_query_params(kwargs.pop("path"), sellerFulfillmentOrderId), data=kwargs
617
+ )
618
+
619
+ @sp_endpoint("/fba/outbound/2020-07-01/fulfillmentOrders/{}/cancel", method="PUT")
620
+ async def cancel_fulfillment_order(
621
+ self, sellerFulfillmentOrderId, **kwargs
622
+ ) -> ApiResponse:
623
+ """
624
+ cancel_fulfillment_order(self, sellerFulfillmentOrderId, **kwargs) -> ApiResponse
625
+
626
+ Requests that Amazon stop attempting to fulfill the fulfillment order indicated by the specified order identifier.
627
+
628
+ **Usage Plan:**
629
+
630
+ ====================================== ==============
631
+ Rate (requests per second) Burst
632
+ ====================================== ==============
633
+ 2 30
634
+ ====================================== ==============
635
+
636
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
637
+
638
+ Args:
639
+ sellerFulfillmentOrderId:string | * REQUIRED The identifier assigned to the item by the seller when the fulfillment order was created.
640
+
641
+
642
+ Returns:
643
+ ApiResponse:
644
+ """
645
+
646
+ return await self._request(
647
+ fill_query_params(kwargs.pop("path"), sellerFulfillmentOrderId), data=kwargs
648
+ )
649
+
650
+ @sp_endpoint("/fba/outbound/2020-07-01/features", method="GET")
651
+ async def get_features(self, **kwargs) -> ApiResponse:
652
+ """
653
+ get_features(self, **kwargs) -> ApiResponse
654
+
655
+ Returns a list of features available for Multi-Channel Fulfillment orders in the marketplace you specify, and whether the seller for which you made the call is enrolled for each feature.
656
+
657
+ **Usage Plan:**
658
+
659
+
660
+ ====================================== ==============
661
+ Rate (requests per second) Burst
662
+ ====================================== ==============
663
+ 2 30
664
+ ====================================== ==============
665
+
666
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
667
+
668
+ Args:
669
+ key marketplaceId:string | * REQUIRED The marketplace for which to return the list of features.
670
+
671
+ Returns:
672
+ ApiResponse:
673
+ """
674
+
675
+ return await self._request(kwargs.pop("path"), params=kwargs)
676
+
677
+ @sp_endpoint("/fba/outbound/2020-07-01/features/inventory/{}", method="GET")
678
+ async def get_feature_inventory(self, featureName, **kwargs) -> ApiResponse:
679
+ """
680
+ get_feature_inventory(self, featureName, **kwargs) -> ApiResponse
681
+
682
+ Returns a list of inventory items that are eligible for the fulfillment feature you specify.
683
+
684
+ **Usage Plan:**
685
+
686
+ ====================================== ==============
687
+ Rate (requests per second) Burst
688
+ ====================================== ==============
689
+ 2 30
690
+ ====================================== ==============
691
+
692
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
693
+
694
+ Args:
695
+ key marketplaceId:string | * REQUIRED The marketplace for which to return a list of the inventory that is eligible for the specified feature.
696
+ featureName:string | * REQUIRED The name of the feature for which to return a list of eligible inventory.
697
+ key nextToken:string | A string token returned in the response to your previous request that is used to return the next response page. A value of null will return the first page.
698
+
699
+ Returns:
700
+ ApiResponse:
701
+ """
702
+
703
+ return await self._request(
704
+ fill_query_params(kwargs.pop("path"), featureName), params=kwargs
705
+ )
706
+
707
+ @sp_endpoint("/fba/outbound/2020-07-01/features/inventory/{}", method="GET")
708
+ async def get_feature_s_k_u(self, featureName, **kwargs) -> ApiResponse:
709
+ """
710
+ get_feature_s_k_u(self, featureName, **kwargs) -> ApiResponse
711
+
712
+ Returns the number of items with the sellerSKU you specify that can have orders fulfilled using the specified feature. Note that if the sellerSKU isn't eligible, the response will contain an empty skuInfo object.
713
+
714
+ **Usage Plan:**
715
+
716
+
717
+ ====================================== ==============
718
+ Rate (requests per second) Burst
719
+ ====================================== ==============
720
+ 2 30
721
+ ====================================== ==============
722
+
723
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
724
+
725
+ Args:
726
+ key marketplaceId:string | * REQUIRED The marketplace for which to return the count.
727
+ featureName:string | * REQUIRED The name of the feature.
728
+ sellerSku:string | * REQUIRED Used to identify an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit.
729
+
730
+ Returns:
731
+ ApiResponse:
732
+ """
733
+
734
+ return await self._request(
735
+ fill_query_params(kwargs.pop("path"), featureName), params=kwargs
736
+ )