wildberries-sdk 0.1.16__py3-none-any.whl → 0.1.18__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.
- wildberries_sdk/analytics/__init__.py +3 -7
- wildberries_sdk/analytics/api/__init__.py +1 -3
- wildberries_sdk/analytics/api/default_api.py +4670 -0
- wildberries_sdk/analytics/api_client.py +1 -1
- wildberries_sdk/analytics/configuration.py +1 -1
- wildberries_sdk/communications/__init__.py +1 -5
- wildberries_sdk/communications/api/__init__.py +0 -2
- wildberries_sdk/communications/api/default_api.py +4282 -858
- wildberries_sdk/communications/api_client.py +1 -1
- wildberries_sdk/communications/configuration.py +1 -1
- wildberries_sdk/finances/__init__.py +1 -3
- wildberries_sdk/finances/api/__init__.py +0 -1
- wildberries_sdk/finances/api/default_api.py +367 -2
- wildberries_sdk/finances/api_client.py +1 -1
- wildberries_sdk/finances/configuration.py +1 -1
- wildberries_sdk/general/__init__.py +3 -7
- wildberries_sdk/general/api/__init__.py +1 -3
- wildberries_sdk/general/api/{api.py → default_api.py} +560 -1
- wildberries_sdk/general/api_client.py +1 -1
- wildberries_sdk/general/configuration.py +1 -1
- wildberries_sdk/in_store_pickup/__init__.py +3 -5
- wildberries_sdk/in_store_pickup/api/__init__.py +1 -2
- wildberries_sdk/in_store_pickup/api/{api.py → default_api.py} +1798 -2
- wildberries_sdk/in_store_pickup/api_client.py +1 -1
- wildberries_sdk/in_store_pickup/configuration.py +1 -1
- wildberries_sdk/orders_dbs/__init__.py +3 -5
- wildberries_sdk/orders_dbs/api/__init__.py +1 -2
- wildberries_sdk/orders_dbs/api/{dbs_api.py → default_api.py} +1819 -2
- wildberries_sdk/orders_dbs/api_client.py +1 -1
- wildberries_sdk/orders_dbs/configuration.py +1 -1
- wildberries_sdk/orders_dbw/__init__.py +3 -5
- wildberries_sdk/orders_dbw/api/__init__.py +1 -2
- wildberries_sdk/orders_dbw/api/{dbw_api.py → default_api.py} +1821 -1
- wildberries_sdk/orders_dbw/api_client.py +1 -1
- wildberries_sdk/orders_dbw/configuration.py +1 -1
- wildberries_sdk/orders_fbs/__init__.py +3 -5
- wildberries_sdk/orders_fbs/api/__init__.py +1 -2
- wildberries_sdk/orders_fbs/api/default_api.py +10043 -0
- wildberries_sdk/orders_fbs/api_client.py +1 -1
- wildberries_sdk/orders_fbs/configuration.py +1 -1
- wildberries_sdk/orders_fbw/__init__.py +3 -5
- wildberries_sdk/orders_fbw/api/__init__.py +1 -2
- wildberries_sdk/orders_fbw/api/default_api.py +2368 -0
- wildberries_sdk/orders_fbw/api_client.py +1 -1
- wildberries_sdk/orders_fbw/configuration.py +1 -1
- wildberries_sdk/products/__init__.py +1 -7
- wildberries_sdk/products/api/__init__.py +0 -3
- wildberries_sdk/products/api/default_api.py +12348 -2
- wildberries_sdk/products/api_client.py +1 -1
- wildberries_sdk/products/configuration.py +1 -1
- wildberries_sdk/products/models/content_v2_get_cards_list_post200_response_cards_inner_tags_inner.py +1 -1
- wildberries_sdk/promotion/__init__.py +1 -3
- wildberries_sdk/promotion/api/__init__.py +0 -1
- wildberries_sdk/promotion/api/default_api.py +10107 -1059
- wildberries_sdk/promotion/api_client.py +1 -1
- wildberries_sdk/promotion/configuration.py +1 -1
- wildberries_sdk/reports/__init__.py +3 -13
- wildberries_sdk/reports/api/__init__.py +1 -6
- wildberries_sdk/{promotion/api/api.py → reports/api/default_api.py} +2245 -2381
- wildberries_sdk/reports/api_client.py +1 -1
- wildberries_sdk/reports/configuration.py +1 -1
- wildberries_sdk/tariffs/__init__.py +1 -3
- wildberries_sdk/tariffs/api/__init__.py +0 -1
- wildberries_sdk/tariffs/api/default_api.py +1147 -34
- wildberries_sdk/tariffs/api_client.py +1 -1
- wildberries_sdk/tariffs/configuration.py +1 -1
- wildberries_sdk/wbd/__init__.py +1 -3
- wildberries_sdk/wbd/api/__init__.py +0 -1
- wildberries_sdk/wbd/api/default_api.py +1662 -89
- wildberries_sdk/wbd/api_client.py +1 -1
- wildberries_sdk/wbd/configuration.py +1 -1
- wildberries_sdk/wbd/models/offer_create_request.py +1 -1
- wildberries_sdk/wbd/models/offer_update_request.py +1 -1
- wildberries_sdk-0.1.18.dist-info/METADATA +395 -0
- {wildberries_sdk-0.1.16.dist-info → wildberries_sdk-0.1.18.dist-info}/RECORD +78 -88
- wildberries_sdk/analytics/api/api.py +0 -1490
- wildberries_sdk/analytics/api/csv_api.py +0 -1178
- wildberries_sdk/communications/api/api.py +0 -1166
- wildberries_sdk/finances/api/api.py +0 -404
- wildberries_sdk/general/api/api_api.py +0 -341
- wildberries_sdk/general/api/wbapi_api.py +0 -291
- wildberries_sdk/orders_fbs/api/fbs_api.py +0 -2683
- wildberries_sdk/orders_fbw/api/api.py +0 -1153
- wildberries_sdk/products/api/api.py +0 -3891
- wildberries_sdk/reports/api/api.py +0 -350
- wildberries_sdk/reports/api/c_api.py +0 -361
- wildberries_sdk/tariffs/api/api.py +0 -1151
- wildberries_sdk/wbd/api/api.py +0 -1611
- wildberries_sdk-0.1.16.dist-info/METADATA +0 -191
- {wildberries_sdk-0.1.16.dist-info → wildberries_sdk-0.1.18.dist-info}/LICENSE +0 -0
- {wildberries_sdk-0.1.16.dist-info → wildberries_sdk-0.1.18.dist-info}/WHEEL +0 -0
- {wildberries_sdk-0.1.16.dist-info → wildberries_sdk-0.1.18.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,4670 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Аналитика и данные
|
|
5
|
+
|
|
6
|
+
<div class=\"description_important\"> Узнать больше об аналитике и данных можно в <a href=\"https://seller.wildberries.ru/instructions/ru/ru/subcategory/seller-analytics\">справочном центре</a> </div> В разделе описаны методы получения: 1. [Воронки продаж](/openapi/analytics#tag/Voronka-prodazh) 2. [Поисковых запросов по вашим товарам](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram) 3. [Истории остатков](/openapi/analytics#tag/Istoriya-ostatkov) 4. [Аналитики продавца в формате CSV](/openapi/analytics#tag/Analitika-prodavca-CSV)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: analytics
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
import warnings
|
|
15
|
+
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
16
|
+
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
17
|
+
from typing_extensions import Annotated
|
|
18
|
+
|
|
19
|
+
from pydantic import Field, StrictBytes, StrictStr
|
|
20
|
+
from typing import List, Optional, Tuple, Union
|
|
21
|
+
from typing_extensions import Annotated
|
|
22
|
+
from uuid import UUID
|
|
23
|
+
from wildberries_sdk.analytics.models.api_v2_nm_report_downloads_post_request import ApiV2NmReportDownloadsPostRequest
|
|
24
|
+
from wildberries_sdk.analytics.models.api_v2_search_report_product_orders_post200_response import ApiV2SearchReportProductOrdersPost200Response
|
|
25
|
+
from wildberries_sdk.analytics.models.api_v2_search_report_product_search_texts_post200_response import ApiV2SearchReportProductSearchTextsPost200Response
|
|
26
|
+
from wildberries_sdk.analytics.models.api_v2_search_report_report_post200_response import ApiV2SearchReportReportPost200Response
|
|
27
|
+
from wildberries_sdk.analytics.models.api_v2_search_report_table_details_post200_response import ApiV2SearchReportTableDetailsPost200Response
|
|
28
|
+
from wildberries_sdk.analytics.models.api_v2_search_report_table_groups_post200_response import ApiV2SearchReportTableGroupsPost200Response
|
|
29
|
+
from wildberries_sdk.analytics.models.api_v2_stocks_report_offices_post200_response import ApiV2StocksReportOfficesPost200Response
|
|
30
|
+
from wildberries_sdk.analytics.models.api_v2_stocks_report_products_groups_post200_response import ApiV2StocksReportProductsGroupsPost200Response
|
|
31
|
+
from wildberries_sdk.analytics.models.api_v2_stocks_report_products_products_post200_response import ApiV2StocksReportProductsProductsPost200Response
|
|
32
|
+
from wildberries_sdk.analytics.models.api_v2_stocks_report_products_sizes_post200_response import ApiV2StocksReportProductsSizesPost200Response
|
|
33
|
+
from wildberries_sdk.analytics.models.common_shipping_office_filters import CommonShippingOfficeFilters
|
|
34
|
+
from wildberries_sdk.analytics.models.common_size_filters import CommonSizeFilters
|
|
35
|
+
from wildberries_sdk.analytics.models.grouped_history_request import GroupedHistoryRequest
|
|
36
|
+
from wildberries_sdk.analytics.models.main_request import MainRequest
|
|
37
|
+
from wildberries_sdk.analytics.models.nm_report_create_report_response import NmReportCreateReportResponse
|
|
38
|
+
from wildberries_sdk.analytics.models.nm_report_get_reports_response import NmReportGetReportsResponse
|
|
39
|
+
from wildberries_sdk.analytics.models.nm_report_retry_report_request import NmReportRetryReportRequest
|
|
40
|
+
from wildberries_sdk.analytics.models.nm_report_retry_report_response import NmReportRetryReportResponse
|
|
41
|
+
from wildberries_sdk.analytics.models.post_sales_funnel_grouped_history200_response import PostSalesFunnelGroupedHistory200Response
|
|
42
|
+
from wildberries_sdk.analytics.models.post_sales_funnel_products200_response import PostSalesFunnelProducts200Response
|
|
43
|
+
from wildberries_sdk.analytics.models.product_history_request import ProductHistoryRequest
|
|
44
|
+
from wildberries_sdk.analytics.models.product_history_response_inner import ProductHistoryResponseInner
|
|
45
|
+
from wildberries_sdk.analytics.models.product_orders_request import ProductOrdersRequest
|
|
46
|
+
from wildberries_sdk.analytics.models.product_search_texts_request import ProductSearchTextsRequest
|
|
47
|
+
from wildberries_sdk.analytics.models.products_request import ProductsRequest
|
|
48
|
+
from wildberries_sdk.analytics.models.table_details_request import TableDetailsRequest
|
|
49
|
+
from wildberries_sdk.analytics.models.table_group_request import TableGroupRequest
|
|
50
|
+
from wildberries_sdk.analytics.models.table_group_request_st import TableGroupRequestSt
|
|
51
|
+
from wildberries_sdk.analytics.models.table_product_request import TableProductRequest
|
|
52
|
+
|
|
53
|
+
from wildberries_sdk.analytics.api_client import ApiClient, RequestSerialized
|
|
54
|
+
from wildberries_sdk.analytics.api_response import ApiResponse
|
|
55
|
+
from wildberries_sdk.analytics.rest import RESTResponseType
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class DefaultApi:
|
|
59
|
+
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
60
|
+
Ref: https://openapi-generator.tech
|
|
61
|
+
|
|
62
|
+
Do not edit the class manually.
|
|
63
|
+
"""
|
|
64
|
+
|
|
65
|
+
def __init__(self, api_client=None) -> None:
|
|
66
|
+
if api_client is None:
|
|
67
|
+
api_client = ApiClient.get_default()
|
|
68
|
+
self.api_client = api_client
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@validate_call
|
|
72
|
+
def api_v2_nm_report_downloads_file_download_id_get(
|
|
73
|
+
self,
|
|
74
|
+
download_id: Annotated[UUID, Field(description="ID отчёта")],
|
|
75
|
+
_request_timeout: Union[
|
|
76
|
+
None,
|
|
77
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
78
|
+
Tuple[
|
|
79
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
80
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
81
|
+
]
|
|
82
|
+
] = None,
|
|
83
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
84
|
+
_content_type: Optional[StrictStr] = None,
|
|
85
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
86
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
87
|
+
) -> bytearray:
|
|
88
|
+
"""Получить отчёт
|
|
89
|
+
|
|
90
|
+
Метод возвращает отчёт с расширенной аналитикой продавца по ID [задания на генерацию](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/post). <br><br> Можно получить отчёт, который сгенерирован за последние 48 часов.<br>Отчёт будет загружен внутри архива ZIP в формате CSV. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
91
|
+
|
|
92
|
+
:param download_id: ID отчёта (required)
|
|
93
|
+
:type download_id: UUID
|
|
94
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
95
|
+
number provided, it will be total request
|
|
96
|
+
timeout. It can also be a pair (tuple) of
|
|
97
|
+
(connection, read) timeouts.
|
|
98
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
99
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
100
|
+
request; this effectively ignores the
|
|
101
|
+
authentication in the spec for a single request.
|
|
102
|
+
:type _request_auth: dict, optional
|
|
103
|
+
:param _content_type: force content-type for the request.
|
|
104
|
+
:type _content_type: str, Optional
|
|
105
|
+
:param _headers: set to override the headers for a single
|
|
106
|
+
request; this effectively ignores the headers
|
|
107
|
+
in the spec for a single request.
|
|
108
|
+
:type _headers: dict, optional
|
|
109
|
+
:param _host_index: set to override the host_index for a single
|
|
110
|
+
request; this effectively ignores the host_index
|
|
111
|
+
in the spec for a single request.
|
|
112
|
+
:type _host_index: int, optional
|
|
113
|
+
:return: Returns the result object.
|
|
114
|
+
""" # noqa: E501
|
|
115
|
+
|
|
116
|
+
_param = self._api_v2_nm_report_downloads_file_download_id_get_serialize(
|
|
117
|
+
download_id=download_id,
|
|
118
|
+
_request_auth=_request_auth,
|
|
119
|
+
_content_type=_content_type,
|
|
120
|
+
_headers=_headers,
|
|
121
|
+
_host_index=_host_index
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
125
|
+
'200': "bytearray",
|
|
126
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
127
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
128
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
129
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
130
|
+
}
|
|
131
|
+
response_data = self.api_client.call_api(
|
|
132
|
+
*_param,
|
|
133
|
+
_request_timeout=_request_timeout
|
|
134
|
+
)
|
|
135
|
+
response_data.read()
|
|
136
|
+
return self.api_client.response_deserialize(
|
|
137
|
+
response_data=response_data,
|
|
138
|
+
response_types_map=_response_types_map,
|
|
139
|
+
).data
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
@validate_call
|
|
143
|
+
def api_v2_nm_report_downloads_file_download_id_get_with_http_info(
|
|
144
|
+
self,
|
|
145
|
+
download_id: Annotated[UUID, Field(description="ID отчёта")],
|
|
146
|
+
_request_timeout: Union[
|
|
147
|
+
None,
|
|
148
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
149
|
+
Tuple[
|
|
150
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
151
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
152
|
+
]
|
|
153
|
+
] = None,
|
|
154
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
155
|
+
_content_type: Optional[StrictStr] = None,
|
|
156
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
157
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
158
|
+
) -> ApiResponse[bytearray]:
|
|
159
|
+
"""Получить отчёт
|
|
160
|
+
|
|
161
|
+
Метод возвращает отчёт с расширенной аналитикой продавца по ID [задания на генерацию](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/post). <br><br> Можно получить отчёт, который сгенерирован за последние 48 часов.<br>Отчёт будет загружен внутри архива ZIP в формате CSV. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
162
|
+
|
|
163
|
+
:param download_id: ID отчёта (required)
|
|
164
|
+
:type download_id: UUID
|
|
165
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
166
|
+
number provided, it will be total request
|
|
167
|
+
timeout. It can also be a pair (tuple) of
|
|
168
|
+
(connection, read) timeouts.
|
|
169
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
170
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
171
|
+
request; this effectively ignores the
|
|
172
|
+
authentication in the spec for a single request.
|
|
173
|
+
:type _request_auth: dict, optional
|
|
174
|
+
:param _content_type: force content-type for the request.
|
|
175
|
+
:type _content_type: str, Optional
|
|
176
|
+
:param _headers: set to override the headers for a single
|
|
177
|
+
request; this effectively ignores the headers
|
|
178
|
+
in the spec for a single request.
|
|
179
|
+
:type _headers: dict, optional
|
|
180
|
+
:param _host_index: set to override the host_index for a single
|
|
181
|
+
request; this effectively ignores the host_index
|
|
182
|
+
in the spec for a single request.
|
|
183
|
+
:type _host_index: int, optional
|
|
184
|
+
:return: Returns the result object.
|
|
185
|
+
""" # noqa: E501
|
|
186
|
+
|
|
187
|
+
_param = self._api_v2_nm_report_downloads_file_download_id_get_serialize(
|
|
188
|
+
download_id=download_id,
|
|
189
|
+
_request_auth=_request_auth,
|
|
190
|
+
_content_type=_content_type,
|
|
191
|
+
_headers=_headers,
|
|
192
|
+
_host_index=_host_index
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
196
|
+
'200': "bytearray",
|
|
197
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
198
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
199
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
200
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
201
|
+
}
|
|
202
|
+
response_data = self.api_client.call_api(
|
|
203
|
+
*_param,
|
|
204
|
+
_request_timeout=_request_timeout
|
|
205
|
+
)
|
|
206
|
+
response_data.read()
|
|
207
|
+
return self.api_client.response_deserialize(
|
|
208
|
+
response_data=response_data,
|
|
209
|
+
response_types_map=_response_types_map,
|
|
210
|
+
)
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
@validate_call
|
|
214
|
+
def api_v2_nm_report_downloads_file_download_id_get_without_preload_content(
|
|
215
|
+
self,
|
|
216
|
+
download_id: Annotated[UUID, Field(description="ID отчёта")],
|
|
217
|
+
_request_timeout: Union[
|
|
218
|
+
None,
|
|
219
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
220
|
+
Tuple[
|
|
221
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
222
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
223
|
+
]
|
|
224
|
+
] = None,
|
|
225
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
226
|
+
_content_type: Optional[StrictStr] = None,
|
|
227
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
228
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
229
|
+
) -> RESTResponseType:
|
|
230
|
+
"""Получить отчёт
|
|
231
|
+
|
|
232
|
+
Метод возвращает отчёт с расширенной аналитикой продавца по ID [задания на генерацию](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/post). <br><br> Можно получить отчёт, который сгенерирован за последние 48 часов.<br>Отчёт будет загружен внутри архива ZIP в формате CSV. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
233
|
+
|
|
234
|
+
:param download_id: ID отчёта (required)
|
|
235
|
+
:type download_id: UUID
|
|
236
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
237
|
+
number provided, it will be total request
|
|
238
|
+
timeout. It can also be a pair (tuple) of
|
|
239
|
+
(connection, read) timeouts.
|
|
240
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
241
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
242
|
+
request; this effectively ignores the
|
|
243
|
+
authentication in the spec for a single request.
|
|
244
|
+
:type _request_auth: dict, optional
|
|
245
|
+
:param _content_type: force content-type for the request.
|
|
246
|
+
:type _content_type: str, Optional
|
|
247
|
+
:param _headers: set to override the headers for a single
|
|
248
|
+
request; this effectively ignores the headers
|
|
249
|
+
in the spec for a single request.
|
|
250
|
+
:type _headers: dict, optional
|
|
251
|
+
:param _host_index: set to override the host_index for a single
|
|
252
|
+
request; this effectively ignores the host_index
|
|
253
|
+
in the spec for a single request.
|
|
254
|
+
:type _host_index: int, optional
|
|
255
|
+
:return: Returns the result object.
|
|
256
|
+
""" # noqa: E501
|
|
257
|
+
|
|
258
|
+
_param = self._api_v2_nm_report_downloads_file_download_id_get_serialize(
|
|
259
|
+
download_id=download_id,
|
|
260
|
+
_request_auth=_request_auth,
|
|
261
|
+
_content_type=_content_type,
|
|
262
|
+
_headers=_headers,
|
|
263
|
+
_host_index=_host_index
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
267
|
+
'200': "bytearray",
|
|
268
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
269
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
270
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
271
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
272
|
+
}
|
|
273
|
+
response_data = self.api_client.call_api(
|
|
274
|
+
*_param,
|
|
275
|
+
_request_timeout=_request_timeout
|
|
276
|
+
)
|
|
277
|
+
return response_data.response
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
def _api_v2_nm_report_downloads_file_download_id_get_serialize(
|
|
281
|
+
self,
|
|
282
|
+
download_id,
|
|
283
|
+
_request_auth,
|
|
284
|
+
_content_type,
|
|
285
|
+
_headers,
|
|
286
|
+
_host_index,
|
|
287
|
+
) -> RequestSerialized:
|
|
288
|
+
|
|
289
|
+
_hosts = [
|
|
290
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
291
|
+
]
|
|
292
|
+
_host = _hosts[_host_index]
|
|
293
|
+
|
|
294
|
+
_collection_formats: Dict[str, str] = {
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
_path_params: Dict[str, str] = {}
|
|
298
|
+
_query_params: List[Tuple[str, str]] = []
|
|
299
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
300
|
+
_form_params: List[Tuple[str, str]] = []
|
|
301
|
+
_files: Dict[
|
|
302
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
303
|
+
] = {}
|
|
304
|
+
_body_params: Optional[bytes] = None
|
|
305
|
+
|
|
306
|
+
# process the path parameters
|
|
307
|
+
if download_id is not None:
|
|
308
|
+
_path_params['downloadId'] = download_id
|
|
309
|
+
# process the query parameters
|
|
310
|
+
# process the header parameters
|
|
311
|
+
# process the form parameters
|
|
312
|
+
# process the body parameter
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
# set the HTTP header `Accept`
|
|
316
|
+
if 'Accept' not in _header_params:
|
|
317
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
318
|
+
[
|
|
319
|
+
'application/zip',
|
|
320
|
+
'application/json'
|
|
321
|
+
]
|
|
322
|
+
)
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
# authentication setting
|
|
326
|
+
_auth_settings: List[str] = [
|
|
327
|
+
'HeaderApiKey'
|
|
328
|
+
]
|
|
329
|
+
|
|
330
|
+
return self.api_client.param_serialize(
|
|
331
|
+
method='GET',
|
|
332
|
+
resource_path='/api/v2/nm-report/downloads/file/{downloadId}',
|
|
333
|
+
path_params=_path_params,
|
|
334
|
+
query_params=_query_params,
|
|
335
|
+
header_params=_header_params,
|
|
336
|
+
body=_body_params,
|
|
337
|
+
post_params=_form_params,
|
|
338
|
+
files=_files,
|
|
339
|
+
auth_settings=_auth_settings,
|
|
340
|
+
collection_formats=_collection_formats,
|
|
341
|
+
_host=_host,
|
|
342
|
+
_request_auth=_request_auth
|
|
343
|
+
)
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
@validate_call
|
|
349
|
+
def api_v2_nm_report_downloads_get(
|
|
350
|
+
self,
|
|
351
|
+
filter_download_ids: Annotated[Optional[List[UUID]], Field(description="ID отчёта")] = None,
|
|
352
|
+
_request_timeout: Union[
|
|
353
|
+
None,
|
|
354
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
355
|
+
Tuple[
|
|
356
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
357
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
358
|
+
]
|
|
359
|
+
] = None,
|
|
360
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
361
|
+
_content_type: Optional[StrictStr] = None,
|
|
362
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
363
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
364
|
+
) -> NmReportGetReportsResponse:
|
|
365
|
+
"""Получить список отчётов
|
|
366
|
+
|
|
367
|
+
Метод возвращает список отчётов с расширенной аналитикой продавца. Ответ содержит ID [созданных отчётов](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/post) и статусы генерации. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
368
|
+
|
|
369
|
+
:param filter_download_ids: ID отчёта
|
|
370
|
+
:type filter_download_ids: List[UUID]
|
|
371
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
372
|
+
number provided, it will be total request
|
|
373
|
+
timeout. It can also be a pair (tuple) of
|
|
374
|
+
(connection, read) timeouts.
|
|
375
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
376
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
377
|
+
request; this effectively ignores the
|
|
378
|
+
authentication in the spec for a single request.
|
|
379
|
+
:type _request_auth: dict, optional
|
|
380
|
+
:param _content_type: force content-type for the request.
|
|
381
|
+
:type _content_type: str, Optional
|
|
382
|
+
:param _headers: set to override the headers for a single
|
|
383
|
+
request; this effectively ignores the headers
|
|
384
|
+
in the spec for a single request.
|
|
385
|
+
:type _headers: dict, optional
|
|
386
|
+
:param _host_index: set to override the host_index for a single
|
|
387
|
+
request; this effectively ignores the host_index
|
|
388
|
+
in the spec for a single request.
|
|
389
|
+
:type _host_index: int, optional
|
|
390
|
+
:return: Returns the result object.
|
|
391
|
+
""" # noqa: E501
|
|
392
|
+
|
|
393
|
+
_param = self._api_v2_nm_report_downloads_get_serialize(
|
|
394
|
+
filter_download_ids=filter_download_ids,
|
|
395
|
+
_request_auth=_request_auth,
|
|
396
|
+
_content_type=_content_type,
|
|
397
|
+
_headers=_headers,
|
|
398
|
+
_host_index=_host_index
|
|
399
|
+
)
|
|
400
|
+
|
|
401
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
402
|
+
'200': "NmReportGetReportsResponse",
|
|
403
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
404
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
405
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
406
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
407
|
+
}
|
|
408
|
+
response_data = self.api_client.call_api(
|
|
409
|
+
*_param,
|
|
410
|
+
_request_timeout=_request_timeout
|
|
411
|
+
)
|
|
412
|
+
response_data.read()
|
|
413
|
+
return self.api_client.response_deserialize(
|
|
414
|
+
response_data=response_data,
|
|
415
|
+
response_types_map=_response_types_map,
|
|
416
|
+
).data
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
@validate_call
|
|
420
|
+
def api_v2_nm_report_downloads_get_with_http_info(
|
|
421
|
+
self,
|
|
422
|
+
filter_download_ids: Annotated[Optional[List[UUID]], Field(description="ID отчёта")] = None,
|
|
423
|
+
_request_timeout: Union[
|
|
424
|
+
None,
|
|
425
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
426
|
+
Tuple[
|
|
427
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
428
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
429
|
+
]
|
|
430
|
+
] = None,
|
|
431
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
432
|
+
_content_type: Optional[StrictStr] = None,
|
|
433
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
434
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
435
|
+
) -> ApiResponse[NmReportGetReportsResponse]:
|
|
436
|
+
"""Получить список отчётов
|
|
437
|
+
|
|
438
|
+
Метод возвращает список отчётов с расширенной аналитикой продавца. Ответ содержит ID [созданных отчётов](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/post) и статусы генерации. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
439
|
+
|
|
440
|
+
:param filter_download_ids: ID отчёта
|
|
441
|
+
:type filter_download_ids: List[UUID]
|
|
442
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
443
|
+
number provided, it will be total request
|
|
444
|
+
timeout. It can also be a pair (tuple) of
|
|
445
|
+
(connection, read) timeouts.
|
|
446
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
447
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
448
|
+
request; this effectively ignores the
|
|
449
|
+
authentication in the spec for a single request.
|
|
450
|
+
:type _request_auth: dict, optional
|
|
451
|
+
:param _content_type: force content-type for the request.
|
|
452
|
+
:type _content_type: str, Optional
|
|
453
|
+
:param _headers: set to override the headers for a single
|
|
454
|
+
request; this effectively ignores the headers
|
|
455
|
+
in the spec for a single request.
|
|
456
|
+
:type _headers: dict, optional
|
|
457
|
+
:param _host_index: set to override the host_index for a single
|
|
458
|
+
request; this effectively ignores the host_index
|
|
459
|
+
in the spec for a single request.
|
|
460
|
+
:type _host_index: int, optional
|
|
461
|
+
:return: Returns the result object.
|
|
462
|
+
""" # noqa: E501
|
|
463
|
+
|
|
464
|
+
_param = self._api_v2_nm_report_downloads_get_serialize(
|
|
465
|
+
filter_download_ids=filter_download_ids,
|
|
466
|
+
_request_auth=_request_auth,
|
|
467
|
+
_content_type=_content_type,
|
|
468
|
+
_headers=_headers,
|
|
469
|
+
_host_index=_host_index
|
|
470
|
+
)
|
|
471
|
+
|
|
472
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
473
|
+
'200': "NmReportGetReportsResponse",
|
|
474
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
475
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
476
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
477
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
478
|
+
}
|
|
479
|
+
response_data = self.api_client.call_api(
|
|
480
|
+
*_param,
|
|
481
|
+
_request_timeout=_request_timeout
|
|
482
|
+
)
|
|
483
|
+
response_data.read()
|
|
484
|
+
return self.api_client.response_deserialize(
|
|
485
|
+
response_data=response_data,
|
|
486
|
+
response_types_map=_response_types_map,
|
|
487
|
+
)
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
@validate_call
|
|
491
|
+
def api_v2_nm_report_downloads_get_without_preload_content(
|
|
492
|
+
self,
|
|
493
|
+
filter_download_ids: Annotated[Optional[List[UUID]], Field(description="ID отчёта")] = None,
|
|
494
|
+
_request_timeout: Union[
|
|
495
|
+
None,
|
|
496
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
497
|
+
Tuple[
|
|
498
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
499
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
500
|
+
]
|
|
501
|
+
] = None,
|
|
502
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
503
|
+
_content_type: Optional[StrictStr] = None,
|
|
504
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
505
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
506
|
+
) -> RESTResponseType:
|
|
507
|
+
"""Получить список отчётов
|
|
508
|
+
|
|
509
|
+
Метод возвращает список отчётов с расширенной аналитикой продавца. Ответ содержит ID [созданных отчётов](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/post) и статусы генерации. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
510
|
+
|
|
511
|
+
:param filter_download_ids: ID отчёта
|
|
512
|
+
:type filter_download_ids: List[UUID]
|
|
513
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
514
|
+
number provided, it will be total request
|
|
515
|
+
timeout. It can also be a pair (tuple) of
|
|
516
|
+
(connection, read) timeouts.
|
|
517
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
518
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
519
|
+
request; this effectively ignores the
|
|
520
|
+
authentication in the spec for a single request.
|
|
521
|
+
:type _request_auth: dict, optional
|
|
522
|
+
:param _content_type: force content-type for the request.
|
|
523
|
+
:type _content_type: str, Optional
|
|
524
|
+
:param _headers: set to override the headers for a single
|
|
525
|
+
request; this effectively ignores the headers
|
|
526
|
+
in the spec for a single request.
|
|
527
|
+
:type _headers: dict, optional
|
|
528
|
+
:param _host_index: set to override the host_index for a single
|
|
529
|
+
request; this effectively ignores the host_index
|
|
530
|
+
in the spec for a single request.
|
|
531
|
+
:type _host_index: int, optional
|
|
532
|
+
:return: Returns the result object.
|
|
533
|
+
""" # noqa: E501
|
|
534
|
+
|
|
535
|
+
_param = self._api_v2_nm_report_downloads_get_serialize(
|
|
536
|
+
filter_download_ids=filter_download_ids,
|
|
537
|
+
_request_auth=_request_auth,
|
|
538
|
+
_content_type=_content_type,
|
|
539
|
+
_headers=_headers,
|
|
540
|
+
_host_index=_host_index
|
|
541
|
+
)
|
|
542
|
+
|
|
543
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
544
|
+
'200': "NmReportGetReportsResponse",
|
|
545
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
546
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
547
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
548
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
549
|
+
}
|
|
550
|
+
response_data = self.api_client.call_api(
|
|
551
|
+
*_param,
|
|
552
|
+
_request_timeout=_request_timeout
|
|
553
|
+
)
|
|
554
|
+
return response_data.response
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
def _api_v2_nm_report_downloads_get_serialize(
|
|
558
|
+
self,
|
|
559
|
+
filter_download_ids,
|
|
560
|
+
_request_auth,
|
|
561
|
+
_content_type,
|
|
562
|
+
_headers,
|
|
563
|
+
_host_index,
|
|
564
|
+
) -> RequestSerialized:
|
|
565
|
+
|
|
566
|
+
_hosts = [
|
|
567
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
568
|
+
]
|
|
569
|
+
_host = _hosts[_host_index]
|
|
570
|
+
|
|
571
|
+
_collection_formats: Dict[str, str] = {
|
|
572
|
+
'filter[downloadIds]': 'multi',
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
_path_params: Dict[str, str] = {}
|
|
576
|
+
_query_params: List[Tuple[str, str]] = []
|
|
577
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
578
|
+
_form_params: List[Tuple[str, str]] = []
|
|
579
|
+
_files: Dict[
|
|
580
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
581
|
+
] = {}
|
|
582
|
+
_body_params: Optional[bytes] = None
|
|
583
|
+
|
|
584
|
+
# process the path parameters
|
|
585
|
+
# process the query parameters
|
|
586
|
+
if filter_download_ids is not None:
|
|
587
|
+
|
|
588
|
+
_query_params.append(('filter[downloadIds]', filter_download_ids))
|
|
589
|
+
|
|
590
|
+
# process the header parameters
|
|
591
|
+
# process the form parameters
|
|
592
|
+
# process the body parameter
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
# set the HTTP header `Accept`
|
|
596
|
+
if 'Accept' not in _header_params:
|
|
597
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
598
|
+
[
|
|
599
|
+
'application/json'
|
|
600
|
+
]
|
|
601
|
+
)
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
# authentication setting
|
|
605
|
+
_auth_settings: List[str] = [
|
|
606
|
+
'HeaderApiKey'
|
|
607
|
+
]
|
|
608
|
+
|
|
609
|
+
return self.api_client.param_serialize(
|
|
610
|
+
method='GET',
|
|
611
|
+
resource_path='/api/v2/nm-report/downloads',
|
|
612
|
+
path_params=_path_params,
|
|
613
|
+
query_params=_query_params,
|
|
614
|
+
header_params=_header_params,
|
|
615
|
+
body=_body_params,
|
|
616
|
+
post_params=_form_params,
|
|
617
|
+
files=_files,
|
|
618
|
+
auth_settings=_auth_settings,
|
|
619
|
+
collection_formats=_collection_formats,
|
|
620
|
+
_host=_host,
|
|
621
|
+
_request_auth=_request_auth
|
|
622
|
+
)
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
@validate_call
|
|
628
|
+
def api_v2_nm_report_downloads_post(
|
|
629
|
+
self,
|
|
630
|
+
api_v2_nm_report_downloads_post_request: Optional[ApiV2NmReportDownloadsPostRequest] = None,
|
|
631
|
+
_request_timeout: Union[
|
|
632
|
+
None,
|
|
633
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
634
|
+
Tuple[
|
|
635
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
636
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
637
|
+
]
|
|
638
|
+
] = None,
|
|
639
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
640
|
+
_content_type: Optional[StrictStr] = None,
|
|
641
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
642
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
643
|
+
) -> NmReportCreateReportResponse:
|
|
644
|
+
"""Создать отчёт
|
|
645
|
+
|
|
646
|
+
Метод создаёт задание на генерацию отчёта с расширенной аналитикой продавца.<br><br> Вы можете создать CSV-версии отчётов по [воронке продаж](/openapi/analytics#tag/Voronka-prodazh) или [параметрам поиска](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram) с группировкой по: * артикулам WB * предметам, брендам и ярлыкам В отчётах по воронке продаж можно группировать данные по дням, неделям или месяцам.<br><br> Также можете создать CSV-версии отчётов по [текстам поисковых запросов](/openapi/analytics#tag/Poiskovye-zaprosy/paths/~1api~1v2~1search-report~1product~1search-texts/post) и [истории остатков](/openapi/analytics#tag/Istoriya-ostatkov).<br><br> Набор параметров запроса в объекте `params` зависит от типа отчёта. Чтобы получить описание параметров, выберите тип отчёта в раскрывающемся списке в описании параметра `reportType`.<br><br> Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`.<br><br> Если не удалось [получить отчёт](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads~1file~1%7BdownloadId%7D/get), можно создать [повторное задание на генерацию](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads~1retry/post). Также можно [получить список и проверить статусы](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/get) отчётов. <div class=\"description_important\"> Отчёт по <a href=\"https://seller.wildberries.ru/content-analytics/history-remains\">истории остатков</a> — тип <code>STOCK_HISTORY_REPORT_CSV</code> — можно создать без подписки <a href=\"https://seller.wildberries.ru/monetization/jam\">Джем</a> </div> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
647
|
+
|
|
648
|
+
:param api_v2_nm_report_downloads_post_request:
|
|
649
|
+
:type api_v2_nm_report_downloads_post_request: ApiV2NmReportDownloadsPostRequest
|
|
650
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
651
|
+
number provided, it will be total request
|
|
652
|
+
timeout. It can also be a pair (tuple) of
|
|
653
|
+
(connection, read) timeouts.
|
|
654
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
655
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
656
|
+
request; this effectively ignores the
|
|
657
|
+
authentication in the spec for a single request.
|
|
658
|
+
:type _request_auth: dict, optional
|
|
659
|
+
:param _content_type: force content-type for the request.
|
|
660
|
+
:type _content_type: str, Optional
|
|
661
|
+
:param _headers: set to override the headers for a single
|
|
662
|
+
request; this effectively ignores the headers
|
|
663
|
+
in the spec for a single request.
|
|
664
|
+
:type _headers: dict, optional
|
|
665
|
+
:param _host_index: set to override the host_index for a single
|
|
666
|
+
request; this effectively ignores the host_index
|
|
667
|
+
in the spec for a single request.
|
|
668
|
+
:type _host_index: int, optional
|
|
669
|
+
:return: Returns the result object.
|
|
670
|
+
""" # noqa: E501
|
|
671
|
+
|
|
672
|
+
_param = self._api_v2_nm_report_downloads_post_serialize(
|
|
673
|
+
api_v2_nm_report_downloads_post_request=api_v2_nm_report_downloads_post_request,
|
|
674
|
+
_request_auth=_request_auth,
|
|
675
|
+
_content_type=_content_type,
|
|
676
|
+
_headers=_headers,
|
|
677
|
+
_host_index=_host_index
|
|
678
|
+
)
|
|
679
|
+
|
|
680
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
681
|
+
'200': "NmReportCreateReportResponse",
|
|
682
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
683
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
684
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
685
|
+
'429': "ApiV2NmReportDownloadsPost429Response",
|
|
686
|
+
}
|
|
687
|
+
response_data = self.api_client.call_api(
|
|
688
|
+
*_param,
|
|
689
|
+
_request_timeout=_request_timeout
|
|
690
|
+
)
|
|
691
|
+
response_data.read()
|
|
692
|
+
return self.api_client.response_deserialize(
|
|
693
|
+
response_data=response_data,
|
|
694
|
+
response_types_map=_response_types_map,
|
|
695
|
+
).data
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
@validate_call
|
|
699
|
+
def api_v2_nm_report_downloads_post_with_http_info(
|
|
700
|
+
self,
|
|
701
|
+
api_v2_nm_report_downloads_post_request: Optional[ApiV2NmReportDownloadsPostRequest] = None,
|
|
702
|
+
_request_timeout: Union[
|
|
703
|
+
None,
|
|
704
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
705
|
+
Tuple[
|
|
706
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
707
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
708
|
+
]
|
|
709
|
+
] = None,
|
|
710
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
711
|
+
_content_type: Optional[StrictStr] = None,
|
|
712
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
713
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
714
|
+
) -> ApiResponse[NmReportCreateReportResponse]:
|
|
715
|
+
"""Создать отчёт
|
|
716
|
+
|
|
717
|
+
Метод создаёт задание на генерацию отчёта с расширенной аналитикой продавца.<br><br> Вы можете создать CSV-версии отчётов по [воронке продаж](/openapi/analytics#tag/Voronka-prodazh) или [параметрам поиска](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram) с группировкой по: * артикулам WB * предметам, брендам и ярлыкам В отчётах по воронке продаж можно группировать данные по дням, неделям или месяцам.<br><br> Также можете создать CSV-версии отчётов по [текстам поисковых запросов](/openapi/analytics#tag/Poiskovye-zaprosy/paths/~1api~1v2~1search-report~1product~1search-texts/post) и [истории остатков](/openapi/analytics#tag/Istoriya-ostatkov).<br><br> Набор параметров запроса в объекте `params` зависит от типа отчёта. Чтобы получить описание параметров, выберите тип отчёта в раскрывающемся списке в описании параметра `reportType`.<br><br> Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`.<br><br> Если не удалось [получить отчёт](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads~1file~1%7BdownloadId%7D/get), можно создать [повторное задание на генерацию](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads~1retry/post). Также можно [получить список и проверить статусы](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/get) отчётов. <div class=\"description_important\"> Отчёт по <a href=\"https://seller.wildberries.ru/content-analytics/history-remains\">истории остатков</a> — тип <code>STOCK_HISTORY_REPORT_CSV</code> — можно создать без подписки <a href=\"https://seller.wildberries.ru/monetization/jam\">Джем</a> </div> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
718
|
+
|
|
719
|
+
:param api_v2_nm_report_downloads_post_request:
|
|
720
|
+
:type api_v2_nm_report_downloads_post_request: ApiV2NmReportDownloadsPostRequest
|
|
721
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
722
|
+
number provided, it will be total request
|
|
723
|
+
timeout. It can also be a pair (tuple) of
|
|
724
|
+
(connection, read) timeouts.
|
|
725
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
726
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
727
|
+
request; this effectively ignores the
|
|
728
|
+
authentication in the spec for a single request.
|
|
729
|
+
:type _request_auth: dict, optional
|
|
730
|
+
:param _content_type: force content-type for the request.
|
|
731
|
+
:type _content_type: str, Optional
|
|
732
|
+
:param _headers: set to override the headers for a single
|
|
733
|
+
request; this effectively ignores the headers
|
|
734
|
+
in the spec for a single request.
|
|
735
|
+
:type _headers: dict, optional
|
|
736
|
+
:param _host_index: set to override the host_index for a single
|
|
737
|
+
request; this effectively ignores the host_index
|
|
738
|
+
in the spec for a single request.
|
|
739
|
+
:type _host_index: int, optional
|
|
740
|
+
:return: Returns the result object.
|
|
741
|
+
""" # noqa: E501
|
|
742
|
+
|
|
743
|
+
_param = self._api_v2_nm_report_downloads_post_serialize(
|
|
744
|
+
api_v2_nm_report_downloads_post_request=api_v2_nm_report_downloads_post_request,
|
|
745
|
+
_request_auth=_request_auth,
|
|
746
|
+
_content_type=_content_type,
|
|
747
|
+
_headers=_headers,
|
|
748
|
+
_host_index=_host_index
|
|
749
|
+
)
|
|
750
|
+
|
|
751
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
752
|
+
'200': "NmReportCreateReportResponse",
|
|
753
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
754
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
755
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
756
|
+
'429': "ApiV2NmReportDownloadsPost429Response",
|
|
757
|
+
}
|
|
758
|
+
response_data = self.api_client.call_api(
|
|
759
|
+
*_param,
|
|
760
|
+
_request_timeout=_request_timeout
|
|
761
|
+
)
|
|
762
|
+
response_data.read()
|
|
763
|
+
return self.api_client.response_deserialize(
|
|
764
|
+
response_data=response_data,
|
|
765
|
+
response_types_map=_response_types_map,
|
|
766
|
+
)
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
@validate_call
|
|
770
|
+
def api_v2_nm_report_downloads_post_without_preload_content(
|
|
771
|
+
self,
|
|
772
|
+
api_v2_nm_report_downloads_post_request: Optional[ApiV2NmReportDownloadsPostRequest] = None,
|
|
773
|
+
_request_timeout: Union[
|
|
774
|
+
None,
|
|
775
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
776
|
+
Tuple[
|
|
777
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
778
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
779
|
+
]
|
|
780
|
+
] = None,
|
|
781
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
782
|
+
_content_type: Optional[StrictStr] = None,
|
|
783
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
784
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
785
|
+
) -> RESTResponseType:
|
|
786
|
+
"""Создать отчёт
|
|
787
|
+
|
|
788
|
+
Метод создаёт задание на генерацию отчёта с расширенной аналитикой продавца.<br><br> Вы можете создать CSV-версии отчётов по [воронке продаж](/openapi/analytics#tag/Voronka-prodazh) или [параметрам поиска](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram) с группировкой по: * артикулам WB * предметам, брендам и ярлыкам В отчётах по воронке продаж можно группировать данные по дням, неделям или месяцам.<br><br> Также можете создать CSV-версии отчётов по [текстам поисковых запросов](/openapi/analytics#tag/Poiskovye-zaprosy/paths/~1api~1v2~1search-report~1product~1search-texts/post) и [истории остатков](/openapi/analytics#tag/Istoriya-ostatkov).<br><br> Набор параметров запроса в объекте `params` зависит от типа отчёта. Чтобы получить описание параметров, выберите тип отчёта в раскрывающемся списке в описании параметра `reportType`.<br><br> Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`.<br><br> Если не удалось [получить отчёт](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads~1file~1%7BdownloadId%7D/get), можно создать [повторное задание на генерацию](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads~1retry/post). Также можно [получить список и проверить статусы](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/get) отчётов. <div class=\"description_important\"> Отчёт по <a href=\"https://seller.wildberries.ru/content-analytics/history-remains\">истории остатков</a> — тип <code>STOCK_HISTORY_REPORT_CSV</code> — можно создать без подписки <a href=\"https://seller.wildberries.ru/monetization/jam\">Джем</a> </div> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
789
|
+
|
|
790
|
+
:param api_v2_nm_report_downloads_post_request:
|
|
791
|
+
:type api_v2_nm_report_downloads_post_request: ApiV2NmReportDownloadsPostRequest
|
|
792
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
793
|
+
number provided, it will be total request
|
|
794
|
+
timeout. It can also be a pair (tuple) of
|
|
795
|
+
(connection, read) timeouts.
|
|
796
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
797
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
798
|
+
request; this effectively ignores the
|
|
799
|
+
authentication in the spec for a single request.
|
|
800
|
+
:type _request_auth: dict, optional
|
|
801
|
+
:param _content_type: force content-type for the request.
|
|
802
|
+
:type _content_type: str, Optional
|
|
803
|
+
:param _headers: set to override the headers for a single
|
|
804
|
+
request; this effectively ignores the headers
|
|
805
|
+
in the spec for a single request.
|
|
806
|
+
:type _headers: dict, optional
|
|
807
|
+
:param _host_index: set to override the host_index for a single
|
|
808
|
+
request; this effectively ignores the host_index
|
|
809
|
+
in the spec for a single request.
|
|
810
|
+
:type _host_index: int, optional
|
|
811
|
+
:return: Returns the result object.
|
|
812
|
+
""" # noqa: E501
|
|
813
|
+
|
|
814
|
+
_param = self._api_v2_nm_report_downloads_post_serialize(
|
|
815
|
+
api_v2_nm_report_downloads_post_request=api_v2_nm_report_downloads_post_request,
|
|
816
|
+
_request_auth=_request_auth,
|
|
817
|
+
_content_type=_content_type,
|
|
818
|
+
_headers=_headers,
|
|
819
|
+
_host_index=_host_index
|
|
820
|
+
)
|
|
821
|
+
|
|
822
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
823
|
+
'200': "NmReportCreateReportResponse",
|
|
824
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
825
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
826
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
827
|
+
'429': "ApiV2NmReportDownloadsPost429Response",
|
|
828
|
+
}
|
|
829
|
+
response_data = self.api_client.call_api(
|
|
830
|
+
*_param,
|
|
831
|
+
_request_timeout=_request_timeout
|
|
832
|
+
)
|
|
833
|
+
return response_data.response
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
def _api_v2_nm_report_downloads_post_serialize(
|
|
837
|
+
self,
|
|
838
|
+
api_v2_nm_report_downloads_post_request,
|
|
839
|
+
_request_auth,
|
|
840
|
+
_content_type,
|
|
841
|
+
_headers,
|
|
842
|
+
_host_index,
|
|
843
|
+
) -> RequestSerialized:
|
|
844
|
+
|
|
845
|
+
_hosts = [
|
|
846
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
847
|
+
]
|
|
848
|
+
_host = _hosts[_host_index]
|
|
849
|
+
|
|
850
|
+
_collection_formats: Dict[str, str] = {
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
_path_params: Dict[str, str] = {}
|
|
854
|
+
_query_params: List[Tuple[str, str]] = []
|
|
855
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
856
|
+
_form_params: List[Tuple[str, str]] = []
|
|
857
|
+
_files: Dict[
|
|
858
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
859
|
+
] = {}
|
|
860
|
+
_body_params: Optional[bytes] = None
|
|
861
|
+
|
|
862
|
+
# process the path parameters
|
|
863
|
+
# process the query parameters
|
|
864
|
+
# process the header parameters
|
|
865
|
+
# process the form parameters
|
|
866
|
+
# process the body parameter
|
|
867
|
+
if api_v2_nm_report_downloads_post_request is not None:
|
|
868
|
+
_body_params = api_v2_nm_report_downloads_post_request
|
|
869
|
+
|
|
870
|
+
|
|
871
|
+
# set the HTTP header `Accept`
|
|
872
|
+
if 'Accept' not in _header_params:
|
|
873
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
874
|
+
[
|
|
875
|
+
'application/json'
|
|
876
|
+
]
|
|
877
|
+
)
|
|
878
|
+
|
|
879
|
+
# set the HTTP header `Content-Type`
|
|
880
|
+
if _content_type:
|
|
881
|
+
_header_params['Content-Type'] = _content_type
|
|
882
|
+
else:
|
|
883
|
+
_default_content_type = (
|
|
884
|
+
self.api_client.select_header_content_type(
|
|
885
|
+
[
|
|
886
|
+
'application/json'
|
|
887
|
+
]
|
|
888
|
+
)
|
|
889
|
+
)
|
|
890
|
+
if _default_content_type is not None:
|
|
891
|
+
_header_params['Content-Type'] = _default_content_type
|
|
892
|
+
|
|
893
|
+
# authentication setting
|
|
894
|
+
_auth_settings: List[str] = [
|
|
895
|
+
'HeaderApiKey'
|
|
896
|
+
]
|
|
897
|
+
|
|
898
|
+
return self.api_client.param_serialize(
|
|
899
|
+
method='POST',
|
|
900
|
+
resource_path='/api/v2/nm-report/downloads',
|
|
901
|
+
path_params=_path_params,
|
|
902
|
+
query_params=_query_params,
|
|
903
|
+
header_params=_header_params,
|
|
904
|
+
body=_body_params,
|
|
905
|
+
post_params=_form_params,
|
|
906
|
+
files=_files,
|
|
907
|
+
auth_settings=_auth_settings,
|
|
908
|
+
collection_formats=_collection_formats,
|
|
909
|
+
_host=_host,
|
|
910
|
+
_request_auth=_request_auth
|
|
911
|
+
)
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
@validate_call
|
|
917
|
+
def api_v2_nm_report_downloads_retry_post(
|
|
918
|
+
self,
|
|
919
|
+
nm_report_retry_report_request: NmReportRetryReportRequest,
|
|
920
|
+
_request_timeout: Union[
|
|
921
|
+
None,
|
|
922
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
923
|
+
Tuple[
|
|
924
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
925
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
926
|
+
]
|
|
927
|
+
] = None,
|
|
928
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
929
|
+
_content_type: Optional[StrictStr] = None,
|
|
930
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
931
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
932
|
+
) -> NmReportRetryReportResponse:
|
|
933
|
+
"""Сгенерировать отчёт повторно
|
|
934
|
+
|
|
935
|
+
Метод создает повторное [задание на генерацию](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/post) отчёта с расширенной аналитикой продавца. Необходимо, если при генерации отчёта вы [получили статус](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/get) `FAILED`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
936
|
+
|
|
937
|
+
:param nm_report_retry_report_request: (required)
|
|
938
|
+
:type nm_report_retry_report_request: NmReportRetryReportRequest
|
|
939
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
940
|
+
number provided, it will be total request
|
|
941
|
+
timeout. It can also be a pair (tuple) of
|
|
942
|
+
(connection, read) timeouts.
|
|
943
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
944
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
945
|
+
request; this effectively ignores the
|
|
946
|
+
authentication in the spec for a single request.
|
|
947
|
+
:type _request_auth: dict, optional
|
|
948
|
+
:param _content_type: force content-type for the request.
|
|
949
|
+
:type _content_type: str, Optional
|
|
950
|
+
:param _headers: set to override the headers for a single
|
|
951
|
+
request; this effectively ignores the headers
|
|
952
|
+
in the spec for a single request.
|
|
953
|
+
:type _headers: dict, optional
|
|
954
|
+
:param _host_index: set to override the host_index for a single
|
|
955
|
+
request; this effectively ignores the host_index
|
|
956
|
+
in the spec for a single request.
|
|
957
|
+
:type _host_index: int, optional
|
|
958
|
+
:return: Returns the result object.
|
|
959
|
+
""" # noqa: E501
|
|
960
|
+
|
|
961
|
+
_param = self._api_v2_nm_report_downloads_retry_post_serialize(
|
|
962
|
+
nm_report_retry_report_request=nm_report_retry_report_request,
|
|
963
|
+
_request_auth=_request_auth,
|
|
964
|
+
_content_type=_content_type,
|
|
965
|
+
_headers=_headers,
|
|
966
|
+
_host_index=_host_index
|
|
967
|
+
)
|
|
968
|
+
|
|
969
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
970
|
+
'200': "NmReportRetryReportResponse",
|
|
971
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
972
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
973
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
974
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
975
|
+
}
|
|
976
|
+
response_data = self.api_client.call_api(
|
|
977
|
+
*_param,
|
|
978
|
+
_request_timeout=_request_timeout
|
|
979
|
+
)
|
|
980
|
+
response_data.read()
|
|
981
|
+
return self.api_client.response_deserialize(
|
|
982
|
+
response_data=response_data,
|
|
983
|
+
response_types_map=_response_types_map,
|
|
984
|
+
).data
|
|
985
|
+
|
|
986
|
+
|
|
987
|
+
@validate_call
|
|
988
|
+
def api_v2_nm_report_downloads_retry_post_with_http_info(
|
|
989
|
+
self,
|
|
990
|
+
nm_report_retry_report_request: NmReportRetryReportRequest,
|
|
991
|
+
_request_timeout: Union[
|
|
992
|
+
None,
|
|
993
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
994
|
+
Tuple[
|
|
995
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
996
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
997
|
+
]
|
|
998
|
+
] = None,
|
|
999
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1000
|
+
_content_type: Optional[StrictStr] = None,
|
|
1001
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1002
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1003
|
+
) -> ApiResponse[NmReportRetryReportResponse]:
|
|
1004
|
+
"""Сгенерировать отчёт повторно
|
|
1005
|
+
|
|
1006
|
+
Метод создает повторное [задание на генерацию](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/post) отчёта с расширенной аналитикой продавца. Необходимо, если при генерации отчёта вы [получили статус](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/get) `FAILED`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1007
|
+
|
|
1008
|
+
:param nm_report_retry_report_request: (required)
|
|
1009
|
+
:type nm_report_retry_report_request: NmReportRetryReportRequest
|
|
1010
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1011
|
+
number provided, it will be total request
|
|
1012
|
+
timeout. It can also be a pair (tuple) of
|
|
1013
|
+
(connection, read) timeouts.
|
|
1014
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1015
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1016
|
+
request; this effectively ignores the
|
|
1017
|
+
authentication in the spec for a single request.
|
|
1018
|
+
:type _request_auth: dict, optional
|
|
1019
|
+
:param _content_type: force content-type for the request.
|
|
1020
|
+
:type _content_type: str, Optional
|
|
1021
|
+
:param _headers: set to override the headers for a single
|
|
1022
|
+
request; this effectively ignores the headers
|
|
1023
|
+
in the spec for a single request.
|
|
1024
|
+
:type _headers: dict, optional
|
|
1025
|
+
:param _host_index: set to override the host_index for a single
|
|
1026
|
+
request; this effectively ignores the host_index
|
|
1027
|
+
in the spec for a single request.
|
|
1028
|
+
:type _host_index: int, optional
|
|
1029
|
+
:return: Returns the result object.
|
|
1030
|
+
""" # noqa: E501
|
|
1031
|
+
|
|
1032
|
+
_param = self._api_v2_nm_report_downloads_retry_post_serialize(
|
|
1033
|
+
nm_report_retry_report_request=nm_report_retry_report_request,
|
|
1034
|
+
_request_auth=_request_auth,
|
|
1035
|
+
_content_type=_content_type,
|
|
1036
|
+
_headers=_headers,
|
|
1037
|
+
_host_index=_host_index
|
|
1038
|
+
)
|
|
1039
|
+
|
|
1040
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1041
|
+
'200': "NmReportRetryReportResponse",
|
|
1042
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
1043
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1044
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
1045
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1046
|
+
}
|
|
1047
|
+
response_data = self.api_client.call_api(
|
|
1048
|
+
*_param,
|
|
1049
|
+
_request_timeout=_request_timeout
|
|
1050
|
+
)
|
|
1051
|
+
response_data.read()
|
|
1052
|
+
return self.api_client.response_deserialize(
|
|
1053
|
+
response_data=response_data,
|
|
1054
|
+
response_types_map=_response_types_map,
|
|
1055
|
+
)
|
|
1056
|
+
|
|
1057
|
+
|
|
1058
|
+
@validate_call
|
|
1059
|
+
def api_v2_nm_report_downloads_retry_post_without_preload_content(
|
|
1060
|
+
self,
|
|
1061
|
+
nm_report_retry_report_request: NmReportRetryReportRequest,
|
|
1062
|
+
_request_timeout: Union[
|
|
1063
|
+
None,
|
|
1064
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1065
|
+
Tuple[
|
|
1066
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1067
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1068
|
+
]
|
|
1069
|
+
] = None,
|
|
1070
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1071
|
+
_content_type: Optional[StrictStr] = None,
|
|
1072
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1073
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1074
|
+
) -> RESTResponseType:
|
|
1075
|
+
"""Сгенерировать отчёт повторно
|
|
1076
|
+
|
|
1077
|
+
Метод создает повторное [задание на генерацию](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/post) отчёта с расширенной аналитикой продавца. Необходимо, если при генерации отчёта вы [получили статус](/openapi/analytics#tag/Analitika-prodavca-CSV/paths/~1api~1v2~1nm-report~1downloads/get) `FAILED`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1078
|
+
|
|
1079
|
+
:param nm_report_retry_report_request: (required)
|
|
1080
|
+
:type nm_report_retry_report_request: NmReportRetryReportRequest
|
|
1081
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1082
|
+
number provided, it will be total request
|
|
1083
|
+
timeout. It can also be a pair (tuple) of
|
|
1084
|
+
(connection, read) timeouts.
|
|
1085
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1086
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1087
|
+
request; this effectively ignores the
|
|
1088
|
+
authentication in the spec for a single request.
|
|
1089
|
+
:type _request_auth: dict, optional
|
|
1090
|
+
:param _content_type: force content-type for the request.
|
|
1091
|
+
:type _content_type: str, Optional
|
|
1092
|
+
:param _headers: set to override the headers for a single
|
|
1093
|
+
request; this effectively ignores the headers
|
|
1094
|
+
in the spec for a single request.
|
|
1095
|
+
:type _headers: dict, optional
|
|
1096
|
+
:param _host_index: set to override the host_index for a single
|
|
1097
|
+
request; this effectively ignores the host_index
|
|
1098
|
+
in the spec for a single request.
|
|
1099
|
+
:type _host_index: int, optional
|
|
1100
|
+
:return: Returns the result object.
|
|
1101
|
+
""" # noqa: E501
|
|
1102
|
+
|
|
1103
|
+
_param = self._api_v2_nm_report_downloads_retry_post_serialize(
|
|
1104
|
+
nm_report_retry_report_request=nm_report_retry_report_request,
|
|
1105
|
+
_request_auth=_request_auth,
|
|
1106
|
+
_content_type=_content_type,
|
|
1107
|
+
_headers=_headers,
|
|
1108
|
+
_host_index=_host_index
|
|
1109
|
+
)
|
|
1110
|
+
|
|
1111
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1112
|
+
'200': "NmReportRetryReportResponse",
|
|
1113
|
+
'400': "ApiV2NmReportDownloadsGet400Response",
|
|
1114
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1115
|
+
'403': "ApiV2NmReportDownloadsGet403Response",
|
|
1116
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1117
|
+
}
|
|
1118
|
+
response_data = self.api_client.call_api(
|
|
1119
|
+
*_param,
|
|
1120
|
+
_request_timeout=_request_timeout
|
|
1121
|
+
)
|
|
1122
|
+
return response_data.response
|
|
1123
|
+
|
|
1124
|
+
|
|
1125
|
+
def _api_v2_nm_report_downloads_retry_post_serialize(
|
|
1126
|
+
self,
|
|
1127
|
+
nm_report_retry_report_request,
|
|
1128
|
+
_request_auth,
|
|
1129
|
+
_content_type,
|
|
1130
|
+
_headers,
|
|
1131
|
+
_host_index,
|
|
1132
|
+
) -> RequestSerialized:
|
|
1133
|
+
|
|
1134
|
+
_hosts = [
|
|
1135
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
1136
|
+
]
|
|
1137
|
+
_host = _hosts[_host_index]
|
|
1138
|
+
|
|
1139
|
+
_collection_formats: Dict[str, str] = {
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
_path_params: Dict[str, str] = {}
|
|
1143
|
+
_query_params: List[Tuple[str, str]] = []
|
|
1144
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
1145
|
+
_form_params: List[Tuple[str, str]] = []
|
|
1146
|
+
_files: Dict[
|
|
1147
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
1148
|
+
] = {}
|
|
1149
|
+
_body_params: Optional[bytes] = None
|
|
1150
|
+
|
|
1151
|
+
# process the path parameters
|
|
1152
|
+
# process the query parameters
|
|
1153
|
+
# process the header parameters
|
|
1154
|
+
# process the form parameters
|
|
1155
|
+
# process the body parameter
|
|
1156
|
+
if nm_report_retry_report_request is not None:
|
|
1157
|
+
_body_params = nm_report_retry_report_request
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
# set the HTTP header `Accept`
|
|
1161
|
+
if 'Accept' not in _header_params:
|
|
1162
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
1163
|
+
[
|
|
1164
|
+
'application/json'
|
|
1165
|
+
]
|
|
1166
|
+
)
|
|
1167
|
+
|
|
1168
|
+
# set the HTTP header `Content-Type`
|
|
1169
|
+
if _content_type:
|
|
1170
|
+
_header_params['Content-Type'] = _content_type
|
|
1171
|
+
else:
|
|
1172
|
+
_default_content_type = (
|
|
1173
|
+
self.api_client.select_header_content_type(
|
|
1174
|
+
[
|
|
1175
|
+
'application/json'
|
|
1176
|
+
]
|
|
1177
|
+
)
|
|
1178
|
+
)
|
|
1179
|
+
if _default_content_type is not None:
|
|
1180
|
+
_header_params['Content-Type'] = _default_content_type
|
|
1181
|
+
|
|
1182
|
+
# authentication setting
|
|
1183
|
+
_auth_settings: List[str] = [
|
|
1184
|
+
'HeaderApiKey'
|
|
1185
|
+
]
|
|
1186
|
+
|
|
1187
|
+
return self.api_client.param_serialize(
|
|
1188
|
+
method='POST',
|
|
1189
|
+
resource_path='/api/v2/nm-report/downloads/retry',
|
|
1190
|
+
path_params=_path_params,
|
|
1191
|
+
query_params=_query_params,
|
|
1192
|
+
header_params=_header_params,
|
|
1193
|
+
body=_body_params,
|
|
1194
|
+
post_params=_form_params,
|
|
1195
|
+
files=_files,
|
|
1196
|
+
auth_settings=_auth_settings,
|
|
1197
|
+
collection_formats=_collection_formats,
|
|
1198
|
+
_host=_host,
|
|
1199
|
+
_request_auth=_request_auth
|
|
1200
|
+
)
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
@validate_call
|
|
1206
|
+
def api_v2_search_report_product_orders_post(
|
|
1207
|
+
self,
|
|
1208
|
+
product_orders_request: ProductOrdersRequest,
|
|
1209
|
+
_request_timeout: Union[
|
|
1210
|
+
None,
|
|
1211
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1212
|
+
Tuple[
|
|
1213
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1214
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1215
|
+
]
|
|
1216
|
+
] = None,
|
|
1217
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1218
|
+
_content_type: Optional[StrictStr] = None,
|
|
1219
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1220
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1221
|
+
) -> ApiV2SearchReportProductOrdersPost200Response:
|
|
1222
|
+
"""Заказы и позиции по поисковым запросам товара
|
|
1223
|
+
|
|
1224
|
+
Метод формирует данные для таблицы по количеству заказов и позиций в поиске по запросам покупателя. Данные указаны в рамках периода для [запрошенного товара](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1product~1search-texts/post). <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1225
|
+
|
|
1226
|
+
:param product_orders_request: (required)
|
|
1227
|
+
:type product_orders_request: ProductOrdersRequest
|
|
1228
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1229
|
+
number provided, it will be total request
|
|
1230
|
+
timeout. It can also be a pair (tuple) of
|
|
1231
|
+
(connection, read) timeouts.
|
|
1232
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1233
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1234
|
+
request; this effectively ignores the
|
|
1235
|
+
authentication in the spec for a single request.
|
|
1236
|
+
:type _request_auth: dict, optional
|
|
1237
|
+
:param _content_type: force content-type for the request.
|
|
1238
|
+
:type _content_type: str, Optional
|
|
1239
|
+
:param _headers: set to override the headers for a single
|
|
1240
|
+
request; this effectively ignores the headers
|
|
1241
|
+
in the spec for a single request.
|
|
1242
|
+
:type _headers: dict, optional
|
|
1243
|
+
:param _host_index: set to override the host_index for a single
|
|
1244
|
+
request; this effectively ignores the host_index
|
|
1245
|
+
in the spec for a single request.
|
|
1246
|
+
:type _host_index: int, optional
|
|
1247
|
+
:return: Returns the result object.
|
|
1248
|
+
""" # noqa: E501
|
|
1249
|
+
|
|
1250
|
+
_param = self._api_v2_search_report_product_orders_post_serialize(
|
|
1251
|
+
product_orders_request=product_orders_request,
|
|
1252
|
+
_request_auth=_request_auth,
|
|
1253
|
+
_content_type=_content_type,
|
|
1254
|
+
_headers=_headers,
|
|
1255
|
+
_host_index=_host_index
|
|
1256
|
+
)
|
|
1257
|
+
|
|
1258
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1259
|
+
'200': "ApiV2SearchReportProductOrdersPost200Response",
|
|
1260
|
+
'400': "ErrorObject400",
|
|
1261
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1262
|
+
'403': "ErrorObject403",
|
|
1263
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1264
|
+
}
|
|
1265
|
+
response_data = self.api_client.call_api(
|
|
1266
|
+
*_param,
|
|
1267
|
+
_request_timeout=_request_timeout
|
|
1268
|
+
)
|
|
1269
|
+
response_data.read()
|
|
1270
|
+
return self.api_client.response_deserialize(
|
|
1271
|
+
response_data=response_data,
|
|
1272
|
+
response_types_map=_response_types_map,
|
|
1273
|
+
).data
|
|
1274
|
+
|
|
1275
|
+
|
|
1276
|
+
@validate_call
|
|
1277
|
+
def api_v2_search_report_product_orders_post_with_http_info(
|
|
1278
|
+
self,
|
|
1279
|
+
product_orders_request: ProductOrdersRequest,
|
|
1280
|
+
_request_timeout: Union[
|
|
1281
|
+
None,
|
|
1282
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1283
|
+
Tuple[
|
|
1284
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1285
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1286
|
+
]
|
|
1287
|
+
] = None,
|
|
1288
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1289
|
+
_content_type: Optional[StrictStr] = None,
|
|
1290
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1291
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1292
|
+
) -> ApiResponse[ApiV2SearchReportProductOrdersPost200Response]:
|
|
1293
|
+
"""Заказы и позиции по поисковым запросам товара
|
|
1294
|
+
|
|
1295
|
+
Метод формирует данные для таблицы по количеству заказов и позиций в поиске по запросам покупателя. Данные указаны в рамках периода для [запрошенного товара](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1product~1search-texts/post). <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1296
|
+
|
|
1297
|
+
:param product_orders_request: (required)
|
|
1298
|
+
:type product_orders_request: ProductOrdersRequest
|
|
1299
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1300
|
+
number provided, it will be total request
|
|
1301
|
+
timeout. It can also be a pair (tuple) of
|
|
1302
|
+
(connection, read) timeouts.
|
|
1303
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1304
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1305
|
+
request; this effectively ignores the
|
|
1306
|
+
authentication in the spec for a single request.
|
|
1307
|
+
:type _request_auth: dict, optional
|
|
1308
|
+
:param _content_type: force content-type for the request.
|
|
1309
|
+
:type _content_type: str, Optional
|
|
1310
|
+
:param _headers: set to override the headers for a single
|
|
1311
|
+
request; this effectively ignores the headers
|
|
1312
|
+
in the spec for a single request.
|
|
1313
|
+
:type _headers: dict, optional
|
|
1314
|
+
:param _host_index: set to override the host_index for a single
|
|
1315
|
+
request; this effectively ignores the host_index
|
|
1316
|
+
in the spec for a single request.
|
|
1317
|
+
:type _host_index: int, optional
|
|
1318
|
+
:return: Returns the result object.
|
|
1319
|
+
""" # noqa: E501
|
|
1320
|
+
|
|
1321
|
+
_param = self._api_v2_search_report_product_orders_post_serialize(
|
|
1322
|
+
product_orders_request=product_orders_request,
|
|
1323
|
+
_request_auth=_request_auth,
|
|
1324
|
+
_content_type=_content_type,
|
|
1325
|
+
_headers=_headers,
|
|
1326
|
+
_host_index=_host_index
|
|
1327
|
+
)
|
|
1328
|
+
|
|
1329
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1330
|
+
'200': "ApiV2SearchReportProductOrdersPost200Response",
|
|
1331
|
+
'400': "ErrorObject400",
|
|
1332
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1333
|
+
'403': "ErrorObject403",
|
|
1334
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1335
|
+
}
|
|
1336
|
+
response_data = self.api_client.call_api(
|
|
1337
|
+
*_param,
|
|
1338
|
+
_request_timeout=_request_timeout
|
|
1339
|
+
)
|
|
1340
|
+
response_data.read()
|
|
1341
|
+
return self.api_client.response_deserialize(
|
|
1342
|
+
response_data=response_data,
|
|
1343
|
+
response_types_map=_response_types_map,
|
|
1344
|
+
)
|
|
1345
|
+
|
|
1346
|
+
|
|
1347
|
+
@validate_call
|
|
1348
|
+
def api_v2_search_report_product_orders_post_without_preload_content(
|
|
1349
|
+
self,
|
|
1350
|
+
product_orders_request: ProductOrdersRequest,
|
|
1351
|
+
_request_timeout: Union[
|
|
1352
|
+
None,
|
|
1353
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1354
|
+
Tuple[
|
|
1355
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1356
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1357
|
+
]
|
|
1358
|
+
] = None,
|
|
1359
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1360
|
+
_content_type: Optional[StrictStr] = None,
|
|
1361
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1362
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1363
|
+
) -> RESTResponseType:
|
|
1364
|
+
"""Заказы и позиции по поисковым запросам товара
|
|
1365
|
+
|
|
1366
|
+
Метод формирует данные для таблицы по количеству заказов и позиций в поиске по запросам покупателя. Данные указаны в рамках периода для [запрошенного товара](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1product~1search-texts/post). <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1367
|
+
|
|
1368
|
+
:param product_orders_request: (required)
|
|
1369
|
+
:type product_orders_request: ProductOrdersRequest
|
|
1370
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1371
|
+
number provided, it will be total request
|
|
1372
|
+
timeout. It can also be a pair (tuple) of
|
|
1373
|
+
(connection, read) timeouts.
|
|
1374
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1375
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1376
|
+
request; this effectively ignores the
|
|
1377
|
+
authentication in the spec for a single request.
|
|
1378
|
+
:type _request_auth: dict, optional
|
|
1379
|
+
:param _content_type: force content-type for the request.
|
|
1380
|
+
:type _content_type: str, Optional
|
|
1381
|
+
:param _headers: set to override the headers for a single
|
|
1382
|
+
request; this effectively ignores the headers
|
|
1383
|
+
in the spec for a single request.
|
|
1384
|
+
:type _headers: dict, optional
|
|
1385
|
+
:param _host_index: set to override the host_index for a single
|
|
1386
|
+
request; this effectively ignores the host_index
|
|
1387
|
+
in the spec for a single request.
|
|
1388
|
+
:type _host_index: int, optional
|
|
1389
|
+
:return: Returns the result object.
|
|
1390
|
+
""" # noqa: E501
|
|
1391
|
+
|
|
1392
|
+
_param = self._api_v2_search_report_product_orders_post_serialize(
|
|
1393
|
+
product_orders_request=product_orders_request,
|
|
1394
|
+
_request_auth=_request_auth,
|
|
1395
|
+
_content_type=_content_type,
|
|
1396
|
+
_headers=_headers,
|
|
1397
|
+
_host_index=_host_index
|
|
1398
|
+
)
|
|
1399
|
+
|
|
1400
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1401
|
+
'200': "ApiV2SearchReportProductOrdersPost200Response",
|
|
1402
|
+
'400': "ErrorObject400",
|
|
1403
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1404
|
+
'403': "ErrorObject403",
|
|
1405
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1406
|
+
}
|
|
1407
|
+
response_data = self.api_client.call_api(
|
|
1408
|
+
*_param,
|
|
1409
|
+
_request_timeout=_request_timeout
|
|
1410
|
+
)
|
|
1411
|
+
return response_data.response
|
|
1412
|
+
|
|
1413
|
+
|
|
1414
|
+
def _api_v2_search_report_product_orders_post_serialize(
|
|
1415
|
+
self,
|
|
1416
|
+
product_orders_request,
|
|
1417
|
+
_request_auth,
|
|
1418
|
+
_content_type,
|
|
1419
|
+
_headers,
|
|
1420
|
+
_host_index,
|
|
1421
|
+
) -> RequestSerialized:
|
|
1422
|
+
|
|
1423
|
+
_hosts = [
|
|
1424
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
1425
|
+
]
|
|
1426
|
+
_host = _hosts[_host_index]
|
|
1427
|
+
|
|
1428
|
+
_collection_formats: Dict[str, str] = {
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
_path_params: Dict[str, str] = {}
|
|
1432
|
+
_query_params: List[Tuple[str, str]] = []
|
|
1433
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
1434
|
+
_form_params: List[Tuple[str, str]] = []
|
|
1435
|
+
_files: Dict[
|
|
1436
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
1437
|
+
] = {}
|
|
1438
|
+
_body_params: Optional[bytes] = None
|
|
1439
|
+
|
|
1440
|
+
# process the path parameters
|
|
1441
|
+
# process the query parameters
|
|
1442
|
+
# process the header parameters
|
|
1443
|
+
# process the form parameters
|
|
1444
|
+
# process the body parameter
|
|
1445
|
+
if product_orders_request is not None:
|
|
1446
|
+
_body_params = product_orders_request
|
|
1447
|
+
|
|
1448
|
+
|
|
1449
|
+
# set the HTTP header `Accept`
|
|
1450
|
+
if 'Accept' not in _header_params:
|
|
1451
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
1452
|
+
[
|
|
1453
|
+
'application/json'
|
|
1454
|
+
]
|
|
1455
|
+
)
|
|
1456
|
+
|
|
1457
|
+
# set the HTTP header `Content-Type`
|
|
1458
|
+
if _content_type:
|
|
1459
|
+
_header_params['Content-Type'] = _content_type
|
|
1460
|
+
else:
|
|
1461
|
+
_default_content_type = (
|
|
1462
|
+
self.api_client.select_header_content_type(
|
|
1463
|
+
[
|
|
1464
|
+
'application/json'
|
|
1465
|
+
]
|
|
1466
|
+
)
|
|
1467
|
+
)
|
|
1468
|
+
if _default_content_type is not None:
|
|
1469
|
+
_header_params['Content-Type'] = _default_content_type
|
|
1470
|
+
|
|
1471
|
+
# authentication setting
|
|
1472
|
+
_auth_settings: List[str] = [
|
|
1473
|
+
'HeaderApiKey'
|
|
1474
|
+
]
|
|
1475
|
+
|
|
1476
|
+
return self.api_client.param_serialize(
|
|
1477
|
+
method='POST',
|
|
1478
|
+
resource_path='/api/v2/search-report/product/orders',
|
|
1479
|
+
path_params=_path_params,
|
|
1480
|
+
query_params=_query_params,
|
|
1481
|
+
header_params=_header_params,
|
|
1482
|
+
body=_body_params,
|
|
1483
|
+
post_params=_form_params,
|
|
1484
|
+
files=_files,
|
|
1485
|
+
auth_settings=_auth_settings,
|
|
1486
|
+
collection_formats=_collection_formats,
|
|
1487
|
+
_host=_host,
|
|
1488
|
+
_request_auth=_request_auth
|
|
1489
|
+
)
|
|
1490
|
+
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
|
|
1494
|
+
@validate_call
|
|
1495
|
+
def api_v2_search_report_product_search_texts_post(
|
|
1496
|
+
self,
|
|
1497
|
+
product_search_texts_request: ProductSearchTextsRequest,
|
|
1498
|
+
_request_timeout: Union[
|
|
1499
|
+
None,
|
|
1500
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1501
|
+
Tuple[
|
|
1502
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1503
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1504
|
+
]
|
|
1505
|
+
] = None,
|
|
1506
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1507
|
+
_content_type: Optional[StrictStr] = None,
|
|
1508
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1509
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1510
|
+
) -> ApiV2SearchReportProductSearchTextsPost200Response:
|
|
1511
|
+
"""Поисковые запросы по товару
|
|
1512
|
+
|
|
1513
|
+
Метод формирует топ поисковых запросов по товару. Параметры выбора поисковых запросов: - `limit` — количество запросов, максимум 30 (для тарифа [Продвинутый](https://seller.wildberries.ru/monetization/tariffs) — 100) - `topOrderBy` — способ выбора топа запросов Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1514
|
+
|
|
1515
|
+
:param product_search_texts_request: (required)
|
|
1516
|
+
:type product_search_texts_request: ProductSearchTextsRequest
|
|
1517
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1518
|
+
number provided, it will be total request
|
|
1519
|
+
timeout. It can also be a pair (tuple) of
|
|
1520
|
+
(connection, read) timeouts.
|
|
1521
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1522
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1523
|
+
request; this effectively ignores the
|
|
1524
|
+
authentication in the spec for a single request.
|
|
1525
|
+
:type _request_auth: dict, optional
|
|
1526
|
+
:param _content_type: force content-type for the request.
|
|
1527
|
+
:type _content_type: str, Optional
|
|
1528
|
+
:param _headers: set to override the headers for a single
|
|
1529
|
+
request; this effectively ignores the headers
|
|
1530
|
+
in the spec for a single request.
|
|
1531
|
+
:type _headers: dict, optional
|
|
1532
|
+
:param _host_index: set to override the host_index for a single
|
|
1533
|
+
request; this effectively ignores the host_index
|
|
1534
|
+
in the spec for a single request.
|
|
1535
|
+
:type _host_index: int, optional
|
|
1536
|
+
:return: Returns the result object.
|
|
1537
|
+
""" # noqa: E501
|
|
1538
|
+
|
|
1539
|
+
_param = self._api_v2_search_report_product_search_texts_post_serialize(
|
|
1540
|
+
product_search_texts_request=product_search_texts_request,
|
|
1541
|
+
_request_auth=_request_auth,
|
|
1542
|
+
_content_type=_content_type,
|
|
1543
|
+
_headers=_headers,
|
|
1544
|
+
_host_index=_host_index
|
|
1545
|
+
)
|
|
1546
|
+
|
|
1547
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1548
|
+
'200': "ApiV2SearchReportProductSearchTextsPost200Response",
|
|
1549
|
+
'400': "ErrorObject400",
|
|
1550
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1551
|
+
'403': "ErrorObject403",
|
|
1552
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1553
|
+
}
|
|
1554
|
+
response_data = self.api_client.call_api(
|
|
1555
|
+
*_param,
|
|
1556
|
+
_request_timeout=_request_timeout
|
|
1557
|
+
)
|
|
1558
|
+
response_data.read()
|
|
1559
|
+
return self.api_client.response_deserialize(
|
|
1560
|
+
response_data=response_data,
|
|
1561
|
+
response_types_map=_response_types_map,
|
|
1562
|
+
).data
|
|
1563
|
+
|
|
1564
|
+
|
|
1565
|
+
@validate_call
|
|
1566
|
+
def api_v2_search_report_product_search_texts_post_with_http_info(
|
|
1567
|
+
self,
|
|
1568
|
+
product_search_texts_request: ProductSearchTextsRequest,
|
|
1569
|
+
_request_timeout: Union[
|
|
1570
|
+
None,
|
|
1571
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1572
|
+
Tuple[
|
|
1573
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1574
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1575
|
+
]
|
|
1576
|
+
] = None,
|
|
1577
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1578
|
+
_content_type: Optional[StrictStr] = None,
|
|
1579
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1580
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1581
|
+
) -> ApiResponse[ApiV2SearchReportProductSearchTextsPost200Response]:
|
|
1582
|
+
"""Поисковые запросы по товару
|
|
1583
|
+
|
|
1584
|
+
Метод формирует топ поисковых запросов по товару. Параметры выбора поисковых запросов: - `limit` — количество запросов, максимум 30 (для тарифа [Продвинутый](https://seller.wildberries.ru/monetization/tariffs) — 100) - `topOrderBy` — способ выбора топа запросов Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1585
|
+
|
|
1586
|
+
:param product_search_texts_request: (required)
|
|
1587
|
+
:type product_search_texts_request: ProductSearchTextsRequest
|
|
1588
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1589
|
+
number provided, it will be total request
|
|
1590
|
+
timeout. It can also be a pair (tuple) of
|
|
1591
|
+
(connection, read) timeouts.
|
|
1592
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1593
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1594
|
+
request; this effectively ignores the
|
|
1595
|
+
authentication in the spec for a single request.
|
|
1596
|
+
:type _request_auth: dict, optional
|
|
1597
|
+
:param _content_type: force content-type for the request.
|
|
1598
|
+
:type _content_type: str, Optional
|
|
1599
|
+
:param _headers: set to override the headers for a single
|
|
1600
|
+
request; this effectively ignores the headers
|
|
1601
|
+
in the spec for a single request.
|
|
1602
|
+
:type _headers: dict, optional
|
|
1603
|
+
:param _host_index: set to override the host_index for a single
|
|
1604
|
+
request; this effectively ignores the host_index
|
|
1605
|
+
in the spec for a single request.
|
|
1606
|
+
:type _host_index: int, optional
|
|
1607
|
+
:return: Returns the result object.
|
|
1608
|
+
""" # noqa: E501
|
|
1609
|
+
|
|
1610
|
+
_param = self._api_v2_search_report_product_search_texts_post_serialize(
|
|
1611
|
+
product_search_texts_request=product_search_texts_request,
|
|
1612
|
+
_request_auth=_request_auth,
|
|
1613
|
+
_content_type=_content_type,
|
|
1614
|
+
_headers=_headers,
|
|
1615
|
+
_host_index=_host_index
|
|
1616
|
+
)
|
|
1617
|
+
|
|
1618
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1619
|
+
'200': "ApiV2SearchReportProductSearchTextsPost200Response",
|
|
1620
|
+
'400': "ErrorObject400",
|
|
1621
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1622
|
+
'403': "ErrorObject403",
|
|
1623
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1624
|
+
}
|
|
1625
|
+
response_data = self.api_client.call_api(
|
|
1626
|
+
*_param,
|
|
1627
|
+
_request_timeout=_request_timeout
|
|
1628
|
+
)
|
|
1629
|
+
response_data.read()
|
|
1630
|
+
return self.api_client.response_deserialize(
|
|
1631
|
+
response_data=response_data,
|
|
1632
|
+
response_types_map=_response_types_map,
|
|
1633
|
+
)
|
|
1634
|
+
|
|
1635
|
+
|
|
1636
|
+
@validate_call
|
|
1637
|
+
def api_v2_search_report_product_search_texts_post_without_preload_content(
|
|
1638
|
+
self,
|
|
1639
|
+
product_search_texts_request: ProductSearchTextsRequest,
|
|
1640
|
+
_request_timeout: Union[
|
|
1641
|
+
None,
|
|
1642
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1643
|
+
Tuple[
|
|
1644
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1645
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1646
|
+
]
|
|
1647
|
+
] = None,
|
|
1648
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1649
|
+
_content_type: Optional[StrictStr] = None,
|
|
1650
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1651
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1652
|
+
) -> RESTResponseType:
|
|
1653
|
+
"""Поисковые запросы по товару
|
|
1654
|
+
|
|
1655
|
+
Метод формирует топ поисковых запросов по товару. Параметры выбора поисковых запросов: - `limit` — количество запросов, максимум 30 (для тарифа [Продвинутый](https://seller.wildberries.ru/monetization/tariffs) — 100) - `topOrderBy` — способ выбора топа запросов Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1656
|
+
|
|
1657
|
+
:param product_search_texts_request: (required)
|
|
1658
|
+
:type product_search_texts_request: ProductSearchTextsRequest
|
|
1659
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1660
|
+
number provided, it will be total request
|
|
1661
|
+
timeout. It can also be a pair (tuple) of
|
|
1662
|
+
(connection, read) timeouts.
|
|
1663
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1664
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1665
|
+
request; this effectively ignores the
|
|
1666
|
+
authentication in the spec for a single request.
|
|
1667
|
+
:type _request_auth: dict, optional
|
|
1668
|
+
:param _content_type: force content-type for the request.
|
|
1669
|
+
:type _content_type: str, Optional
|
|
1670
|
+
:param _headers: set to override the headers for a single
|
|
1671
|
+
request; this effectively ignores the headers
|
|
1672
|
+
in the spec for a single request.
|
|
1673
|
+
:type _headers: dict, optional
|
|
1674
|
+
:param _host_index: set to override the host_index for a single
|
|
1675
|
+
request; this effectively ignores the host_index
|
|
1676
|
+
in the spec for a single request.
|
|
1677
|
+
:type _host_index: int, optional
|
|
1678
|
+
:return: Returns the result object.
|
|
1679
|
+
""" # noqa: E501
|
|
1680
|
+
|
|
1681
|
+
_param = self._api_v2_search_report_product_search_texts_post_serialize(
|
|
1682
|
+
product_search_texts_request=product_search_texts_request,
|
|
1683
|
+
_request_auth=_request_auth,
|
|
1684
|
+
_content_type=_content_type,
|
|
1685
|
+
_headers=_headers,
|
|
1686
|
+
_host_index=_host_index
|
|
1687
|
+
)
|
|
1688
|
+
|
|
1689
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1690
|
+
'200': "ApiV2SearchReportProductSearchTextsPost200Response",
|
|
1691
|
+
'400': "ErrorObject400",
|
|
1692
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1693
|
+
'403': "ErrorObject403",
|
|
1694
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1695
|
+
}
|
|
1696
|
+
response_data = self.api_client.call_api(
|
|
1697
|
+
*_param,
|
|
1698
|
+
_request_timeout=_request_timeout
|
|
1699
|
+
)
|
|
1700
|
+
return response_data.response
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
def _api_v2_search_report_product_search_texts_post_serialize(
|
|
1704
|
+
self,
|
|
1705
|
+
product_search_texts_request,
|
|
1706
|
+
_request_auth,
|
|
1707
|
+
_content_type,
|
|
1708
|
+
_headers,
|
|
1709
|
+
_host_index,
|
|
1710
|
+
) -> RequestSerialized:
|
|
1711
|
+
|
|
1712
|
+
_hosts = [
|
|
1713
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
1714
|
+
]
|
|
1715
|
+
_host = _hosts[_host_index]
|
|
1716
|
+
|
|
1717
|
+
_collection_formats: Dict[str, str] = {
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
_path_params: Dict[str, str] = {}
|
|
1721
|
+
_query_params: List[Tuple[str, str]] = []
|
|
1722
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
1723
|
+
_form_params: List[Tuple[str, str]] = []
|
|
1724
|
+
_files: Dict[
|
|
1725
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
1726
|
+
] = {}
|
|
1727
|
+
_body_params: Optional[bytes] = None
|
|
1728
|
+
|
|
1729
|
+
# process the path parameters
|
|
1730
|
+
# process the query parameters
|
|
1731
|
+
# process the header parameters
|
|
1732
|
+
# process the form parameters
|
|
1733
|
+
# process the body parameter
|
|
1734
|
+
if product_search_texts_request is not None:
|
|
1735
|
+
_body_params = product_search_texts_request
|
|
1736
|
+
|
|
1737
|
+
|
|
1738
|
+
# set the HTTP header `Accept`
|
|
1739
|
+
if 'Accept' not in _header_params:
|
|
1740
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
1741
|
+
[
|
|
1742
|
+
'application/json'
|
|
1743
|
+
]
|
|
1744
|
+
)
|
|
1745
|
+
|
|
1746
|
+
# set the HTTP header `Content-Type`
|
|
1747
|
+
if _content_type:
|
|
1748
|
+
_header_params['Content-Type'] = _content_type
|
|
1749
|
+
else:
|
|
1750
|
+
_default_content_type = (
|
|
1751
|
+
self.api_client.select_header_content_type(
|
|
1752
|
+
[
|
|
1753
|
+
'application/json'
|
|
1754
|
+
]
|
|
1755
|
+
)
|
|
1756
|
+
)
|
|
1757
|
+
if _default_content_type is not None:
|
|
1758
|
+
_header_params['Content-Type'] = _default_content_type
|
|
1759
|
+
|
|
1760
|
+
# authentication setting
|
|
1761
|
+
_auth_settings: List[str] = [
|
|
1762
|
+
'HeaderApiKey'
|
|
1763
|
+
]
|
|
1764
|
+
|
|
1765
|
+
return self.api_client.param_serialize(
|
|
1766
|
+
method='POST',
|
|
1767
|
+
resource_path='/api/v2/search-report/product/search-texts',
|
|
1768
|
+
path_params=_path_params,
|
|
1769
|
+
query_params=_query_params,
|
|
1770
|
+
header_params=_header_params,
|
|
1771
|
+
body=_body_params,
|
|
1772
|
+
post_params=_form_params,
|
|
1773
|
+
files=_files,
|
|
1774
|
+
auth_settings=_auth_settings,
|
|
1775
|
+
collection_formats=_collection_formats,
|
|
1776
|
+
_host=_host,
|
|
1777
|
+
_request_auth=_request_auth
|
|
1778
|
+
)
|
|
1779
|
+
|
|
1780
|
+
|
|
1781
|
+
|
|
1782
|
+
|
|
1783
|
+
@validate_call
|
|
1784
|
+
def api_v2_search_report_report_post(
|
|
1785
|
+
self,
|
|
1786
|
+
main_request: MainRequest,
|
|
1787
|
+
_request_timeout: Union[
|
|
1788
|
+
None,
|
|
1789
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1790
|
+
Tuple[
|
|
1791
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1792
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1793
|
+
]
|
|
1794
|
+
] = None,
|
|
1795
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1796
|
+
_content_type: Optional[StrictStr] = None,
|
|
1797
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1798
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1799
|
+
) -> ApiV2SearchReportReportPost200Response:
|
|
1800
|
+
"""Основная страница
|
|
1801
|
+
|
|
1802
|
+
Метод формирует набор данных для основной страницы отчёта по поисковым запросам с: - общей информацией - позициями товаров - данными по видимости и переходам в карточку - данными для таблицы по группам Для получения дополнительных данных в таблице используйте отдельный запрос для: - [пагинации по группам](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1table~1groups/post) - [получения по товарам в группе](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1table~1details/post) Дополнительный параметр выбора списка товаров в таблице: - `positionCluster` — средняя позиция в поиске Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1803
|
+
|
|
1804
|
+
:param main_request: (required)
|
|
1805
|
+
:type main_request: MainRequest
|
|
1806
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1807
|
+
number provided, it will be total request
|
|
1808
|
+
timeout. It can also be a pair (tuple) of
|
|
1809
|
+
(connection, read) timeouts.
|
|
1810
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1811
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1812
|
+
request; this effectively ignores the
|
|
1813
|
+
authentication in the spec for a single request.
|
|
1814
|
+
:type _request_auth: dict, optional
|
|
1815
|
+
:param _content_type: force content-type for the request.
|
|
1816
|
+
:type _content_type: str, Optional
|
|
1817
|
+
:param _headers: set to override the headers for a single
|
|
1818
|
+
request; this effectively ignores the headers
|
|
1819
|
+
in the spec for a single request.
|
|
1820
|
+
:type _headers: dict, optional
|
|
1821
|
+
:param _host_index: set to override the host_index for a single
|
|
1822
|
+
request; this effectively ignores the host_index
|
|
1823
|
+
in the spec for a single request.
|
|
1824
|
+
:type _host_index: int, optional
|
|
1825
|
+
:return: Returns the result object.
|
|
1826
|
+
""" # noqa: E501
|
|
1827
|
+
|
|
1828
|
+
_param = self._api_v2_search_report_report_post_serialize(
|
|
1829
|
+
main_request=main_request,
|
|
1830
|
+
_request_auth=_request_auth,
|
|
1831
|
+
_content_type=_content_type,
|
|
1832
|
+
_headers=_headers,
|
|
1833
|
+
_host_index=_host_index
|
|
1834
|
+
)
|
|
1835
|
+
|
|
1836
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1837
|
+
'200': "ApiV2SearchReportReportPost200Response",
|
|
1838
|
+
'400': "ErrorObject400",
|
|
1839
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1840
|
+
'403': "ErrorObject403",
|
|
1841
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1842
|
+
}
|
|
1843
|
+
response_data = self.api_client.call_api(
|
|
1844
|
+
*_param,
|
|
1845
|
+
_request_timeout=_request_timeout
|
|
1846
|
+
)
|
|
1847
|
+
response_data.read()
|
|
1848
|
+
return self.api_client.response_deserialize(
|
|
1849
|
+
response_data=response_data,
|
|
1850
|
+
response_types_map=_response_types_map,
|
|
1851
|
+
).data
|
|
1852
|
+
|
|
1853
|
+
|
|
1854
|
+
@validate_call
|
|
1855
|
+
def api_v2_search_report_report_post_with_http_info(
|
|
1856
|
+
self,
|
|
1857
|
+
main_request: MainRequest,
|
|
1858
|
+
_request_timeout: Union[
|
|
1859
|
+
None,
|
|
1860
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1861
|
+
Tuple[
|
|
1862
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1863
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1864
|
+
]
|
|
1865
|
+
] = None,
|
|
1866
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1867
|
+
_content_type: Optional[StrictStr] = None,
|
|
1868
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1869
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1870
|
+
) -> ApiResponse[ApiV2SearchReportReportPost200Response]:
|
|
1871
|
+
"""Основная страница
|
|
1872
|
+
|
|
1873
|
+
Метод формирует набор данных для основной страницы отчёта по поисковым запросам с: - общей информацией - позициями товаров - данными по видимости и переходам в карточку - данными для таблицы по группам Для получения дополнительных данных в таблице используйте отдельный запрос для: - [пагинации по группам](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1table~1groups/post) - [получения по товарам в группе](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1table~1details/post) Дополнительный параметр выбора списка товаров в таблице: - `positionCluster` — средняя позиция в поиске Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1874
|
+
|
|
1875
|
+
:param main_request: (required)
|
|
1876
|
+
:type main_request: MainRequest
|
|
1877
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1878
|
+
number provided, it will be total request
|
|
1879
|
+
timeout. It can also be a pair (tuple) of
|
|
1880
|
+
(connection, read) timeouts.
|
|
1881
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1882
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1883
|
+
request; this effectively ignores the
|
|
1884
|
+
authentication in the spec for a single request.
|
|
1885
|
+
:type _request_auth: dict, optional
|
|
1886
|
+
:param _content_type: force content-type for the request.
|
|
1887
|
+
:type _content_type: str, Optional
|
|
1888
|
+
:param _headers: set to override the headers for a single
|
|
1889
|
+
request; this effectively ignores the headers
|
|
1890
|
+
in the spec for a single request.
|
|
1891
|
+
:type _headers: dict, optional
|
|
1892
|
+
:param _host_index: set to override the host_index for a single
|
|
1893
|
+
request; this effectively ignores the host_index
|
|
1894
|
+
in the spec for a single request.
|
|
1895
|
+
:type _host_index: int, optional
|
|
1896
|
+
:return: Returns the result object.
|
|
1897
|
+
""" # noqa: E501
|
|
1898
|
+
|
|
1899
|
+
_param = self._api_v2_search_report_report_post_serialize(
|
|
1900
|
+
main_request=main_request,
|
|
1901
|
+
_request_auth=_request_auth,
|
|
1902
|
+
_content_type=_content_type,
|
|
1903
|
+
_headers=_headers,
|
|
1904
|
+
_host_index=_host_index
|
|
1905
|
+
)
|
|
1906
|
+
|
|
1907
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1908
|
+
'200': "ApiV2SearchReportReportPost200Response",
|
|
1909
|
+
'400': "ErrorObject400",
|
|
1910
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1911
|
+
'403': "ErrorObject403",
|
|
1912
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1913
|
+
}
|
|
1914
|
+
response_data = self.api_client.call_api(
|
|
1915
|
+
*_param,
|
|
1916
|
+
_request_timeout=_request_timeout
|
|
1917
|
+
)
|
|
1918
|
+
response_data.read()
|
|
1919
|
+
return self.api_client.response_deserialize(
|
|
1920
|
+
response_data=response_data,
|
|
1921
|
+
response_types_map=_response_types_map,
|
|
1922
|
+
)
|
|
1923
|
+
|
|
1924
|
+
|
|
1925
|
+
@validate_call
|
|
1926
|
+
def api_v2_search_report_report_post_without_preload_content(
|
|
1927
|
+
self,
|
|
1928
|
+
main_request: MainRequest,
|
|
1929
|
+
_request_timeout: Union[
|
|
1930
|
+
None,
|
|
1931
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1932
|
+
Tuple[
|
|
1933
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1934
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
1935
|
+
]
|
|
1936
|
+
] = None,
|
|
1937
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1938
|
+
_content_type: Optional[StrictStr] = None,
|
|
1939
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1940
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
1941
|
+
) -> RESTResponseType:
|
|
1942
|
+
"""Основная страница
|
|
1943
|
+
|
|
1944
|
+
Метод формирует набор данных для основной страницы отчёта по поисковым запросам с: - общей информацией - позициями товаров - данными по видимости и переходам в карточку - данными для таблицы по группам Для получения дополнительных данных в таблице используйте отдельный запрос для: - [пагинации по группам](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1table~1groups/post) - [получения по товарам в группе](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1table~1details/post) Дополнительный параметр выбора списка товаров в таблице: - `positionCluster` — средняя позиция в поиске Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
1945
|
+
|
|
1946
|
+
:param main_request: (required)
|
|
1947
|
+
:type main_request: MainRequest
|
|
1948
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1949
|
+
number provided, it will be total request
|
|
1950
|
+
timeout. It can also be a pair (tuple) of
|
|
1951
|
+
(connection, read) timeouts.
|
|
1952
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1953
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1954
|
+
request; this effectively ignores the
|
|
1955
|
+
authentication in the spec for a single request.
|
|
1956
|
+
:type _request_auth: dict, optional
|
|
1957
|
+
:param _content_type: force content-type for the request.
|
|
1958
|
+
:type _content_type: str, Optional
|
|
1959
|
+
:param _headers: set to override the headers for a single
|
|
1960
|
+
request; this effectively ignores the headers
|
|
1961
|
+
in the spec for a single request.
|
|
1962
|
+
:type _headers: dict, optional
|
|
1963
|
+
:param _host_index: set to override the host_index for a single
|
|
1964
|
+
request; this effectively ignores the host_index
|
|
1965
|
+
in the spec for a single request.
|
|
1966
|
+
:type _host_index: int, optional
|
|
1967
|
+
:return: Returns the result object.
|
|
1968
|
+
""" # noqa: E501
|
|
1969
|
+
|
|
1970
|
+
_param = self._api_v2_search_report_report_post_serialize(
|
|
1971
|
+
main_request=main_request,
|
|
1972
|
+
_request_auth=_request_auth,
|
|
1973
|
+
_content_type=_content_type,
|
|
1974
|
+
_headers=_headers,
|
|
1975
|
+
_host_index=_host_index
|
|
1976
|
+
)
|
|
1977
|
+
|
|
1978
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1979
|
+
'200': "ApiV2SearchReportReportPost200Response",
|
|
1980
|
+
'400': "ErrorObject400",
|
|
1981
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
1982
|
+
'403': "ErrorObject403",
|
|
1983
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
1984
|
+
}
|
|
1985
|
+
response_data = self.api_client.call_api(
|
|
1986
|
+
*_param,
|
|
1987
|
+
_request_timeout=_request_timeout
|
|
1988
|
+
)
|
|
1989
|
+
return response_data.response
|
|
1990
|
+
|
|
1991
|
+
|
|
1992
|
+
def _api_v2_search_report_report_post_serialize(
|
|
1993
|
+
self,
|
|
1994
|
+
main_request,
|
|
1995
|
+
_request_auth,
|
|
1996
|
+
_content_type,
|
|
1997
|
+
_headers,
|
|
1998
|
+
_host_index,
|
|
1999
|
+
) -> RequestSerialized:
|
|
2000
|
+
|
|
2001
|
+
_hosts = [
|
|
2002
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
2003
|
+
]
|
|
2004
|
+
_host = _hosts[_host_index]
|
|
2005
|
+
|
|
2006
|
+
_collection_formats: Dict[str, str] = {
|
|
2007
|
+
}
|
|
2008
|
+
|
|
2009
|
+
_path_params: Dict[str, str] = {}
|
|
2010
|
+
_query_params: List[Tuple[str, str]] = []
|
|
2011
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
2012
|
+
_form_params: List[Tuple[str, str]] = []
|
|
2013
|
+
_files: Dict[
|
|
2014
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
2015
|
+
] = {}
|
|
2016
|
+
_body_params: Optional[bytes] = None
|
|
2017
|
+
|
|
2018
|
+
# process the path parameters
|
|
2019
|
+
# process the query parameters
|
|
2020
|
+
# process the header parameters
|
|
2021
|
+
# process the form parameters
|
|
2022
|
+
# process the body parameter
|
|
2023
|
+
if main_request is not None:
|
|
2024
|
+
_body_params = main_request
|
|
2025
|
+
|
|
2026
|
+
|
|
2027
|
+
# set the HTTP header `Accept`
|
|
2028
|
+
if 'Accept' not in _header_params:
|
|
2029
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
2030
|
+
[
|
|
2031
|
+
'application/json'
|
|
2032
|
+
]
|
|
2033
|
+
)
|
|
2034
|
+
|
|
2035
|
+
# set the HTTP header `Content-Type`
|
|
2036
|
+
if _content_type:
|
|
2037
|
+
_header_params['Content-Type'] = _content_type
|
|
2038
|
+
else:
|
|
2039
|
+
_default_content_type = (
|
|
2040
|
+
self.api_client.select_header_content_type(
|
|
2041
|
+
[
|
|
2042
|
+
'application/json'
|
|
2043
|
+
]
|
|
2044
|
+
)
|
|
2045
|
+
)
|
|
2046
|
+
if _default_content_type is not None:
|
|
2047
|
+
_header_params['Content-Type'] = _default_content_type
|
|
2048
|
+
|
|
2049
|
+
# authentication setting
|
|
2050
|
+
_auth_settings: List[str] = [
|
|
2051
|
+
'HeaderApiKey'
|
|
2052
|
+
]
|
|
2053
|
+
|
|
2054
|
+
return self.api_client.param_serialize(
|
|
2055
|
+
method='POST',
|
|
2056
|
+
resource_path='/api/v2/search-report/report',
|
|
2057
|
+
path_params=_path_params,
|
|
2058
|
+
query_params=_query_params,
|
|
2059
|
+
header_params=_header_params,
|
|
2060
|
+
body=_body_params,
|
|
2061
|
+
post_params=_form_params,
|
|
2062
|
+
files=_files,
|
|
2063
|
+
auth_settings=_auth_settings,
|
|
2064
|
+
collection_formats=_collection_formats,
|
|
2065
|
+
_host=_host,
|
|
2066
|
+
_request_auth=_request_auth
|
|
2067
|
+
)
|
|
2068
|
+
|
|
2069
|
+
|
|
2070
|
+
|
|
2071
|
+
|
|
2072
|
+
@validate_call
|
|
2073
|
+
def api_v2_search_report_table_details_post(
|
|
2074
|
+
self,
|
|
2075
|
+
table_details_request: TableDetailsRequest,
|
|
2076
|
+
_request_timeout: Union[
|
|
2077
|
+
None,
|
|
2078
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2079
|
+
Tuple[
|
|
2080
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2081
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2082
|
+
]
|
|
2083
|
+
] = None,
|
|
2084
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2085
|
+
_content_type: Optional[StrictStr] = None,
|
|
2086
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2087
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2088
|
+
) -> ApiV2SearchReportTableDetailsPost200Response:
|
|
2089
|
+
"""Пагинация по товарам в группе
|
|
2090
|
+
|
|
2091
|
+
Метод формирует дополнительные данные к [основному отчёту](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1report/post) с пагинацией по товарам в группе. Пагинация возможна вне зависимости от наличия фильтров.<br><br> Фильтры для пагинации по товарам в группе или без фильтров: - кортеж `subjectId`,`brandName`,`tagId` — фильтр для группы - `nmIds` — фильтр по карточке товара Дополнительный параметр выбора списка товаров: - `positionCluster` — средняя позиция в поиске Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2092
|
+
|
|
2093
|
+
:param table_details_request: (required)
|
|
2094
|
+
:type table_details_request: TableDetailsRequest
|
|
2095
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2096
|
+
number provided, it will be total request
|
|
2097
|
+
timeout. It can also be a pair (tuple) of
|
|
2098
|
+
(connection, read) timeouts.
|
|
2099
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2100
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2101
|
+
request; this effectively ignores the
|
|
2102
|
+
authentication in the spec for a single request.
|
|
2103
|
+
:type _request_auth: dict, optional
|
|
2104
|
+
:param _content_type: force content-type for the request.
|
|
2105
|
+
:type _content_type: str, Optional
|
|
2106
|
+
:param _headers: set to override the headers for a single
|
|
2107
|
+
request; this effectively ignores the headers
|
|
2108
|
+
in the spec for a single request.
|
|
2109
|
+
:type _headers: dict, optional
|
|
2110
|
+
:param _host_index: set to override the host_index for a single
|
|
2111
|
+
request; this effectively ignores the host_index
|
|
2112
|
+
in the spec for a single request.
|
|
2113
|
+
:type _host_index: int, optional
|
|
2114
|
+
:return: Returns the result object.
|
|
2115
|
+
""" # noqa: E501
|
|
2116
|
+
|
|
2117
|
+
_param = self._api_v2_search_report_table_details_post_serialize(
|
|
2118
|
+
table_details_request=table_details_request,
|
|
2119
|
+
_request_auth=_request_auth,
|
|
2120
|
+
_content_type=_content_type,
|
|
2121
|
+
_headers=_headers,
|
|
2122
|
+
_host_index=_host_index
|
|
2123
|
+
)
|
|
2124
|
+
|
|
2125
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2126
|
+
'200': "ApiV2SearchReportTableDetailsPost200Response",
|
|
2127
|
+
'400': "ErrorObject400",
|
|
2128
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2129
|
+
'403': "ErrorObject403",
|
|
2130
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2131
|
+
}
|
|
2132
|
+
response_data = self.api_client.call_api(
|
|
2133
|
+
*_param,
|
|
2134
|
+
_request_timeout=_request_timeout
|
|
2135
|
+
)
|
|
2136
|
+
response_data.read()
|
|
2137
|
+
return self.api_client.response_deserialize(
|
|
2138
|
+
response_data=response_data,
|
|
2139
|
+
response_types_map=_response_types_map,
|
|
2140
|
+
).data
|
|
2141
|
+
|
|
2142
|
+
|
|
2143
|
+
@validate_call
|
|
2144
|
+
def api_v2_search_report_table_details_post_with_http_info(
|
|
2145
|
+
self,
|
|
2146
|
+
table_details_request: TableDetailsRequest,
|
|
2147
|
+
_request_timeout: Union[
|
|
2148
|
+
None,
|
|
2149
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2150
|
+
Tuple[
|
|
2151
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2152
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2153
|
+
]
|
|
2154
|
+
] = None,
|
|
2155
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2156
|
+
_content_type: Optional[StrictStr] = None,
|
|
2157
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2158
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2159
|
+
) -> ApiResponse[ApiV2SearchReportTableDetailsPost200Response]:
|
|
2160
|
+
"""Пагинация по товарам в группе
|
|
2161
|
+
|
|
2162
|
+
Метод формирует дополнительные данные к [основному отчёту](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1report/post) с пагинацией по товарам в группе. Пагинация возможна вне зависимости от наличия фильтров.<br><br> Фильтры для пагинации по товарам в группе или без фильтров: - кортеж `subjectId`,`brandName`,`tagId` — фильтр для группы - `nmIds` — фильтр по карточке товара Дополнительный параметр выбора списка товаров: - `positionCluster` — средняя позиция в поиске Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2163
|
+
|
|
2164
|
+
:param table_details_request: (required)
|
|
2165
|
+
:type table_details_request: TableDetailsRequest
|
|
2166
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2167
|
+
number provided, it will be total request
|
|
2168
|
+
timeout. It can also be a pair (tuple) of
|
|
2169
|
+
(connection, read) timeouts.
|
|
2170
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2171
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2172
|
+
request; this effectively ignores the
|
|
2173
|
+
authentication in the spec for a single request.
|
|
2174
|
+
:type _request_auth: dict, optional
|
|
2175
|
+
:param _content_type: force content-type for the request.
|
|
2176
|
+
:type _content_type: str, Optional
|
|
2177
|
+
:param _headers: set to override the headers for a single
|
|
2178
|
+
request; this effectively ignores the headers
|
|
2179
|
+
in the spec for a single request.
|
|
2180
|
+
:type _headers: dict, optional
|
|
2181
|
+
:param _host_index: set to override the host_index for a single
|
|
2182
|
+
request; this effectively ignores the host_index
|
|
2183
|
+
in the spec for a single request.
|
|
2184
|
+
:type _host_index: int, optional
|
|
2185
|
+
:return: Returns the result object.
|
|
2186
|
+
""" # noqa: E501
|
|
2187
|
+
|
|
2188
|
+
_param = self._api_v2_search_report_table_details_post_serialize(
|
|
2189
|
+
table_details_request=table_details_request,
|
|
2190
|
+
_request_auth=_request_auth,
|
|
2191
|
+
_content_type=_content_type,
|
|
2192
|
+
_headers=_headers,
|
|
2193
|
+
_host_index=_host_index
|
|
2194
|
+
)
|
|
2195
|
+
|
|
2196
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2197
|
+
'200': "ApiV2SearchReportTableDetailsPost200Response",
|
|
2198
|
+
'400': "ErrorObject400",
|
|
2199
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2200
|
+
'403': "ErrorObject403",
|
|
2201
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2202
|
+
}
|
|
2203
|
+
response_data = self.api_client.call_api(
|
|
2204
|
+
*_param,
|
|
2205
|
+
_request_timeout=_request_timeout
|
|
2206
|
+
)
|
|
2207
|
+
response_data.read()
|
|
2208
|
+
return self.api_client.response_deserialize(
|
|
2209
|
+
response_data=response_data,
|
|
2210
|
+
response_types_map=_response_types_map,
|
|
2211
|
+
)
|
|
2212
|
+
|
|
2213
|
+
|
|
2214
|
+
@validate_call
|
|
2215
|
+
def api_v2_search_report_table_details_post_without_preload_content(
|
|
2216
|
+
self,
|
|
2217
|
+
table_details_request: TableDetailsRequest,
|
|
2218
|
+
_request_timeout: Union[
|
|
2219
|
+
None,
|
|
2220
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2221
|
+
Tuple[
|
|
2222
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2223
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2224
|
+
]
|
|
2225
|
+
] = None,
|
|
2226
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2227
|
+
_content_type: Optional[StrictStr] = None,
|
|
2228
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2229
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2230
|
+
) -> RESTResponseType:
|
|
2231
|
+
"""Пагинация по товарам в группе
|
|
2232
|
+
|
|
2233
|
+
Метод формирует дополнительные данные к [основному отчёту](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1report/post) с пагинацией по товарам в группе. Пагинация возможна вне зависимости от наличия фильтров.<br><br> Фильтры для пагинации по товарам в группе или без фильтров: - кортеж `subjectId`,`brandName`,`tagId` — фильтр для группы - `nmIds` — фильтр по карточке товара Дополнительный параметр выбора списка товаров: - `positionCluster` — средняя позиция в поиске Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2234
|
+
|
|
2235
|
+
:param table_details_request: (required)
|
|
2236
|
+
:type table_details_request: TableDetailsRequest
|
|
2237
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2238
|
+
number provided, it will be total request
|
|
2239
|
+
timeout. It can also be a pair (tuple) of
|
|
2240
|
+
(connection, read) timeouts.
|
|
2241
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2242
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2243
|
+
request; this effectively ignores the
|
|
2244
|
+
authentication in the spec for a single request.
|
|
2245
|
+
:type _request_auth: dict, optional
|
|
2246
|
+
:param _content_type: force content-type for the request.
|
|
2247
|
+
:type _content_type: str, Optional
|
|
2248
|
+
:param _headers: set to override the headers for a single
|
|
2249
|
+
request; this effectively ignores the headers
|
|
2250
|
+
in the spec for a single request.
|
|
2251
|
+
:type _headers: dict, optional
|
|
2252
|
+
:param _host_index: set to override the host_index for a single
|
|
2253
|
+
request; this effectively ignores the host_index
|
|
2254
|
+
in the spec for a single request.
|
|
2255
|
+
:type _host_index: int, optional
|
|
2256
|
+
:return: Returns the result object.
|
|
2257
|
+
""" # noqa: E501
|
|
2258
|
+
|
|
2259
|
+
_param = self._api_v2_search_report_table_details_post_serialize(
|
|
2260
|
+
table_details_request=table_details_request,
|
|
2261
|
+
_request_auth=_request_auth,
|
|
2262
|
+
_content_type=_content_type,
|
|
2263
|
+
_headers=_headers,
|
|
2264
|
+
_host_index=_host_index
|
|
2265
|
+
)
|
|
2266
|
+
|
|
2267
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2268
|
+
'200': "ApiV2SearchReportTableDetailsPost200Response",
|
|
2269
|
+
'400': "ErrorObject400",
|
|
2270
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2271
|
+
'403': "ErrorObject403",
|
|
2272
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2273
|
+
}
|
|
2274
|
+
response_data = self.api_client.call_api(
|
|
2275
|
+
*_param,
|
|
2276
|
+
_request_timeout=_request_timeout
|
|
2277
|
+
)
|
|
2278
|
+
return response_data.response
|
|
2279
|
+
|
|
2280
|
+
|
|
2281
|
+
def _api_v2_search_report_table_details_post_serialize(
|
|
2282
|
+
self,
|
|
2283
|
+
table_details_request,
|
|
2284
|
+
_request_auth,
|
|
2285
|
+
_content_type,
|
|
2286
|
+
_headers,
|
|
2287
|
+
_host_index,
|
|
2288
|
+
) -> RequestSerialized:
|
|
2289
|
+
|
|
2290
|
+
_hosts = [
|
|
2291
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
2292
|
+
]
|
|
2293
|
+
_host = _hosts[_host_index]
|
|
2294
|
+
|
|
2295
|
+
_collection_formats: Dict[str, str] = {
|
|
2296
|
+
}
|
|
2297
|
+
|
|
2298
|
+
_path_params: Dict[str, str] = {}
|
|
2299
|
+
_query_params: List[Tuple[str, str]] = []
|
|
2300
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
2301
|
+
_form_params: List[Tuple[str, str]] = []
|
|
2302
|
+
_files: Dict[
|
|
2303
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
2304
|
+
] = {}
|
|
2305
|
+
_body_params: Optional[bytes] = None
|
|
2306
|
+
|
|
2307
|
+
# process the path parameters
|
|
2308
|
+
# process the query parameters
|
|
2309
|
+
# process the header parameters
|
|
2310
|
+
# process the form parameters
|
|
2311
|
+
# process the body parameter
|
|
2312
|
+
if table_details_request is not None:
|
|
2313
|
+
_body_params = table_details_request
|
|
2314
|
+
|
|
2315
|
+
|
|
2316
|
+
# set the HTTP header `Accept`
|
|
2317
|
+
if 'Accept' not in _header_params:
|
|
2318
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
2319
|
+
[
|
|
2320
|
+
'application/json'
|
|
2321
|
+
]
|
|
2322
|
+
)
|
|
2323
|
+
|
|
2324
|
+
# set the HTTP header `Content-Type`
|
|
2325
|
+
if _content_type:
|
|
2326
|
+
_header_params['Content-Type'] = _content_type
|
|
2327
|
+
else:
|
|
2328
|
+
_default_content_type = (
|
|
2329
|
+
self.api_client.select_header_content_type(
|
|
2330
|
+
[
|
|
2331
|
+
'application/json'
|
|
2332
|
+
]
|
|
2333
|
+
)
|
|
2334
|
+
)
|
|
2335
|
+
if _default_content_type is not None:
|
|
2336
|
+
_header_params['Content-Type'] = _default_content_type
|
|
2337
|
+
|
|
2338
|
+
# authentication setting
|
|
2339
|
+
_auth_settings: List[str] = [
|
|
2340
|
+
'HeaderApiKey'
|
|
2341
|
+
]
|
|
2342
|
+
|
|
2343
|
+
return self.api_client.param_serialize(
|
|
2344
|
+
method='POST',
|
|
2345
|
+
resource_path='/api/v2/search-report/table/details',
|
|
2346
|
+
path_params=_path_params,
|
|
2347
|
+
query_params=_query_params,
|
|
2348
|
+
header_params=_header_params,
|
|
2349
|
+
body=_body_params,
|
|
2350
|
+
post_params=_form_params,
|
|
2351
|
+
files=_files,
|
|
2352
|
+
auth_settings=_auth_settings,
|
|
2353
|
+
collection_formats=_collection_formats,
|
|
2354
|
+
_host=_host,
|
|
2355
|
+
_request_auth=_request_auth
|
|
2356
|
+
)
|
|
2357
|
+
|
|
2358
|
+
|
|
2359
|
+
|
|
2360
|
+
|
|
2361
|
+
@validate_call
|
|
2362
|
+
def api_v2_search_report_table_groups_post(
|
|
2363
|
+
self,
|
|
2364
|
+
table_group_request: TableGroupRequest,
|
|
2365
|
+
_request_timeout: Union[
|
|
2366
|
+
None,
|
|
2367
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2368
|
+
Tuple[
|
|
2369
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2370
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2371
|
+
]
|
|
2372
|
+
] = None,
|
|
2373
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2374
|
+
_content_type: Optional[StrictStr] = None,
|
|
2375
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2376
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2377
|
+
) -> ApiV2SearchReportTableGroupsPost200Response:
|
|
2378
|
+
"""Пагинация по группам
|
|
2379
|
+
|
|
2380
|
+
Метод формирует дополнительные данные к [основному отчёту](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1report/post) с пагинацией по группам. Пагинация возможна только при наличии фильтра по бренду, предмету или ярлыку.<br><br> Дополнительный параметр выбора списка товаров в таблице: - `positionCluster` — средняя позиция в поиске Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2381
|
+
|
|
2382
|
+
:param table_group_request: (required)
|
|
2383
|
+
:type table_group_request: TableGroupRequest
|
|
2384
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2385
|
+
number provided, it will be total request
|
|
2386
|
+
timeout. It can also be a pair (tuple) of
|
|
2387
|
+
(connection, read) timeouts.
|
|
2388
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2389
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2390
|
+
request; this effectively ignores the
|
|
2391
|
+
authentication in the spec for a single request.
|
|
2392
|
+
:type _request_auth: dict, optional
|
|
2393
|
+
:param _content_type: force content-type for the request.
|
|
2394
|
+
:type _content_type: str, Optional
|
|
2395
|
+
:param _headers: set to override the headers for a single
|
|
2396
|
+
request; this effectively ignores the headers
|
|
2397
|
+
in the spec for a single request.
|
|
2398
|
+
:type _headers: dict, optional
|
|
2399
|
+
:param _host_index: set to override the host_index for a single
|
|
2400
|
+
request; this effectively ignores the host_index
|
|
2401
|
+
in the spec for a single request.
|
|
2402
|
+
:type _host_index: int, optional
|
|
2403
|
+
:return: Returns the result object.
|
|
2404
|
+
""" # noqa: E501
|
|
2405
|
+
|
|
2406
|
+
_param = self._api_v2_search_report_table_groups_post_serialize(
|
|
2407
|
+
table_group_request=table_group_request,
|
|
2408
|
+
_request_auth=_request_auth,
|
|
2409
|
+
_content_type=_content_type,
|
|
2410
|
+
_headers=_headers,
|
|
2411
|
+
_host_index=_host_index
|
|
2412
|
+
)
|
|
2413
|
+
|
|
2414
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2415
|
+
'200': "ApiV2SearchReportTableGroupsPost200Response",
|
|
2416
|
+
'400': "ErrorObject400",
|
|
2417
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2418
|
+
'403': "ErrorObject403",
|
|
2419
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2420
|
+
}
|
|
2421
|
+
response_data = self.api_client.call_api(
|
|
2422
|
+
*_param,
|
|
2423
|
+
_request_timeout=_request_timeout
|
|
2424
|
+
)
|
|
2425
|
+
response_data.read()
|
|
2426
|
+
return self.api_client.response_deserialize(
|
|
2427
|
+
response_data=response_data,
|
|
2428
|
+
response_types_map=_response_types_map,
|
|
2429
|
+
).data
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
@validate_call
|
|
2433
|
+
def api_v2_search_report_table_groups_post_with_http_info(
|
|
2434
|
+
self,
|
|
2435
|
+
table_group_request: TableGroupRequest,
|
|
2436
|
+
_request_timeout: Union[
|
|
2437
|
+
None,
|
|
2438
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2439
|
+
Tuple[
|
|
2440
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2441
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2442
|
+
]
|
|
2443
|
+
] = None,
|
|
2444
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2445
|
+
_content_type: Optional[StrictStr] = None,
|
|
2446
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2447
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2448
|
+
) -> ApiResponse[ApiV2SearchReportTableGroupsPost200Response]:
|
|
2449
|
+
"""Пагинация по группам
|
|
2450
|
+
|
|
2451
|
+
Метод формирует дополнительные данные к [основному отчёту](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1report/post) с пагинацией по группам. Пагинация возможна только при наличии фильтра по бренду, предмету или ярлыку.<br><br> Дополнительный параметр выбора списка товаров в таблице: - `positionCluster` — средняя позиция в поиске Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2452
|
+
|
|
2453
|
+
:param table_group_request: (required)
|
|
2454
|
+
:type table_group_request: TableGroupRequest
|
|
2455
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2456
|
+
number provided, it will be total request
|
|
2457
|
+
timeout. It can also be a pair (tuple) of
|
|
2458
|
+
(connection, read) timeouts.
|
|
2459
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2460
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2461
|
+
request; this effectively ignores the
|
|
2462
|
+
authentication in the spec for a single request.
|
|
2463
|
+
:type _request_auth: dict, optional
|
|
2464
|
+
:param _content_type: force content-type for the request.
|
|
2465
|
+
:type _content_type: str, Optional
|
|
2466
|
+
:param _headers: set to override the headers for a single
|
|
2467
|
+
request; this effectively ignores the headers
|
|
2468
|
+
in the spec for a single request.
|
|
2469
|
+
:type _headers: dict, optional
|
|
2470
|
+
:param _host_index: set to override the host_index for a single
|
|
2471
|
+
request; this effectively ignores the host_index
|
|
2472
|
+
in the spec for a single request.
|
|
2473
|
+
:type _host_index: int, optional
|
|
2474
|
+
:return: Returns the result object.
|
|
2475
|
+
""" # noqa: E501
|
|
2476
|
+
|
|
2477
|
+
_param = self._api_v2_search_report_table_groups_post_serialize(
|
|
2478
|
+
table_group_request=table_group_request,
|
|
2479
|
+
_request_auth=_request_auth,
|
|
2480
|
+
_content_type=_content_type,
|
|
2481
|
+
_headers=_headers,
|
|
2482
|
+
_host_index=_host_index
|
|
2483
|
+
)
|
|
2484
|
+
|
|
2485
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2486
|
+
'200': "ApiV2SearchReportTableGroupsPost200Response",
|
|
2487
|
+
'400': "ErrorObject400",
|
|
2488
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2489
|
+
'403': "ErrorObject403",
|
|
2490
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2491
|
+
}
|
|
2492
|
+
response_data = self.api_client.call_api(
|
|
2493
|
+
*_param,
|
|
2494
|
+
_request_timeout=_request_timeout
|
|
2495
|
+
)
|
|
2496
|
+
response_data.read()
|
|
2497
|
+
return self.api_client.response_deserialize(
|
|
2498
|
+
response_data=response_data,
|
|
2499
|
+
response_types_map=_response_types_map,
|
|
2500
|
+
)
|
|
2501
|
+
|
|
2502
|
+
|
|
2503
|
+
@validate_call
|
|
2504
|
+
def api_v2_search_report_table_groups_post_without_preload_content(
|
|
2505
|
+
self,
|
|
2506
|
+
table_group_request: TableGroupRequest,
|
|
2507
|
+
_request_timeout: Union[
|
|
2508
|
+
None,
|
|
2509
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2510
|
+
Tuple[
|
|
2511
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2512
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2513
|
+
]
|
|
2514
|
+
] = None,
|
|
2515
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2516
|
+
_content_type: Optional[StrictStr] = None,
|
|
2517
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2518
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2519
|
+
) -> RESTResponseType:
|
|
2520
|
+
"""Пагинация по группам
|
|
2521
|
+
|
|
2522
|
+
Метод формирует дополнительные данные к [основному отчёту](/openapi/analytics#tag/Poiskovye-zaprosy-po-vashim-tovaram/paths/~1api~1v2~1search-report~1report/post) с пагинацией по группам. Пагинация возможна только при наличии фильтра по бренду, предмету или ярлыку.<br><br> Дополнительный параметр выбора списка товаров в таблице: - `positionCluster` — средняя позиция в поиске Параметры `includeSubstitutedSKUs` и `includeSearchTexts` не могут одновременно иметь значение `false`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2523
|
+
|
|
2524
|
+
:param table_group_request: (required)
|
|
2525
|
+
:type table_group_request: TableGroupRequest
|
|
2526
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2527
|
+
number provided, it will be total request
|
|
2528
|
+
timeout. It can also be a pair (tuple) of
|
|
2529
|
+
(connection, read) timeouts.
|
|
2530
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2531
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2532
|
+
request; this effectively ignores the
|
|
2533
|
+
authentication in the spec for a single request.
|
|
2534
|
+
:type _request_auth: dict, optional
|
|
2535
|
+
:param _content_type: force content-type for the request.
|
|
2536
|
+
:type _content_type: str, Optional
|
|
2537
|
+
:param _headers: set to override the headers for a single
|
|
2538
|
+
request; this effectively ignores the headers
|
|
2539
|
+
in the spec for a single request.
|
|
2540
|
+
:type _headers: dict, optional
|
|
2541
|
+
:param _host_index: set to override the host_index for a single
|
|
2542
|
+
request; this effectively ignores the host_index
|
|
2543
|
+
in the spec for a single request.
|
|
2544
|
+
:type _host_index: int, optional
|
|
2545
|
+
:return: Returns the result object.
|
|
2546
|
+
""" # noqa: E501
|
|
2547
|
+
|
|
2548
|
+
_param = self._api_v2_search_report_table_groups_post_serialize(
|
|
2549
|
+
table_group_request=table_group_request,
|
|
2550
|
+
_request_auth=_request_auth,
|
|
2551
|
+
_content_type=_content_type,
|
|
2552
|
+
_headers=_headers,
|
|
2553
|
+
_host_index=_host_index
|
|
2554
|
+
)
|
|
2555
|
+
|
|
2556
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2557
|
+
'200': "ApiV2SearchReportTableGroupsPost200Response",
|
|
2558
|
+
'400': "ErrorObject400",
|
|
2559
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2560
|
+
'403': "ErrorObject403",
|
|
2561
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2562
|
+
}
|
|
2563
|
+
response_data = self.api_client.call_api(
|
|
2564
|
+
*_param,
|
|
2565
|
+
_request_timeout=_request_timeout
|
|
2566
|
+
)
|
|
2567
|
+
return response_data.response
|
|
2568
|
+
|
|
2569
|
+
|
|
2570
|
+
def _api_v2_search_report_table_groups_post_serialize(
|
|
2571
|
+
self,
|
|
2572
|
+
table_group_request,
|
|
2573
|
+
_request_auth,
|
|
2574
|
+
_content_type,
|
|
2575
|
+
_headers,
|
|
2576
|
+
_host_index,
|
|
2577
|
+
) -> RequestSerialized:
|
|
2578
|
+
|
|
2579
|
+
_hosts = [
|
|
2580
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
2581
|
+
]
|
|
2582
|
+
_host = _hosts[_host_index]
|
|
2583
|
+
|
|
2584
|
+
_collection_formats: Dict[str, str] = {
|
|
2585
|
+
}
|
|
2586
|
+
|
|
2587
|
+
_path_params: Dict[str, str] = {}
|
|
2588
|
+
_query_params: List[Tuple[str, str]] = []
|
|
2589
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
2590
|
+
_form_params: List[Tuple[str, str]] = []
|
|
2591
|
+
_files: Dict[
|
|
2592
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
2593
|
+
] = {}
|
|
2594
|
+
_body_params: Optional[bytes] = None
|
|
2595
|
+
|
|
2596
|
+
# process the path parameters
|
|
2597
|
+
# process the query parameters
|
|
2598
|
+
# process the header parameters
|
|
2599
|
+
# process the form parameters
|
|
2600
|
+
# process the body parameter
|
|
2601
|
+
if table_group_request is not None:
|
|
2602
|
+
_body_params = table_group_request
|
|
2603
|
+
|
|
2604
|
+
|
|
2605
|
+
# set the HTTP header `Accept`
|
|
2606
|
+
if 'Accept' not in _header_params:
|
|
2607
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
2608
|
+
[
|
|
2609
|
+
'application/json'
|
|
2610
|
+
]
|
|
2611
|
+
)
|
|
2612
|
+
|
|
2613
|
+
# set the HTTP header `Content-Type`
|
|
2614
|
+
if _content_type:
|
|
2615
|
+
_header_params['Content-Type'] = _content_type
|
|
2616
|
+
else:
|
|
2617
|
+
_default_content_type = (
|
|
2618
|
+
self.api_client.select_header_content_type(
|
|
2619
|
+
[
|
|
2620
|
+
'application/json'
|
|
2621
|
+
]
|
|
2622
|
+
)
|
|
2623
|
+
)
|
|
2624
|
+
if _default_content_type is not None:
|
|
2625
|
+
_header_params['Content-Type'] = _default_content_type
|
|
2626
|
+
|
|
2627
|
+
# authentication setting
|
|
2628
|
+
_auth_settings: List[str] = [
|
|
2629
|
+
'HeaderApiKey'
|
|
2630
|
+
]
|
|
2631
|
+
|
|
2632
|
+
return self.api_client.param_serialize(
|
|
2633
|
+
method='POST',
|
|
2634
|
+
resource_path='/api/v2/search-report/table/groups',
|
|
2635
|
+
path_params=_path_params,
|
|
2636
|
+
query_params=_query_params,
|
|
2637
|
+
header_params=_header_params,
|
|
2638
|
+
body=_body_params,
|
|
2639
|
+
post_params=_form_params,
|
|
2640
|
+
files=_files,
|
|
2641
|
+
auth_settings=_auth_settings,
|
|
2642
|
+
collection_formats=_collection_formats,
|
|
2643
|
+
_host=_host,
|
|
2644
|
+
_request_auth=_request_auth
|
|
2645
|
+
)
|
|
2646
|
+
|
|
2647
|
+
|
|
2648
|
+
|
|
2649
|
+
|
|
2650
|
+
@validate_call
|
|
2651
|
+
def api_v2_stocks_report_offices_post(
|
|
2652
|
+
self,
|
|
2653
|
+
body: CommonShippingOfficeFilters,
|
|
2654
|
+
_request_timeout: Union[
|
|
2655
|
+
None,
|
|
2656
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2657
|
+
Tuple[
|
|
2658
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2659
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2660
|
+
]
|
|
2661
|
+
] = None,
|
|
2662
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2663
|
+
_content_type: Optional[StrictStr] = None,
|
|
2664
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2665
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2666
|
+
) -> ApiV2StocksReportOfficesPost200Response:
|
|
2667
|
+
"""Данные по складам
|
|
2668
|
+
|
|
2669
|
+
Метод формирует набор данных об остатках по складам. <br><br> Данные по складам продавца приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам — эти записи будут с `\"regionName\":\"Маркетплейс\"` и `\"offices\":[]`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2670
|
+
|
|
2671
|
+
:param body: (required)
|
|
2672
|
+
:type body: CommonShippingOfficeFilters
|
|
2673
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2674
|
+
number provided, it will be total request
|
|
2675
|
+
timeout. It can also be a pair (tuple) of
|
|
2676
|
+
(connection, read) timeouts.
|
|
2677
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2678
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2679
|
+
request; this effectively ignores the
|
|
2680
|
+
authentication in the spec for a single request.
|
|
2681
|
+
:type _request_auth: dict, optional
|
|
2682
|
+
:param _content_type: force content-type for the request.
|
|
2683
|
+
:type _content_type: str, Optional
|
|
2684
|
+
:param _headers: set to override the headers for a single
|
|
2685
|
+
request; this effectively ignores the headers
|
|
2686
|
+
in the spec for a single request.
|
|
2687
|
+
:type _headers: dict, optional
|
|
2688
|
+
:param _host_index: set to override the host_index for a single
|
|
2689
|
+
request; this effectively ignores the host_index
|
|
2690
|
+
in the spec for a single request.
|
|
2691
|
+
:type _host_index: int, optional
|
|
2692
|
+
:return: Returns the result object.
|
|
2693
|
+
""" # noqa: E501
|
|
2694
|
+
|
|
2695
|
+
_param = self._api_v2_stocks_report_offices_post_serialize(
|
|
2696
|
+
body=body,
|
|
2697
|
+
_request_auth=_request_auth,
|
|
2698
|
+
_content_type=_content_type,
|
|
2699
|
+
_headers=_headers,
|
|
2700
|
+
_host_index=_host_index
|
|
2701
|
+
)
|
|
2702
|
+
|
|
2703
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2704
|
+
'200': "ApiV2StocksReportOfficesPost200Response",
|
|
2705
|
+
'400': "ErrorObject400",
|
|
2706
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2707
|
+
'403': "ErrorObject403",
|
|
2708
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2709
|
+
}
|
|
2710
|
+
response_data = self.api_client.call_api(
|
|
2711
|
+
*_param,
|
|
2712
|
+
_request_timeout=_request_timeout
|
|
2713
|
+
)
|
|
2714
|
+
response_data.read()
|
|
2715
|
+
return self.api_client.response_deserialize(
|
|
2716
|
+
response_data=response_data,
|
|
2717
|
+
response_types_map=_response_types_map,
|
|
2718
|
+
).data
|
|
2719
|
+
|
|
2720
|
+
|
|
2721
|
+
@validate_call
|
|
2722
|
+
def api_v2_stocks_report_offices_post_with_http_info(
|
|
2723
|
+
self,
|
|
2724
|
+
body: CommonShippingOfficeFilters,
|
|
2725
|
+
_request_timeout: Union[
|
|
2726
|
+
None,
|
|
2727
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2728
|
+
Tuple[
|
|
2729
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2730
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2731
|
+
]
|
|
2732
|
+
] = None,
|
|
2733
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2734
|
+
_content_type: Optional[StrictStr] = None,
|
|
2735
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2736
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2737
|
+
) -> ApiResponse[ApiV2StocksReportOfficesPost200Response]:
|
|
2738
|
+
"""Данные по складам
|
|
2739
|
+
|
|
2740
|
+
Метод формирует набор данных об остатках по складам. <br><br> Данные по складам продавца приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам — эти записи будут с `\"regionName\":\"Маркетплейс\"` и `\"offices\":[]`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2741
|
+
|
|
2742
|
+
:param body: (required)
|
|
2743
|
+
:type body: CommonShippingOfficeFilters
|
|
2744
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2745
|
+
number provided, it will be total request
|
|
2746
|
+
timeout. It can also be a pair (tuple) of
|
|
2747
|
+
(connection, read) timeouts.
|
|
2748
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2749
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2750
|
+
request; this effectively ignores the
|
|
2751
|
+
authentication in the spec for a single request.
|
|
2752
|
+
:type _request_auth: dict, optional
|
|
2753
|
+
:param _content_type: force content-type for the request.
|
|
2754
|
+
:type _content_type: str, Optional
|
|
2755
|
+
:param _headers: set to override the headers for a single
|
|
2756
|
+
request; this effectively ignores the headers
|
|
2757
|
+
in the spec for a single request.
|
|
2758
|
+
:type _headers: dict, optional
|
|
2759
|
+
:param _host_index: set to override the host_index for a single
|
|
2760
|
+
request; this effectively ignores the host_index
|
|
2761
|
+
in the spec for a single request.
|
|
2762
|
+
:type _host_index: int, optional
|
|
2763
|
+
:return: Returns the result object.
|
|
2764
|
+
""" # noqa: E501
|
|
2765
|
+
|
|
2766
|
+
_param = self._api_v2_stocks_report_offices_post_serialize(
|
|
2767
|
+
body=body,
|
|
2768
|
+
_request_auth=_request_auth,
|
|
2769
|
+
_content_type=_content_type,
|
|
2770
|
+
_headers=_headers,
|
|
2771
|
+
_host_index=_host_index
|
|
2772
|
+
)
|
|
2773
|
+
|
|
2774
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2775
|
+
'200': "ApiV2StocksReportOfficesPost200Response",
|
|
2776
|
+
'400': "ErrorObject400",
|
|
2777
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2778
|
+
'403': "ErrorObject403",
|
|
2779
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2780
|
+
}
|
|
2781
|
+
response_data = self.api_client.call_api(
|
|
2782
|
+
*_param,
|
|
2783
|
+
_request_timeout=_request_timeout
|
|
2784
|
+
)
|
|
2785
|
+
response_data.read()
|
|
2786
|
+
return self.api_client.response_deserialize(
|
|
2787
|
+
response_data=response_data,
|
|
2788
|
+
response_types_map=_response_types_map,
|
|
2789
|
+
)
|
|
2790
|
+
|
|
2791
|
+
|
|
2792
|
+
@validate_call
|
|
2793
|
+
def api_v2_stocks_report_offices_post_without_preload_content(
|
|
2794
|
+
self,
|
|
2795
|
+
body: CommonShippingOfficeFilters,
|
|
2796
|
+
_request_timeout: Union[
|
|
2797
|
+
None,
|
|
2798
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2799
|
+
Tuple[
|
|
2800
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2801
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2802
|
+
]
|
|
2803
|
+
] = None,
|
|
2804
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2805
|
+
_content_type: Optional[StrictStr] = None,
|
|
2806
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2807
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2808
|
+
) -> RESTResponseType:
|
|
2809
|
+
"""Данные по складам
|
|
2810
|
+
|
|
2811
|
+
Метод формирует набор данных об остатках по складам. <br><br> Данные по складам продавца приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам — эти записи будут с `\"regionName\":\"Маркетплейс\"` и `\"offices\":[]`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2812
|
+
|
|
2813
|
+
:param body: (required)
|
|
2814
|
+
:type body: CommonShippingOfficeFilters
|
|
2815
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2816
|
+
number provided, it will be total request
|
|
2817
|
+
timeout. It can also be a pair (tuple) of
|
|
2818
|
+
(connection, read) timeouts.
|
|
2819
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2820
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2821
|
+
request; this effectively ignores the
|
|
2822
|
+
authentication in the spec for a single request.
|
|
2823
|
+
:type _request_auth: dict, optional
|
|
2824
|
+
:param _content_type: force content-type for the request.
|
|
2825
|
+
:type _content_type: str, Optional
|
|
2826
|
+
:param _headers: set to override the headers for a single
|
|
2827
|
+
request; this effectively ignores the headers
|
|
2828
|
+
in the spec for a single request.
|
|
2829
|
+
:type _headers: dict, optional
|
|
2830
|
+
:param _host_index: set to override the host_index for a single
|
|
2831
|
+
request; this effectively ignores the host_index
|
|
2832
|
+
in the spec for a single request.
|
|
2833
|
+
:type _host_index: int, optional
|
|
2834
|
+
:return: Returns the result object.
|
|
2835
|
+
""" # noqa: E501
|
|
2836
|
+
|
|
2837
|
+
_param = self._api_v2_stocks_report_offices_post_serialize(
|
|
2838
|
+
body=body,
|
|
2839
|
+
_request_auth=_request_auth,
|
|
2840
|
+
_content_type=_content_type,
|
|
2841
|
+
_headers=_headers,
|
|
2842
|
+
_host_index=_host_index
|
|
2843
|
+
)
|
|
2844
|
+
|
|
2845
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2846
|
+
'200': "ApiV2StocksReportOfficesPost200Response",
|
|
2847
|
+
'400': "ErrorObject400",
|
|
2848
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2849
|
+
'403': "ErrorObject403",
|
|
2850
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2851
|
+
}
|
|
2852
|
+
response_data = self.api_client.call_api(
|
|
2853
|
+
*_param,
|
|
2854
|
+
_request_timeout=_request_timeout
|
|
2855
|
+
)
|
|
2856
|
+
return response_data.response
|
|
2857
|
+
|
|
2858
|
+
|
|
2859
|
+
def _api_v2_stocks_report_offices_post_serialize(
|
|
2860
|
+
self,
|
|
2861
|
+
body,
|
|
2862
|
+
_request_auth,
|
|
2863
|
+
_content_type,
|
|
2864
|
+
_headers,
|
|
2865
|
+
_host_index,
|
|
2866
|
+
) -> RequestSerialized:
|
|
2867
|
+
|
|
2868
|
+
_hosts = [
|
|
2869
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
2870
|
+
]
|
|
2871
|
+
_host = _hosts[_host_index]
|
|
2872
|
+
|
|
2873
|
+
_collection_formats: Dict[str, str] = {
|
|
2874
|
+
}
|
|
2875
|
+
|
|
2876
|
+
_path_params: Dict[str, str] = {}
|
|
2877
|
+
_query_params: List[Tuple[str, str]] = []
|
|
2878
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
2879
|
+
_form_params: List[Tuple[str, str]] = []
|
|
2880
|
+
_files: Dict[
|
|
2881
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
2882
|
+
] = {}
|
|
2883
|
+
_body_params: Optional[bytes] = None
|
|
2884
|
+
|
|
2885
|
+
# process the path parameters
|
|
2886
|
+
# process the query parameters
|
|
2887
|
+
# process the header parameters
|
|
2888
|
+
# process the form parameters
|
|
2889
|
+
# process the body parameter
|
|
2890
|
+
if body is not None:
|
|
2891
|
+
_body_params = body
|
|
2892
|
+
|
|
2893
|
+
|
|
2894
|
+
# set the HTTP header `Accept`
|
|
2895
|
+
if 'Accept' not in _header_params:
|
|
2896
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
2897
|
+
[
|
|
2898
|
+
'application/json'
|
|
2899
|
+
]
|
|
2900
|
+
)
|
|
2901
|
+
|
|
2902
|
+
# set the HTTP header `Content-Type`
|
|
2903
|
+
if _content_type:
|
|
2904
|
+
_header_params['Content-Type'] = _content_type
|
|
2905
|
+
else:
|
|
2906
|
+
_default_content_type = (
|
|
2907
|
+
self.api_client.select_header_content_type(
|
|
2908
|
+
[
|
|
2909
|
+
'application/json'
|
|
2910
|
+
]
|
|
2911
|
+
)
|
|
2912
|
+
)
|
|
2913
|
+
if _default_content_type is not None:
|
|
2914
|
+
_header_params['Content-Type'] = _default_content_type
|
|
2915
|
+
|
|
2916
|
+
# authentication setting
|
|
2917
|
+
_auth_settings: List[str] = [
|
|
2918
|
+
'HeaderApiKey'
|
|
2919
|
+
]
|
|
2920
|
+
|
|
2921
|
+
return self.api_client.param_serialize(
|
|
2922
|
+
method='POST',
|
|
2923
|
+
resource_path='/api/v2/stocks-report/offices',
|
|
2924
|
+
path_params=_path_params,
|
|
2925
|
+
query_params=_query_params,
|
|
2926
|
+
header_params=_header_params,
|
|
2927
|
+
body=_body_params,
|
|
2928
|
+
post_params=_form_params,
|
|
2929
|
+
files=_files,
|
|
2930
|
+
auth_settings=_auth_settings,
|
|
2931
|
+
collection_formats=_collection_formats,
|
|
2932
|
+
_host=_host,
|
|
2933
|
+
_request_auth=_request_auth
|
|
2934
|
+
)
|
|
2935
|
+
|
|
2936
|
+
|
|
2937
|
+
|
|
2938
|
+
|
|
2939
|
+
@validate_call
|
|
2940
|
+
def api_v2_stocks_report_products_groups_post(
|
|
2941
|
+
self,
|
|
2942
|
+
table_group_request_st: TableGroupRequestSt,
|
|
2943
|
+
_request_timeout: Union[
|
|
2944
|
+
None,
|
|
2945
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2946
|
+
Tuple[
|
|
2947
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
2948
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
2949
|
+
]
|
|
2950
|
+
] = None,
|
|
2951
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
2952
|
+
_content_type: Optional[StrictStr] = None,
|
|
2953
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
2954
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
2955
|
+
) -> ApiV2StocksReportProductsGroupsPost200Response:
|
|
2956
|
+
"""Данные по группам
|
|
2957
|
+
|
|
2958
|
+
Метод формирует набор данных об остатках по группам товаров. <br><br> Группа товаров описывается кортежем `subjectID, brandName, tagID`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
2959
|
+
|
|
2960
|
+
:param table_group_request_st: (required)
|
|
2961
|
+
:type table_group_request_st: TableGroupRequestSt
|
|
2962
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
2963
|
+
number provided, it will be total request
|
|
2964
|
+
timeout. It can also be a pair (tuple) of
|
|
2965
|
+
(connection, read) timeouts.
|
|
2966
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
2967
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
2968
|
+
request; this effectively ignores the
|
|
2969
|
+
authentication in the spec for a single request.
|
|
2970
|
+
:type _request_auth: dict, optional
|
|
2971
|
+
:param _content_type: force content-type for the request.
|
|
2972
|
+
:type _content_type: str, Optional
|
|
2973
|
+
:param _headers: set to override the headers for a single
|
|
2974
|
+
request; this effectively ignores the headers
|
|
2975
|
+
in the spec for a single request.
|
|
2976
|
+
:type _headers: dict, optional
|
|
2977
|
+
:param _host_index: set to override the host_index for a single
|
|
2978
|
+
request; this effectively ignores the host_index
|
|
2979
|
+
in the spec for a single request.
|
|
2980
|
+
:type _host_index: int, optional
|
|
2981
|
+
:return: Returns the result object.
|
|
2982
|
+
""" # noqa: E501
|
|
2983
|
+
|
|
2984
|
+
_param = self._api_v2_stocks_report_products_groups_post_serialize(
|
|
2985
|
+
table_group_request_st=table_group_request_st,
|
|
2986
|
+
_request_auth=_request_auth,
|
|
2987
|
+
_content_type=_content_type,
|
|
2988
|
+
_headers=_headers,
|
|
2989
|
+
_host_index=_host_index
|
|
2990
|
+
)
|
|
2991
|
+
|
|
2992
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
2993
|
+
'200': "ApiV2StocksReportProductsGroupsPost200Response",
|
|
2994
|
+
'400': "ErrorObject400",
|
|
2995
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
2996
|
+
'403': "ErrorObject403",
|
|
2997
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
2998
|
+
}
|
|
2999
|
+
response_data = self.api_client.call_api(
|
|
3000
|
+
*_param,
|
|
3001
|
+
_request_timeout=_request_timeout
|
|
3002
|
+
)
|
|
3003
|
+
response_data.read()
|
|
3004
|
+
return self.api_client.response_deserialize(
|
|
3005
|
+
response_data=response_data,
|
|
3006
|
+
response_types_map=_response_types_map,
|
|
3007
|
+
).data
|
|
3008
|
+
|
|
3009
|
+
|
|
3010
|
+
@validate_call
|
|
3011
|
+
def api_v2_stocks_report_products_groups_post_with_http_info(
|
|
3012
|
+
self,
|
|
3013
|
+
table_group_request_st: TableGroupRequestSt,
|
|
3014
|
+
_request_timeout: Union[
|
|
3015
|
+
None,
|
|
3016
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3017
|
+
Tuple[
|
|
3018
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3019
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3020
|
+
]
|
|
3021
|
+
] = None,
|
|
3022
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3023
|
+
_content_type: Optional[StrictStr] = None,
|
|
3024
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3025
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3026
|
+
) -> ApiResponse[ApiV2StocksReportProductsGroupsPost200Response]:
|
|
3027
|
+
"""Данные по группам
|
|
3028
|
+
|
|
3029
|
+
Метод формирует набор данных об остатках по группам товаров. <br><br> Группа товаров описывается кортежем `subjectID, brandName, tagID`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3030
|
+
|
|
3031
|
+
:param table_group_request_st: (required)
|
|
3032
|
+
:type table_group_request_st: TableGroupRequestSt
|
|
3033
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3034
|
+
number provided, it will be total request
|
|
3035
|
+
timeout. It can also be a pair (tuple) of
|
|
3036
|
+
(connection, read) timeouts.
|
|
3037
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3038
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3039
|
+
request; this effectively ignores the
|
|
3040
|
+
authentication in the spec for a single request.
|
|
3041
|
+
:type _request_auth: dict, optional
|
|
3042
|
+
:param _content_type: force content-type for the request.
|
|
3043
|
+
:type _content_type: str, Optional
|
|
3044
|
+
:param _headers: set to override the headers for a single
|
|
3045
|
+
request; this effectively ignores the headers
|
|
3046
|
+
in the spec for a single request.
|
|
3047
|
+
:type _headers: dict, optional
|
|
3048
|
+
:param _host_index: set to override the host_index for a single
|
|
3049
|
+
request; this effectively ignores the host_index
|
|
3050
|
+
in the spec for a single request.
|
|
3051
|
+
:type _host_index: int, optional
|
|
3052
|
+
:return: Returns the result object.
|
|
3053
|
+
""" # noqa: E501
|
|
3054
|
+
|
|
3055
|
+
_param = self._api_v2_stocks_report_products_groups_post_serialize(
|
|
3056
|
+
table_group_request_st=table_group_request_st,
|
|
3057
|
+
_request_auth=_request_auth,
|
|
3058
|
+
_content_type=_content_type,
|
|
3059
|
+
_headers=_headers,
|
|
3060
|
+
_host_index=_host_index
|
|
3061
|
+
)
|
|
3062
|
+
|
|
3063
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3064
|
+
'200': "ApiV2StocksReportProductsGroupsPost200Response",
|
|
3065
|
+
'400': "ErrorObject400",
|
|
3066
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3067
|
+
'403': "ErrorObject403",
|
|
3068
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3069
|
+
}
|
|
3070
|
+
response_data = self.api_client.call_api(
|
|
3071
|
+
*_param,
|
|
3072
|
+
_request_timeout=_request_timeout
|
|
3073
|
+
)
|
|
3074
|
+
response_data.read()
|
|
3075
|
+
return self.api_client.response_deserialize(
|
|
3076
|
+
response_data=response_data,
|
|
3077
|
+
response_types_map=_response_types_map,
|
|
3078
|
+
)
|
|
3079
|
+
|
|
3080
|
+
|
|
3081
|
+
@validate_call
|
|
3082
|
+
def api_v2_stocks_report_products_groups_post_without_preload_content(
|
|
3083
|
+
self,
|
|
3084
|
+
table_group_request_st: TableGroupRequestSt,
|
|
3085
|
+
_request_timeout: Union[
|
|
3086
|
+
None,
|
|
3087
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3088
|
+
Tuple[
|
|
3089
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3090
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3091
|
+
]
|
|
3092
|
+
] = None,
|
|
3093
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3094
|
+
_content_type: Optional[StrictStr] = None,
|
|
3095
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3096
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3097
|
+
) -> RESTResponseType:
|
|
3098
|
+
"""Данные по группам
|
|
3099
|
+
|
|
3100
|
+
Метод формирует набор данных об остатках по группам товаров. <br><br> Группа товаров описывается кортежем `subjectID, brandName, tagID`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3101
|
+
|
|
3102
|
+
:param table_group_request_st: (required)
|
|
3103
|
+
:type table_group_request_st: TableGroupRequestSt
|
|
3104
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3105
|
+
number provided, it will be total request
|
|
3106
|
+
timeout. It can also be a pair (tuple) of
|
|
3107
|
+
(connection, read) timeouts.
|
|
3108
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3109
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3110
|
+
request; this effectively ignores the
|
|
3111
|
+
authentication in the spec for a single request.
|
|
3112
|
+
:type _request_auth: dict, optional
|
|
3113
|
+
:param _content_type: force content-type for the request.
|
|
3114
|
+
:type _content_type: str, Optional
|
|
3115
|
+
:param _headers: set to override the headers for a single
|
|
3116
|
+
request; this effectively ignores the headers
|
|
3117
|
+
in the spec for a single request.
|
|
3118
|
+
:type _headers: dict, optional
|
|
3119
|
+
:param _host_index: set to override the host_index for a single
|
|
3120
|
+
request; this effectively ignores the host_index
|
|
3121
|
+
in the spec for a single request.
|
|
3122
|
+
:type _host_index: int, optional
|
|
3123
|
+
:return: Returns the result object.
|
|
3124
|
+
""" # noqa: E501
|
|
3125
|
+
|
|
3126
|
+
_param = self._api_v2_stocks_report_products_groups_post_serialize(
|
|
3127
|
+
table_group_request_st=table_group_request_st,
|
|
3128
|
+
_request_auth=_request_auth,
|
|
3129
|
+
_content_type=_content_type,
|
|
3130
|
+
_headers=_headers,
|
|
3131
|
+
_host_index=_host_index
|
|
3132
|
+
)
|
|
3133
|
+
|
|
3134
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3135
|
+
'200': "ApiV2StocksReportProductsGroupsPost200Response",
|
|
3136
|
+
'400': "ErrorObject400",
|
|
3137
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3138
|
+
'403': "ErrorObject403",
|
|
3139
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3140
|
+
}
|
|
3141
|
+
response_data = self.api_client.call_api(
|
|
3142
|
+
*_param,
|
|
3143
|
+
_request_timeout=_request_timeout
|
|
3144
|
+
)
|
|
3145
|
+
return response_data.response
|
|
3146
|
+
|
|
3147
|
+
|
|
3148
|
+
def _api_v2_stocks_report_products_groups_post_serialize(
|
|
3149
|
+
self,
|
|
3150
|
+
table_group_request_st,
|
|
3151
|
+
_request_auth,
|
|
3152
|
+
_content_type,
|
|
3153
|
+
_headers,
|
|
3154
|
+
_host_index,
|
|
3155
|
+
) -> RequestSerialized:
|
|
3156
|
+
|
|
3157
|
+
_hosts = [
|
|
3158
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
3159
|
+
]
|
|
3160
|
+
_host = _hosts[_host_index]
|
|
3161
|
+
|
|
3162
|
+
_collection_formats: Dict[str, str] = {
|
|
3163
|
+
}
|
|
3164
|
+
|
|
3165
|
+
_path_params: Dict[str, str] = {}
|
|
3166
|
+
_query_params: List[Tuple[str, str]] = []
|
|
3167
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
3168
|
+
_form_params: List[Tuple[str, str]] = []
|
|
3169
|
+
_files: Dict[
|
|
3170
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
3171
|
+
] = {}
|
|
3172
|
+
_body_params: Optional[bytes] = None
|
|
3173
|
+
|
|
3174
|
+
# process the path parameters
|
|
3175
|
+
# process the query parameters
|
|
3176
|
+
# process the header parameters
|
|
3177
|
+
# process the form parameters
|
|
3178
|
+
# process the body parameter
|
|
3179
|
+
if table_group_request_st is not None:
|
|
3180
|
+
_body_params = table_group_request_st
|
|
3181
|
+
|
|
3182
|
+
|
|
3183
|
+
# set the HTTP header `Accept`
|
|
3184
|
+
if 'Accept' not in _header_params:
|
|
3185
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
3186
|
+
[
|
|
3187
|
+
'application/json'
|
|
3188
|
+
]
|
|
3189
|
+
)
|
|
3190
|
+
|
|
3191
|
+
# set the HTTP header `Content-Type`
|
|
3192
|
+
if _content_type:
|
|
3193
|
+
_header_params['Content-Type'] = _content_type
|
|
3194
|
+
else:
|
|
3195
|
+
_default_content_type = (
|
|
3196
|
+
self.api_client.select_header_content_type(
|
|
3197
|
+
[
|
|
3198
|
+
'application/json'
|
|
3199
|
+
]
|
|
3200
|
+
)
|
|
3201
|
+
)
|
|
3202
|
+
if _default_content_type is not None:
|
|
3203
|
+
_header_params['Content-Type'] = _default_content_type
|
|
3204
|
+
|
|
3205
|
+
# authentication setting
|
|
3206
|
+
_auth_settings: List[str] = [
|
|
3207
|
+
'HeaderApiKey'
|
|
3208
|
+
]
|
|
3209
|
+
|
|
3210
|
+
return self.api_client.param_serialize(
|
|
3211
|
+
method='POST',
|
|
3212
|
+
resource_path='/api/v2/stocks-report/products/groups',
|
|
3213
|
+
path_params=_path_params,
|
|
3214
|
+
query_params=_query_params,
|
|
3215
|
+
header_params=_header_params,
|
|
3216
|
+
body=_body_params,
|
|
3217
|
+
post_params=_form_params,
|
|
3218
|
+
files=_files,
|
|
3219
|
+
auth_settings=_auth_settings,
|
|
3220
|
+
collection_formats=_collection_formats,
|
|
3221
|
+
_host=_host,
|
|
3222
|
+
_request_auth=_request_auth
|
|
3223
|
+
)
|
|
3224
|
+
|
|
3225
|
+
|
|
3226
|
+
|
|
3227
|
+
|
|
3228
|
+
@validate_call
|
|
3229
|
+
def api_v2_stocks_report_products_products_post(
|
|
3230
|
+
self,
|
|
3231
|
+
table_product_request: TableProductRequest,
|
|
3232
|
+
_request_timeout: Union[
|
|
3233
|
+
None,
|
|
3234
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3235
|
+
Tuple[
|
|
3236
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3237
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3238
|
+
]
|
|
3239
|
+
] = None,
|
|
3240
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3241
|
+
_content_type: Optional[StrictStr] = None,
|
|
3242
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3243
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3244
|
+
) -> ApiV2StocksReportProductsProductsPost200Response:
|
|
3245
|
+
"""Данные по товарам
|
|
3246
|
+
|
|
3247
|
+
Метод формирует набор данных об остатках по товарам. <br><br> Можно получить данные как по отдельным товарам, так и в рамках всего отчёта — если в запросе отсутствуют фильтры: `nmIDs`, `subjectID`, `brandName`, `tagID`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3248
|
+
|
|
3249
|
+
:param table_product_request: (required)
|
|
3250
|
+
:type table_product_request: TableProductRequest
|
|
3251
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3252
|
+
number provided, it will be total request
|
|
3253
|
+
timeout. It can also be a pair (tuple) of
|
|
3254
|
+
(connection, read) timeouts.
|
|
3255
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3256
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3257
|
+
request; this effectively ignores the
|
|
3258
|
+
authentication in the spec for a single request.
|
|
3259
|
+
:type _request_auth: dict, optional
|
|
3260
|
+
:param _content_type: force content-type for the request.
|
|
3261
|
+
:type _content_type: str, Optional
|
|
3262
|
+
:param _headers: set to override the headers for a single
|
|
3263
|
+
request; this effectively ignores the headers
|
|
3264
|
+
in the spec for a single request.
|
|
3265
|
+
:type _headers: dict, optional
|
|
3266
|
+
:param _host_index: set to override the host_index for a single
|
|
3267
|
+
request; this effectively ignores the host_index
|
|
3268
|
+
in the spec for a single request.
|
|
3269
|
+
:type _host_index: int, optional
|
|
3270
|
+
:return: Returns the result object.
|
|
3271
|
+
""" # noqa: E501
|
|
3272
|
+
|
|
3273
|
+
_param = self._api_v2_stocks_report_products_products_post_serialize(
|
|
3274
|
+
table_product_request=table_product_request,
|
|
3275
|
+
_request_auth=_request_auth,
|
|
3276
|
+
_content_type=_content_type,
|
|
3277
|
+
_headers=_headers,
|
|
3278
|
+
_host_index=_host_index
|
|
3279
|
+
)
|
|
3280
|
+
|
|
3281
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3282
|
+
'200': "ApiV2StocksReportProductsProductsPost200Response",
|
|
3283
|
+
'400': "ErrorObject400",
|
|
3284
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3285
|
+
'403': "ErrorObject403",
|
|
3286
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3287
|
+
}
|
|
3288
|
+
response_data = self.api_client.call_api(
|
|
3289
|
+
*_param,
|
|
3290
|
+
_request_timeout=_request_timeout
|
|
3291
|
+
)
|
|
3292
|
+
response_data.read()
|
|
3293
|
+
return self.api_client.response_deserialize(
|
|
3294
|
+
response_data=response_data,
|
|
3295
|
+
response_types_map=_response_types_map,
|
|
3296
|
+
).data
|
|
3297
|
+
|
|
3298
|
+
|
|
3299
|
+
@validate_call
|
|
3300
|
+
def api_v2_stocks_report_products_products_post_with_http_info(
|
|
3301
|
+
self,
|
|
3302
|
+
table_product_request: TableProductRequest,
|
|
3303
|
+
_request_timeout: Union[
|
|
3304
|
+
None,
|
|
3305
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3306
|
+
Tuple[
|
|
3307
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3308
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3309
|
+
]
|
|
3310
|
+
] = None,
|
|
3311
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3312
|
+
_content_type: Optional[StrictStr] = None,
|
|
3313
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3314
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3315
|
+
) -> ApiResponse[ApiV2StocksReportProductsProductsPost200Response]:
|
|
3316
|
+
"""Данные по товарам
|
|
3317
|
+
|
|
3318
|
+
Метод формирует набор данных об остатках по товарам. <br><br> Можно получить данные как по отдельным товарам, так и в рамках всего отчёта — если в запросе отсутствуют фильтры: `nmIDs`, `subjectID`, `brandName`, `tagID`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3319
|
+
|
|
3320
|
+
:param table_product_request: (required)
|
|
3321
|
+
:type table_product_request: TableProductRequest
|
|
3322
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3323
|
+
number provided, it will be total request
|
|
3324
|
+
timeout. It can also be a pair (tuple) of
|
|
3325
|
+
(connection, read) timeouts.
|
|
3326
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3327
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3328
|
+
request; this effectively ignores the
|
|
3329
|
+
authentication in the spec for a single request.
|
|
3330
|
+
:type _request_auth: dict, optional
|
|
3331
|
+
:param _content_type: force content-type for the request.
|
|
3332
|
+
:type _content_type: str, Optional
|
|
3333
|
+
:param _headers: set to override the headers for a single
|
|
3334
|
+
request; this effectively ignores the headers
|
|
3335
|
+
in the spec for a single request.
|
|
3336
|
+
:type _headers: dict, optional
|
|
3337
|
+
:param _host_index: set to override the host_index for a single
|
|
3338
|
+
request; this effectively ignores the host_index
|
|
3339
|
+
in the spec for a single request.
|
|
3340
|
+
:type _host_index: int, optional
|
|
3341
|
+
:return: Returns the result object.
|
|
3342
|
+
""" # noqa: E501
|
|
3343
|
+
|
|
3344
|
+
_param = self._api_v2_stocks_report_products_products_post_serialize(
|
|
3345
|
+
table_product_request=table_product_request,
|
|
3346
|
+
_request_auth=_request_auth,
|
|
3347
|
+
_content_type=_content_type,
|
|
3348
|
+
_headers=_headers,
|
|
3349
|
+
_host_index=_host_index
|
|
3350
|
+
)
|
|
3351
|
+
|
|
3352
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3353
|
+
'200': "ApiV2StocksReportProductsProductsPost200Response",
|
|
3354
|
+
'400': "ErrorObject400",
|
|
3355
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3356
|
+
'403': "ErrorObject403",
|
|
3357
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3358
|
+
}
|
|
3359
|
+
response_data = self.api_client.call_api(
|
|
3360
|
+
*_param,
|
|
3361
|
+
_request_timeout=_request_timeout
|
|
3362
|
+
)
|
|
3363
|
+
response_data.read()
|
|
3364
|
+
return self.api_client.response_deserialize(
|
|
3365
|
+
response_data=response_data,
|
|
3366
|
+
response_types_map=_response_types_map,
|
|
3367
|
+
)
|
|
3368
|
+
|
|
3369
|
+
|
|
3370
|
+
@validate_call
|
|
3371
|
+
def api_v2_stocks_report_products_products_post_without_preload_content(
|
|
3372
|
+
self,
|
|
3373
|
+
table_product_request: TableProductRequest,
|
|
3374
|
+
_request_timeout: Union[
|
|
3375
|
+
None,
|
|
3376
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3377
|
+
Tuple[
|
|
3378
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3379
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3380
|
+
]
|
|
3381
|
+
] = None,
|
|
3382
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3383
|
+
_content_type: Optional[StrictStr] = None,
|
|
3384
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3385
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3386
|
+
) -> RESTResponseType:
|
|
3387
|
+
"""Данные по товарам
|
|
3388
|
+
|
|
3389
|
+
Метод формирует набор данных об остатках по товарам. <br><br> Можно получить данные как по отдельным товарам, так и в рамках всего отчёта — если в запросе отсутствуют фильтры: `nmIDs`, `subjectID`, `brandName`, `tagID`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3390
|
+
|
|
3391
|
+
:param table_product_request: (required)
|
|
3392
|
+
:type table_product_request: TableProductRequest
|
|
3393
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3394
|
+
number provided, it will be total request
|
|
3395
|
+
timeout. It can also be a pair (tuple) of
|
|
3396
|
+
(connection, read) timeouts.
|
|
3397
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3398
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3399
|
+
request; this effectively ignores the
|
|
3400
|
+
authentication in the spec for a single request.
|
|
3401
|
+
:type _request_auth: dict, optional
|
|
3402
|
+
:param _content_type: force content-type for the request.
|
|
3403
|
+
:type _content_type: str, Optional
|
|
3404
|
+
:param _headers: set to override the headers for a single
|
|
3405
|
+
request; this effectively ignores the headers
|
|
3406
|
+
in the spec for a single request.
|
|
3407
|
+
:type _headers: dict, optional
|
|
3408
|
+
:param _host_index: set to override the host_index for a single
|
|
3409
|
+
request; this effectively ignores the host_index
|
|
3410
|
+
in the spec for a single request.
|
|
3411
|
+
:type _host_index: int, optional
|
|
3412
|
+
:return: Returns the result object.
|
|
3413
|
+
""" # noqa: E501
|
|
3414
|
+
|
|
3415
|
+
_param = self._api_v2_stocks_report_products_products_post_serialize(
|
|
3416
|
+
table_product_request=table_product_request,
|
|
3417
|
+
_request_auth=_request_auth,
|
|
3418
|
+
_content_type=_content_type,
|
|
3419
|
+
_headers=_headers,
|
|
3420
|
+
_host_index=_host_index
|
|
3421
|
+
)
|
|
3422
|
+
|
|
3423
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3424
|
+
'200': "ApiV2StocksReportProductsProductsPost200Response",
|
|
3425
|
+
'400': "ErrorObject400",
|
|
3426
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3427
|
+
'403': "ErrorObject403",
|
|
3428
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3429
|
+
}
|
|
3430
|
+
response_data = self.api_client.call_api(
|
|
3431
|
+
*_param,
|
|
3432
|
+
_request_timeout=_request_timeout
|
|
3433
|
+
)
|
|
3434
|
+
return response_data.response
|
|
3435
|
+
|
|
3436
|
+
|
|
3437
|
+
def _api_v2_stocks_report_products_products_post_serialize(
|
|
3438
|
+
self,
|
|
3439
|
+
table_product_request,
|
|
3440
|
+
_request_auth,
|
|
3441
|
+
_content_type,
|
|
3442
|
+
_headers,
|
|
3443
|
+
_host_index,
|
|
3444
|
+
) -> RequestSerialized:
|
|
3445
|
+
|
|
3446
|
+
_hosts = [
|
|
3447
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
3448
|
+
]
|
|
3449
|
+
_host = _hosts[_host_index]
|
|
3450
|
+
|
|
3451
|
+
_collection_formats: Dict[str, str] = {
|
|
3452
|
+
}
|
|
3453
|
+
|
|
3454
|
+
_path_params: Dict[str, str] = {}
|
|
3455
|
+
_query_params: List[Tuple[str, str]] = []
|
|
3456
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
3457
|
+
_form_params: List[Tuple[str, str]] = []
|
|
3458
|
+
_files: Dict[
|
|
3459
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
3460
|
+
] = {}
|
|
3461
|
+
_body_params: Optional[bytes] = None
|
|
3462
|
+
|
|
3463
|
+
# process the path parameters
|
|
3464
|
+
# process the query parameters
|
|
3465
|
+
# process the header parameters
|
|
3466
|
+
# process the form parameters
|
|
3467
|
+
# process the body parameter
|
|
3468
|
+
if table_product_request is not None:
|
|
3469
|
+
_body_params = table_product_request
|
|
3470
|
+
|
|
3471
|
+
|
|
3472
|
+
# set the HTTP header `Accept`
|
|
3473
|
+
if 'Accept' not in _header_params:
|
|
3474
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
3475
|
+
[
|
|
3476
|
+
'application/json'
|
|
3477
|
+
]
|
|
3478
|
+
)
|
|
3479
|
+
|
|
3480
|
+
# set the HTTP header `Content-Type`
|
|
3481
|
+
if _content_type:
|
|
3482
|
+
_header_params['Content-Type'] = _content_type
|
|
3483
|
+
else:
|
|
3484
|
+
_default_content_type = (
|
|
3485
|
+
self.api_client.select_header_content_type(
|
|
3486
|
+
[
|
|
3487
|
+
'application/json'
|
|
3488
|
+
]
|
|
3489
|
+
)
|
|
3490
|
+
)
|
|
3491
|
+
if _default_content_type is not None:
|
|
3492
|
+
_header_params['Content-Type'] = _default_content_type
|
|
3493
|
+
|
|
3494
|
+
# authentication setting
|
|
3495
|
+
_auth_settings: List[str] = [
|
|
3496
|
+
'HeaderApiKey'
|
|
3497
|
+
]
|
|
3498
|
+
|
|
3499
|
+
return self.api_client.param_serialize(
|
|
3500
|
+
method='POST',
|
|
3501
|
+
resource_path='/api/v2/stocks-report/products/products',
|
|
3502
|
+
path_params=_path_params,
|
|
3503
|
+
query_params=_query_params,
|
|
3504
|
+
header_params=_header_params,
|
|
3505
|
+
body=_body_params,
|
|
3506
|
+
post_params=_form_params,
|
|
3507
|
+
files=_files,
|
|
3508
|
+
auth_settings=_auth_settings,
|
|
3509
|
+
collection_formats=_collection_formats,
|
|
3510
|
+
_host=_host,
|
|
3511
|
+
_request_auth=_request_auth
|
|
3512
|
+
)
|
|
3513
|
+
|
|
3514
|
+
|
|
3515
|
+
|
|
3516
|
+
|
|
3517
|
+
@validate_call
|
|
3518
|
+
def api_v2_stocks_report_products_sizes_post(
|
|
3519
|
+
self,
|
|
3520
|
+
body: CommonSizeFilters,
|
|
3521
|
+
_request_timeout: Union[
|
|
3522
|
+
None,
|
|
3523
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3524
|
+
Tuple[
|
|
3525
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3526
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3527
|
+
]
|
|
3528
|
+
] = None,
|
|
3529
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3530
|
+
_content_type: Optional[StrictStr] = None,
|
|
3531
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3532
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3533
|
+
) -> ApiV2StocksReportProductsSizesPost200Response:
|
|
3534
|
+
"""Данные по размерам
|
|
3535
|
+
|
|
3536
|
+
Метод формирует набор данных об остатках по размерам товара. <br><br> Возможны случаи: 1. Товар имеет размеры и `\"includeOffice\":true`, тогда в ответе будут данные об остатках по каждому из размеров с вложенной детализацией по складам. 2. Товар имеет размеры и `\"includeOffice\":false`, тогда в ответе будут данные об остатках по каждому из размеров без вложенной детализации по складам. 3. Товар не имеет размера и `\"includeOffice\":true`, тогда в ответе будет детализация по складам. Без данных об остатках по каждому из размеров. 4. Товар не имеет размера и `\"includeOffice\":false`, тогда тело ответа будет пустым.<br></br> Товар не имеет размера, если у него единственный размер с `\"techSize\":\"0\"`. В ответах метода получения данных по [товарам](/openapi/analytics#tag/Istoriya-ostatkov/paths/~1api~1v2~1stocks-report~1products~1products/post) у таких товаров `\"hasSizes\":false`.<br></br> Данные по складам продавца приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам — эти записи будут с `\"regionName\":\"Маркетплейс\"` и `\"officeName\":\"\"`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3537
|
+
|
|
3538
|
+
:param body: (required)
|
|
3539
|
+
:type body: CommonSizeFilters
|
|
3540
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3541
|
+
number provided, it will be total request
|
|
3542
|
+
timeout. It can also be a pair (tuple) of
|
|
3543
|
+
(connection, read) timeouts.
|
|
3544
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3545
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3546
|
+
request; this effectively ignores the
|
|
3547
|
+
authentication in the spec for a single request.
|
|
3548
|
+
:type _request_auth: dict, optional
|
|
3549
|
+
:param _content_type: force content-type for the request.
|
|
3550
|
+
:type _content_type: str, Optional
|
|
3551
|
+
:param _headers: set to override the headers for a single
|
|
3552
|
+
request; this effectively ignores the headers
|
|
3553
|
+
in the spec for a single request.
|
|
3554
|
+
:type _headers: dict, optional
|
|
3555
|
+
:param _host_index: set to override the host_index for a single
|
|
3556
|
+
request; this effectively ignores the host_index
|
|
3557
|
+
in the spec for a single request.
|
|
3558
|
+
:type _host_index: int, optional
|
|
3559
|
+
:return: Returns the result object.
|
|
3560
|
+
""" # noqa: E501
|
|
3561
|
+
|
|
3562
|
+
_param = self._api_v2_stocks_report_products_sizes_post_serialize(
|
|
3563
|
+
body=body,
|
|
3564
|
+
_request_auth=_request_auth,
|
|
3565
|
+
_content_type=_content_type,
|
|
3566
|
+
_headers=_headers,
|
|
3567
|
+
_host_index=_host_index
|
|
3568
|
+
)
|
|
3569
|
+
|
|
3570
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3571
|
+
'200': "ApiV2StocksReportProductsSizesPost200Response",
|
|
3572
|
+
'400': "ErrorObject400",
|
|
3573
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3574
|
+
'403': "ErrorObject403",
|
|
3575
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3576
|
+
}
|
|
3577
|
+
response_data = self.api_client.call_api(
|
|
3578
|
+
*_param,
|
|
3579
|
+
_request_timeout=_request_timeout
|
|
3580
|
+
)
|
|
3581
|
+
response_data.read()
|
|
3582
|
+
return self.api_client.response_deserialize(
|
|
3583
|
+
response_data=response_data,
|
|
3584
|
+
response_types_map=_response_types_map,
|
|
3585
|
+
).data
|
|
3586
|
+
|
|
3587
|
+
|
|
3588
|
+
@validate_call
|
|
3589
|
+
def api_v2_stocks_report_products_sizes_post_with_http_info(
|
|
3590
|
+
self,
|
|
3591
|
+
body: CommonSizeFilters,
|
|
3592
|
+
_request_timeout: Union[
|
|
3593
|
+
None,
|
|
3594
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3595
|
+
Tuple[
|
|
3596
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3597
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3598
|
+
]
|
|
3599
|
+
] = None,
|
|
3600
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3601
|
+
_content_type: Optional[StrictStr] = None,
|
|
3602
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3603
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3604
|
+
) -> ApiResponse[ApiV2StocksReportProductsSizesPost200Response]:
|
|
3605
|
+
"""Данные по размерам
|
|
3606
|
+
|
|
3607
|
+
Метод формирует набор данных об остатках по размерам товара. <br><br> Возможны случаи: 1. Товар имеет размеры и `\"includeOffice\":true`, тогда в ответе будут данные об остатках по каждому из размеров с вложенной детализацией по складам. 2. Товар имеет размеры и `\"includeOffice\":false`, тогда в ответе будут данные об остатках по каждому из размеров без вложенной детализации по складам. 3. Товар не имеет размера и `\"includeOffice\":true`, тогда в ответе будет детализация по складам. Без данных об остатках по каждому из размеров. 4. Товар не имеет размера и `\"includeOffice\":false`, тогда тело ответа будет пустым.<br></br> Товар не имеет размера, если у него единственный размер с `\"techSize\":\"0\"`. В ответах метода получения данных по [товарам](/openapi/analytics#tag/Istoriya-ostatkov/paths/~1api~1v2~1stocks-report~1products~1products/post) у таких товаров `\"hasSizes\":false`.<br></br> Данные по складам продавца приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам — эти записи будут с `\"regionName\":\"Маркетплейс\"` и `\"officeName\":\"\"`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3608
|
+
|
|
3609
|
+
:param body: (required)
|
|
3610
|
+
:type body: CommonSizeFilters
|
|
3611
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3612
|
+
number provided, it will be total request
|
|
3613
|
+
timeout. It can also be a pair (tuple) of
|
|
3614
|
+
(connection, read) timeouts.
|
|
3615
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3616
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3617
|
+
request; this effectively ignores the
|
|
3618
|
+
authentication in the spec for a single request.
|
|
3619
|
+
:type _request_auth: dict, optional
|
|
3620
|
+
:param _content_type: force content-type for the request.
|
|
3621
|
+
:type _content_type: str, Optional
|
|
3622
|
+
:param _headers: set to override the headers for a single
|
|
3623
|
+
request; this effectively ignores the headers
|
|
3624
|
+
in the spec for a single request.
|
|
3625
|
+
:type _headers: dict, optional
|
|
3626
|
+
:param _host_index: set to override the host_index for a single
|
|
3627
|
+
request; this effectively ignores the host_index
|
|
3628
|
+
in the spec for a single request.
|
|
3629
|
+
:type _host_index: int, optional
|
|
3630
|
+
:return: Returns the result object.
|
|
3631
|
+
""" # noqa: E501
|
|
3632
|
+
|
|
3633
|
+
_param = self._api_v2_stocks_report_products_sizes_post_serialize(
|
|
3634
|
+
body=body,
|
|
3635
|
+
_request_auth=_request_auth,
|
|
3636
|
+
_content_type=_content_type,
|
|
3637
|
+
_headers=_headers,
|
|
3638
|
+
_host_index=_host_index
|
|
3639
|
+
)
|
|
3640
|
+
|
|
3641
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3642
|
+
'200': "ApiV2StocksReportProductsSizesPost200Response",
|
|
3643
|
+
'400': "ErrorObject400",
|
|
3644
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3645
|
+
'403': "ErrorObject403",
|
|
3646
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3647
|
+
}
|
|
3648
|
+
response_data = self.api_client.call_api(
|
|
3649
|
+
*_param,
|
|
3650
|
+
_request_timeout=_request_timeout
|
|
3651
|
+
)
|
|
3652
|
+
response_data.read()
|
|
3653
|
+
return self.api_client.response_deserialize(
|
|
3654
|
+
response_data=response_data,
|
|
3655
|
+
response_types_map=_response_types_map,
|
|
3656
|
+
)
|
|
3657
|
+
|
|
3658
|
+
|
|
3659
|
+
@validate_call
|
|
3660
|
+
def api_v2_stocks_report_products_sizes_post_without_preload_content(
|
|
3661
|
+
self,
|
|
3662
|
+
body: CommonSizeFilters,
|
|
3663
|
+
_request_timeout: Union[
|
|
3664
|
+
None,
|
|
3665
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3666
|
+
Tuple[
|
|
3667
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3668
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3669
|
+
]
|
|
3670
|
+
] = None,
|
|
3671
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3672
|
+
_content_type: Optional[StrictStr] = None,
|
|
3673
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3674
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3675
|
+
) -> RESTResponseType:
|
|
3676
|
+
"""Данные по размерам
|
|
3677
|
+
|
|
3678
|
+
Метод формирует набор данных об остатках по размерам товара. <br><br> Возможны случаи: 1. Товар имеет размеры и `\"includeOffice\":true`, тогда в ответе будут данные об остатках по каждому из размеров с вложенной детализацией по складам. 2. Товар имеет размеры и `\"includeOffice\":false`, тогда в ответе будут данные об остатках по каждому из размеров без вложенной детализации по складам. 3. Товар не имеет размера и `\"includeOffice\":true`, тогда в ответе будет детализация по складам. Без данных об остатках по каждому из размеров. 4. Товар не имеет размера и `\"includeOffice\":false`, тогда тело ответа будет пустым.<br></br> Товар не имеет размера, если у него единственный размер с `\"techSize\":\"0\"`. В ответах метода получения данных по [товарам](/openapi/analytics#tag/Istoriya-ostatkov/paths/~1api~1v2~1stocks-report~1products~1products/post) у таких товаров `\"hasSizes\":false`.<br></br> Данные по складам продавца приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам — эти записи будут с `\"regionName\":\"Маркетплейс\"` и `\"officeName\":\"\"`. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3679
|
+
|
|
3680
|
+
:param body: (required)
|
|
3681
|
+
:type body: CommonSizeFilters
|
|
3682
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3683
|
+
number provided, it will be total request
|
|
3684
|
+
timeout. It can also be a pair (tuple) of
|
|
3685
|
+
(connection, read) timeouts.
|
|
3686
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3687
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3688
|
+
request; this effectively ignores the
|
|
3689
|
+
authentication in the spec for a single request.
|
|
3690
|
+
:type _request_auth: dict, optional
|
|
3691
|
+
:param _content_type: force content-type for the request.
|
|
3692
|
+
:type _content_type: str, Optional
|
|
3693
|
+
:param _headers: set to override the headers for a single
|
|
3694
|
+
request; this effectively ignores the headers
|
|
3695
|
+
in the spec for a single request.
|
|
3696
|
+
:type _headers: dict, optional
|
|
3697
|
+
:param _host_index: set to override the host_index for a single
|
|
3698
|
+
request; this effectively ignores the host_index
|
|
3699
|
+
in the spec for a single request.
|
|
3700
|
+
:type _host_index: int, optional
|
|
3701
|
+
:return: Returns the result object.
|
|
3702
|
+
""" # noqa: E501
|
|
3703
|
+
|
|
3704
|
+
_param = self._api_v2_stocks_report_products_sizes_post_serialize(
|
|
3705
|
+
body=body,
|
|
3706
|
+
_request_auth=_request_auth,
|
|
3707
|
+
_content_type=_content_type,
|
|
3708
|
+
_headers=_headers,
|
|
3709
|
+
_host_index=_host_index
|
|
3710
|
+
)
|
|
3711
|
+
|
|
3712
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3713
|
+
'200': "ApiV2StocksReportProductsSizesPost200Response",
|
|
3714
|
+
'400': "ErrorObject400",
|
|
3715
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3716
|
+
'403': "ErrorObject403",
|
|
3717
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3718
|
+
}
|
|
3719
|
+
response_data = self.api_client.call_api(
|
|
3720
|
+
*_param,
|
|
3721
|
+
_request_timeout=_request_timeout
|
|
3722
|
+
)
|
|
3723
|
+
return response_data.response
|
|
3724
|
+
|
|
3725
|
+
|
|
3726
|
+
def _api_v2_stocks_report_products_sizes_post_serialize(
|
|
3727
|
+
self,
|
|
3728
|
+
body,
|
|
3729
|
+
_request_auth,
|
|
3730
|
+
_content_type,
|
|
3731
|
+
_headers,
|
|
3732
|
+
_host_index,
|
|
3733
|
+
) -> RequestSerialized:
|
|
3734
|
+
|
|
3735
|
+
_hosts = [
|
|
3736
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
3737
|
+
]
|
|
3738
|
+
_host = _hosts[_host_index]
|
|
3739
|
+
|
|
3740
|
+
_collection_formats: Dict[str, str] = {
|
|
3741
|
+
}
|
|
3742
|
+
|
|
3743
|
+
_path_params: Dict[str, str] = {}
|
|
3744
|
+
_query_params: List[Tuple[str, str]] = []
|
|
3745
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
3746
|
+
_form_params: List[Tuple[str, str]] = []
|
|
3747
|
+
_files: Dict[
|
|
3748
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
3749
|
+
] = {}
|
|
3750
|
+
_body_params: Optional[bytes] = None
|
|
3751
|
+
|
|
3752
|
+
# process the path parameters
|
|
3753
|
+
# process the query parameters
|
|
3754
|
+
# process the header parameters
|
|
3755
|
+
# process the form parameters
|
|
3756
|
+
# process the body parameter
|
|
3757
|
+
if body is not None:
|
|
3758
|
+
_body_params = body
|
|
3759
|
+
|
|
3760
|
+
|
|
3761
|
+
# set the HTTP header `Accept`
|
|
3762
|
+
if 'Accept' not in _header_params:
|
|
3763
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
3764
|
+
[
|
|
3765
|
+
'application/json'
|
|
3766
|
+
]
|
|
3767
|
+
)
|
|
3768
|
+
|
|
3769
|
+
# set the HTTP header `Content-Type`
|
|
3770
|
+
if _content_type:
|
|
3771
|
+
_header_params['Content-Type'] = _content_type
|
|
3772
|
+
else:
|
|
3773
|
+
_default_content_type = (
|
|
3774
|
+
self.api_client.select_header_content_type(
|
|
3775
|
+
[
|
|
3776
|
+
'application/json'
|
|
3777
|
+
]
|
|
3778
|
+
)
|
|
3779
|
+
)
|
|
3780
|
+
if _default_content_type is not None:
|
|
3781
|
+
_header_params['Content-Type'] = _default_content_type
|
|
3782
|
+
|
|
3783
|
+
# authentication setting
|
|
3784
|
+
_auth_settings: List[str] = [
|
|
3785
|
+
'HeaderApiKey'
|
|
3786
|
+
]
|
|
3787
|
+
|
|
3788
|
+
return self.api_client.param_serialize(
|
|
3789
|
+
method='POST',
|
|
3790
|
+
resource_path='/api/v2/stocks-report/products/sizes',
|
|
3791
|
+
path_params=_path_params,
|
|
3792
|
+
query_params=_query_params,
|
|
3793
|
+
header_params=_header_params,
|
|
3794
|
+
body=_body_params,
|
|
3795
|
+
post_params=_form_params,
|
|
3796
|
+
files=_files,
|
|
3797
|
+
auth_settings=_auth_settings,
|
|
3798
|
+
collection_formats=_collection_formats,
|
|
3799
|
+
_host=_host,
|
|
3800
|
+
_request_auth=_request_auth
|
|
3801
|
+
)
|
|
3802
|
+
|
|
3803
|
+
|
|
3804
|
+
|
|
3805
|
+
|
|
3806
|
+
@validate_call
|
|
3807
|
+
def post_sales_funnel_grouped_history(
|
|
3808
|
+
self,
|
|
3809
|
+
grouped_history_request: GroupedHistoryRequest,
|
|
3810
|
+
_request_timeout: Union[
|
|
3811
|
+
None,
|
|
3812
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3813
|
+
Tuple[
|
|
3814
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3815
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3816
|
+
]
|
|
3817
|
+
] = None,
|
|
3818
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3819
|
+
_content_type: Optional[StrictStr] = None,
|
|
3820
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3821
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3822
|
+
) -> PostSalesFunnelGroupedHistory200Response:
|
|
3823
|
+
"""Статистика групп карточек товаров по дням
|
|
3824
|
+
|
|
3825
|
+
Метод возвращает статистику карточек товаров по дням или неделям. Карточки товаров сгруппированы по предметам, брендам и ярлыкам. Доступны данные по добавлениям в корзину, заказам, переходам в карточку товара и так далее.<br><br> Параметры `brandNames`, `subjectIds`, `tagIds` могут быть пустыми `[]`, тогда группировка происходит по всем карточкам продавца.<br><br> Произведение количества предметов, брендов, ярлыков в запросе может быть не больше 16. Например, 4 бренда и 4 предмета или 2 предмета, 2 ярлыка и 4 бренда.<br><br> Можно получить данные максимум за последнюю неделю. <div class=\"description_important\"> Чтобы получать отчёты за период до года, используйте методы <a href=\"/openapi/analytics#tag/Analitika-prodavca-CSV\">Аналитика продавца CSV</a>. Эти методы доступны только с подпиской на <a href='https://seller.wildberries.ru/monetization/jam'>расширенную аналитику Джем</a> </div> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3826
|
+
|
|
3827
|
+
:param grouped_history_request: (required)
|
|
3828
|
+
:type grouped_history_request: GroupedHistoryRequest
|
|
3829
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3830
|
+
number provided, it will be total request
|
|
3831
|
+
timeout. It can also be a pair (tuple) of
|
|
3832
|
+
(connection, read) timeouts.
|
|
3833
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3834
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3835
|
+
request; this effectively ignores the
|
|
3836
|
+
authentication in the spec for a single request.
|
|
3837
|
+
:type _request_auth: dict, optional
|
|
3838
|
+
:param _content_type: force content-type for the request.
|
|
3839
|
+
:type _content_type: str, Optional
|
|
3840
|
+
:param _headers: set to override the headers for a single
|
|
3841
|
+
request; this effectively ignores the headers
|
|
3842
|
+
in the spec for a single request.
|
|
3843
|
+
:type _headers: dict, optional
|
|
3844
|
+
:param _host_index: set to override the host_index for a single
|
|
3845
|
+
request; this effectively ignores the host_index
|
|
3846
|
+
in the spec for a single request.
|
|
3847
|
+
:type _host_index: int, optional
|
|
3848
|
+
:return: Returns the result object.
|
|
3849
|
+
""" # noqa: E501
|
|
3850
|
+
|
|
3851
|
+
_param = self._post_sales_funnel_grouped_history_serialize(
|
|
3852
|
+
grouped_history_request=grouped_history_request,
|
|
3853
|
+
_request_auth=_request_auth,
|
|
3854
|
+
_content_type=_content_type,
|
|
3855
|
+
_headers=_headers,
|
|
3856
|
+
_host_index=_host_index
|
|
3857
|
+
)
|
|
3858
|
+
|
|
3859
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3860
|
+
'200': "PostSalesFunnelGroupedHistory200Response",
|
|
3861
|
+
'400': "ErrorObject",
|
|
3862
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3863
|
+
'403': "ErrorObject",
|
|
3864
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3865
|
+
}
|
|
3866
|
+
response_data = self.api_client.call_api(
|
|
3867
|
+
*_param,
|
|
3868
|
+
_request_timeout=_request_timeout
|
|
3869
|
+
)
|
|
3870
|
+
response_data.read()
|
|
3871
|
+
return self.api_client.response_deserialize(
|
|
3872
|
+
response_data=response_data,
|
|
3873
|
+
response_types_map=_response_types_map,
|
|
3874
|
+
).data
|
|
3875
|
+
|
|
3876
|
+
|
|
3877
|
+
@validate_call
|
|
3878
|
+
def post_sales_funnel_grouped_history_with_http_info(
|
|
3879
|
+
self,
|
|
3880
|
+
grouped_history_request: GroupedHistoryRequest,
|
|
3881
|
+
_request_timeout: Union[
|
|
3882
|
+
None,
|
|
3883
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3884
|
+
Tuple[
|
|
3885
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3886
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3887
|
+
]
|
|
3888
|
+
] = None,
|
|
3889
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3890
|
+
_content_type: Optional[StrictStr] = None,
|
|
3891
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3892
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3893
|
+
) -> ApiResponse[PostSalesFunnelGroupedHistory200Response]:
|
|
3894
|
+
"""Статистика групп карточек товаров по дням
|
|
3895
|
+
|
|
3896
|
+
Метод возвращает статистику карточек товаров по дням или неделям. Карточки товаров сгруппированы по предметам, брендам и ярлыкам. Доступны данные по добавлениям в корзину, заказам, переходам в карточку товара и так далее.<br><br> Параметры `brandNames`, `subjectIds`, `tagIds` могут быть пустыми `[]`, тогда группировка происходит по всем карточкам продавца.<br><br> Произведение количества предметов, брендов, ярлыков в запросе может быть не больше 16. Например, 4 бренда и 4 предмета или 2 предмета, 2 ярлыка и 4 бренда.<br><br> Можно получить данные максимум за последнюю неделю. <div class=\"description_important\"> Чтобы получать отчёты за период до года, используйте методы <a href=\"/openapi/analytics#tag/Analitika-prodavca-CSV\">Аналитика продавца CSV</a>. Эти методы доступны только с подпиской на <a href='https://seller.wildberries.ru/monetization/jam'>расширенную аналитику Джем</a> </div> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3897
|
+
|
|
3898
|
+
:param grouped_history_request: (required)
|
|
3899
|
+
:type grouped_history_request: GroupedHistoryRequest
|
|
3900
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3901
|
+
number provided, it will be total request
|
|
3902
|
+
timeout. It can also be a pair (tuple) of
|
|
3903
|
+
(connection, read) timeouts.
|
|
3904
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3905
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3906
|
+
request; this effectively ignores the
|
|
3907
|
+
authentication in the spec for a single request.
|
|
3908
|
+
:type _request_auth: dict, optional
|
|
3909
|
+
:param _content_type: force content-type for the request.
|
|
3910
|
+
:type _content_type: str, Optional
|
|
3911
|
+
:param _headers: set to override the headers for a single
|
|
3912
|
+
request; this effectively ignores the headers
|
|
3913
|
+
in the spec for a single request.
|
|
3914
|
+
:type _headers: dict, optional
|
|
3915
|
+
:param _host_index: set to override the host_index for a single
|
|
3916
|
+
request; this effectively ignores the host_index
|
|
3917
|
+
in the spec for a single request.
|
|
3918
|
+
:type _host_index: int, optional
|
|
3919
|
+
:return: Returns the result object.
|
|
3920
|
+
""" # noqa: E501
|
|
3921
|
+
|
|
3922
|
+
_param = self._post_sales_funnel_grouped_history_serialize(
|
|
3923
|
+
grouped_history_request=grouped_history_request,
|
|
3924
|
+
_request_auth=_request_auth,
|
|
3925
|
+
_content_type=_content_type,
|
|
3926
|
+
_headers=_headers,
|
|
3927
|
+
_host_index=_host_index
|
|
3928
|
+
)
|
|
3929
|
+
|
|
3930
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3931
|
+
'200': "PostSalesFunnelGroupedHistory200Response",
|
|
3932
|
+
'400': "ErrorObject",
|
|
3933
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
3934
|
+
'403': "ErrorObject",
|
|
3935
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
3936
|
+
}
|
|
3937
|
+
response_data = self.api_client.call_api(
|
|
3938
|
+
*_param,
|
|
3939
|
+
_request_timeout=_request_timeout
|
|
3940
|
+
)
|
|
3941
|
+
response_data.read()
|
|
3942
|
+
return self.api_client.response_deserialize(
|
|
3943
|
+
response_data=response_data,
|
|
3944
|
+
response_types_map=_response_types_map,
|
|
3945
|
+
)
|
|
3946
|
+
|
|
3947
|
+
|
|
3948
|
+
@validate_call
|
|
3949
|
+
def post_sales_funnel_grouped_history_without_preload_content(
|
|
3950
|
+
self,
|
|
3951
|
+
grouped_history_request: GroupedHistoryRequest,
|
|
3952
|
+
_request_timeout: Union[
|
|
3953
|
+
None,
|
|
3954
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3955
|
+
Tuple[
|
|
3956
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3957
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3958
|
+
]
|
|
3959
|
+
] = None,
|
|
3960
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3961
|
+
_content_type: Optional[StrictStr] = None,
|
|
3962
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3963
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
3964
|
+
) -> RESTResponseType:
|
|
3965
|
+
"""Статистика групп карточек товаров по дням
|
|
3966
|
+
|
|
3967
|
+
Метод возвращает статистику карточек товаров по дням или неделям. Карточки товаров сгруппированы по предметам, брендам и ярлыкам. Доступны данные по добавлениям в корзину, заказам, переходам в карточку товара и так далее.<br><br> Параметры `brandNames`, `subjectIds`, `tagIds` могут быть пустыми `[]`, тогда группировка происходит по всем карточкам продавца.<br><br> Произведение количества предметов, брендов, ярлыков в запросе может быть не больше 16. Например, 4 бренда и 4 предмета или 2 предмета, 2 ярлыка и 4 бренда.<br><br> Можно получить данные максимум за последнюю неделю. <div class=\"description_important\"> Чтобы получать отчёты за период до года, используйте методы <a href=\"/openapi/analytics#tag/Analitika-prodavca-CSV\">Аналитика продавца CSV</a>. Эти методы доступны только с подпиской на <a href='https://seller.wildberries.ru/monetization/jam'>расширенную аналитику Джем</a> </div> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
3968
|
+
|
|
3969
|
+
:param grouped_history_request: (required)
|
|
3970
|
+
:type grouped_history_request: GroupedHistoryRequest
|
|
3971
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3972
|
+
number provided, it will be total request
|
|
3973
|
+
timeout. It can also be a pair (tuple) of
|
|
3974
|
+
(connection, read) timeouts.
|
|
3975
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3976
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3977
|
+
request; this effectively ignores the
|
|
3978
|
+
authentication in the spec for a single request.
|
|
3979
|
+
:type _request_auth: dict, optional
|
|
3980
|
+
:param _content_type: force content-type for the request.
|
|
3981
|
+
:type _content_type: str, Optional
|
|
3982
|
+
:param _headers: set to override the headers for a single
|
|
3983
|
+
request; this effectively ignores the headers
|
|
3984
|
+
in the spec for a single request.
|
|
3985
|
+
:type _headers: dict, optional
|
|
3986
|
+
:param _host_index: set to override the host_index for a single
|
|
3987
|
+
request; this effectively ignores the host_index
|
|
3988
|
+
in the spec for a single request.
|
|
3989
|
+
:type _host_index: int, optional
|
|
3990
|
+
:return: Returns the result object.
|
|
3991
|
+
""" # noqa: E501
|
|
3992
|
+
|
|
3993
|
+
_param = self._post_sales_funnel_grouped_history_serialize(
|
|
3994
|
+
grouped_history_request=grouped_history_request,
|
|
3995
|
+
_request_auth=_request_auth,
|
|
3996
|
+
_content_type=_content_type,
|
|
3997
|
+
_headers=_headers,
|
|
3998
|
+
_host_index=_host_index
|
|
3999
|
+
)
|
|
4000
|
+
|
|
4001
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4002
|
+
'200': "PostSalesFunnelGroupedHistory200Response",
|
|
4003
|
+
'400': "ErrorObject",
|
|
4004
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
4005
|
+
'403': "ErrorObject",
|
|
4006
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
4007
|
+
}
|
|
4008
|
+
response_data = self.api_client.call_api(
|
|
4009
|
+
*_param,
|
|
4010
|
+
_request_timeout=_request_timeout
|
|
4011
|
+
)
|
|
4012
|
+
return response_data.response
|
|
4013
|
+
|
|
4014
|
+
|
|
4015
|
+
def _post_sales_funnel_grouped_history_serialize(
|
|
4016
|
+
self,
|
|
4017
|
+
grouped_history_request,
|
|
4018
|
+
_request_auth,
|
|
4019
|
+
_content_type,
|
|
4020
|
+
_headers,
|
|
4021
|
+
_host_index,
|
|
4022
|
+
) -> RequestSerialized:
|
|
4023
|
+
|
|
4024
|
+
_hosts = [
|
|
4025
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
4026
|
+
]
|
|
4027
|
+
_host = _hosts[_host_index]
|
|
4028
|
+
|
|
4029
|
+
_collection_formats: Dict[str, str] = {
|
|
4030
|
+
}
|
|
4031
|
+
|
|
4032
|
+
_path_params: Dict[str, str] = {}
|
|
4033
|
+
_query_params: List[Tuple[str, str]] = []
|
|
4034
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
4035
|
+
_form_params: List[Tuple[str, str]] = []
|
|
4036
|
+
_files: Dict[
|
|
4037
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
4038
|
+
] = {}
|
|
4039
|
+
_body_params: Optional[bytes] = None
|
|
4040
|
+
|
|
4041
|
+
# process the path parameters
|
|
4042
|
+
# process the query parameters
|
|
4043
|
+
# process the header parameters
|
|
4044
|
+
# process the form parameters
|
|
4045
|
+
# process the body parameter
|
|
4046
|
+
if grouped_history_request is not None:
|
|
4047
|
+
_body_params = grouped_history_request
|
|
4048
|
+
|
|
4049
|
+
|
|
4050
|
+
# set the HTTP header `Accept`
|
|
4051
|
+
if 'Accept' not in _header_params:
|
|
4052
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
4053
|
+
[
|
|
4054
|
+
'application/json'
|
|
4055
|
+
]
|
|
4056
|
+
)
|
|
4057
|
+
|
|
4058
|
+
# set the HTTP header `Content-Type`
|
|
4059
|
+
if _content_type:
|
|
4060
|
+
_header_params['Content-Type'] = _content_type
|
|
4061
|
+
else:
|
|
4062
|
+
_default_content_type = (
|
|
4063
|
+
self.api_client.select_header_content_type(
|
|
4064
|
+
[
|
|
4065
|
+
'application/json'
|
|
4066
|
+
]
|
|
4067
|
+
)
|
|
4068
|
+
)
|
|
4069
|
+
if _default_content_type is not None:
|
|
4070
|
+
_header_params['Content-Type'] = _default_content_type
|
|
4071
|
+
|
|
4072
|
+
# authentication setting
|
|
4073
|
+
_auth_settings: List[str] = [
|
|
4074
|
+
'HeaderApiKey'
|
|
4075
|
+
]
|
|
4076
|
+
|
|
4077
|
+
return self.api_client.param_serialize(
|
|
4078
|
+
method='POST',
|
|
4079
|
+
resource_path='/api/analytics/v3/sales-funnel/grouped/history',
|
|
4080
|
+
path_params=_path_params,
|
|
4081
|
+
query_params=_query_params,
|
|
4082
|
+
header_params=_header_params,
|
|
4083
|
+
body=_body_params,
|
|
4084
|
+
post_params=_form_params,
|
|
4085
|
+
files=_files,
|
|
4086
|
+
auth_settings=_auth_settings,
|
|
4087
|
+
collection_formats=_collection_formats,
|
|
4088
|
+
_host=_host,
|
|
4089
|
+
_request_auth=_request_auth
|
|
4090
|
+
)
|
|
4091
|
+
|
|
4092
|
+
|
|
4093
|
+
|
|
4094
|
+
|
|
4095
|
+
@validate_call
|
|
4096
|
+
def post_sales_funnel_products(
|
|
4097
|
+
self,
|
|
4098
|
+
products_request: ProductsRequest,
|
|
4099
|
+
_request_timeout: Union[
|
|
4100
|
+
None,
|
|
4101
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4102
|
+
Tuple[
|
|
4103
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4104
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
4105
|
+
]
|
|
4106
|
+
] = None,
|
|
4107
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
4108
|
+
_content_type: Optional[StrictStr] = None,
|
|
4109
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4110
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
4111
|
+
) -> PostSalesFunnelProducts200Response:
|
|
4112
|
+
"""Статистика карточек товаров за период
|
|
4113
|
+
|
|
4114
|
+
Метод формирует отчёт о товарах, сравнивая ключевые показатели — например, добавления в корзину, заказы и переходы в карточку товара — за текущий период с аналогичным прошлым.<br><br> Параметры `brandNames`,`subjectIds`, `tagIds`, `nmIds` могут быть пустыми `[]`, тогда в ответе возвращаются все карточки продавца.<br><br> Если вы указали несколько параметров, в ответе будут карточки, в которых есть одновременно все эти параметры. Если карточки не подходят по параметрам запроса, вернётся пустой ответ `[]`.<br><br> Можно получить отчёт максимум за последние 365 дней.<br><br> В данных предыдущего периода: * Данные в `pastPeriod` указаны за такой же период, что и в `selectedPeriod` * Если дата начала `pastPeriod` раньше, чем год назад от текущей даты, она будет приведена к виду: `pastPeriod.start = текущая дата — 365 дней` Можно использовать пагинацию. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
4115
|
+
|
|
4116
|
+
:param products_request: (required)
|
|
4117
|
+
:type products_request: ProductsRequest
|
|
4118
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
4119
|
+
number provided, it will be total request
|
|
4120
|
+
timeout. It can also be a pair (tuple) of
|
|
4121
|
+
(connection, read) timeouts.
|
|
4122
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
4123
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
4124
|
+
request; this effectively ignores the
|
|
4125
|
+
authentication in the spec for a single request.
|
|
4126
|
+
:type _request_auth: dict, optional
|
|
4127
|
+
:param _content_type: force content-type for the request.
|
|
4128
|
+
:type _content_type: str, Optional
|
|
4129
|
+
:param _headers: set to override the headers for a single
|
|
4130
|
+
request; this effectively ignores the headers
|
|
4131
|
+
in the spec for a single request.
|
|
4132
|
+
:type _headers: dict, optional
|
|
4133
|
+
:param _host_index: set to override the host_index for a single
|
|
4134
|
+
request; this effectively ignores the host_index
|
|
4135
|
+
in the spec for a single request.
|
|
4136
|
+
:type _host_index: int, optional
|
|
4137
|
+
:return: Returns the result object.
|
|
4138
|
+
""" # noqa: E501
|
|
4139
|
+
|
|
4140
|
+
_param = self._post_sales_funnel_products_serialize(
|
|
4141
|
+
products_request=products_request,
|
|
4142
|
+
_request_auth=_request_auth,
|
|
4143
|
+
_content_type=_content_type,
|
|
4144
|
+
_headers=_headers,
|
|
4145
|
+
_host_index=_host_index
|
|
4146
|
+
)
|
|
4147
|
+
|
|
4148
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4149
|
+
'200': "PostSalesFunnelProducts200Response",
|
|
4150
|
+
'400': "ErrorObject",
|
|
4151
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
4152
|
+
'403': "ErrorObject",
|
|
4153
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
4154
|
+
}
|
|
4155
|
+
response_data = self.api_client.call_api(
|
|
4156
|
+
*_param,
|
|
4157
|
+
_request_timeout=_request_timeout
|
|
4158
|
+
)
|
|
4159
|
+
response_data.read()
|
|
4160
|
+
return self.api_client.response_deserialize(
|
|
4161
|
+
response_data=response_data,
|
|
4162
|
+
response_types_map=_response_types_map,
|
|
4163
|
+
).data
|
|
4164
|
+
|
|
4165
|
+
|
|
4166
|
+
@validate_call
|
|
4167
|
+
def post_sales_funnel_products_with_http_info(
|
|
4168
|
+
self,
|
|
4169
|
+
products_request: ProductsRequest,
|
|
4170
|
+
_request_timeout: Union[
|
|
4171
|
+
None,
|
|
4172
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4173
|
+
Tuple[
|
|
4174
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4175
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
4176
|
+
]
|
|
4177
|
+
] = None,
|
|
4178
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
4179
|
+
_content_type: Optional[StrictStr] = None,
|
|
4180
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4181
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
4182
|
+
) -> ApiResponse[PostSalesFunnelProducts200Response]:
|
|
4183
|
+
"""Статистика карточек товаров за период
|
|
4184
|
+
|
|
4185
|
+
Метод формирует отчёт о товарах, сравнивая ключевые показатели — например, добавления в корзину, заказы и переходы в карточку товара — за текущий период с аналогичным прошлым.<br><br> Параметры `brandNames`,`subjectIds`, `tagIds`, `nmIds` могут быть пустыми `[]`, тогда в ответе возвращаются все карточки продавца.<br><br> Если вы указали несколько параметров, в ответе будут карточки, в которых есть одновременно все эти параметры. Если карточки не подходят по параметрам запроса, вернётся пустой ответ `[]`.<br><br> Можно получить отчёт максимум за последние 365 дней.<br><br> В данных предыдущего периода: * Данные в `pastPeriod` указаны за такой же период, что и в `selectedPeriod` * Если дата начала `pastPeriod` раньше, чем год назад от текущей даты, она будет приведена к виду: `pastPeriod.start = текущая дата — 365 дней` Можно использовать пагинацию. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
4186
|
+
|
|
4187
|
+
:param products_request: (required)
|
|
4188
|
+
:type products_request: ProductsRequest
|
|
4189
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
4190
|
+
number provided, it will be total request
|
|
4191
|
+
timeout. It can also be a pair (tuple) of
|
|
4192
|
+
(connection, read) timeouts.
|
|
4193
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
4194
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
4195
|
+
request; this effectively ignores the
|
|
4196
|
+
authentication in the spec for a single request.
|
|
4197
|
+
:type _request_auth: dict, optional
|
|
4198
|
+
:param _content_type: force content-type for the request.
|
|
4199
|
+
:type _content_type: str, Optional
|
|
4200
|
+
:param _headers: set to override the headers for a single
|
|
4201
|
+
request; this effectively ignores the headers
|
|
4202
|
+
in the spec for a single request.
|
|
4203
|
+
:type _headers: dict, optional
|
|
4204
|
+
:param _host_index: set to override the host_index for a single
|
|
4205
|
+
request; this effectively ignores the host_index
|
|
4206
|
+
in the spec for a single request.
|
|
4207
|
+
:type _host_index: int, optional
|
|
4208
|
+
:return: Returns the result object.
|
|
4209
|
+
""" # noqa: E501
|
|
4210
|
+
|
|
4211
|
+
_param = self._post_sales_funnel_products_serialize(
|
|
4212
|
+
products_request=products_request,
|
|
4213
|
+
_request_auth=_request_auth,
|
|
4214
|
+
_content_type=_content_type,
|
|
4215
|
+
_headers=_headers,
|
|
4216
|
+
_host_index=_host_index
|
|
4217
|
+
)
|
|
4218
|
+
|
|
4219
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4220
|
+
'200': "PostSalesFunnelProducts200Response",
|
|
4221
|
+
'400': "ErrorObject",
|
|
4222
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
4223
|
+
'403': "ErrorObject",
|
|
4224
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
4225
|
+
}
|
|
4226
|
+
response_data = self.api_client.call_api(
|
|
4227
|
+
*_param,
|
|
4228
|
+
_request_timeout=_request_timeout
|
|
4229
|
+
)
|
|
4230
|
+
response_data.read()
|
|
4231
|
+
return self.api_client.response_deserialize(
|
|
4232
|
+
response_data=response_data,
|
|
4233
|
+
response_types_map=_response_types_map,
|
|
4234
|
+
)
|
|
4235
|
+
|
|
4236
|
+
|
|
4237
|
+
@validate_call
|
|
4238
|
+
def post_sales_funnel_products_without_preload_content(
|
|
4239
|
+
self,
|
|
4240
|
+
products_request: ProductsRequest,
|
|
4241
|
+
_request_timeout: Union[
|
|
4242
|
+
None,
|
|
4243
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4244
|
+
Tuple[
|
|
4245
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4246
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
4247
|
+
]
|
|
4248
|
+
] = None,
|
|
4249
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
4250
|
+
_content_type: Optional[StrictStr] = None,
|
|
4251
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4252
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
4253
|
+
) -> RESTResponseType:
|
|
4254
|
+
"""Статистика карточек товаров за период
|
|
4255
|
+
|
|
4256
|
+
Метод формирует отчёт о товарах, сравнивая ключевые показатели — например, добавления в корзину, заказы и переходы в карточку товара — за текущий период с аналогичным прошлым.<br><br> Параметры `brandNames`,`subjectIds`, `tagIds`, `nmIds` могут быть пустыми `[]`, тогда в ответе возвращаются все карточки продавца.<br><br> Если вы указали несколько параметров, в ответе будут карточки, в которых есть одновременно все эти параметры. Если карточки не подходят по параметрам запроса, вернётся пустой ответ `[]`.<br><br> Можно получить отчёт максимум за последние 365 дней.<br><br> В данных предыдущего периода: * Данные в `pastPeriod` указаны за такой же период, что и в `selectedPeriod` * Если дата начала `pastPeriod` раньше, чем год назад от текущей даты, она будет приведена к виду: `pastPeriod.start = текущая дата — 365 дней` Можно использовать пагинацию. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
4257
|
+
|
|
4258
|
+
:param products_request: (required)
|
|
4259
|
+
:type products_request: ProductsRequest
|
|
4260
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
4261
|
+
number provided, it will be total request
|
|
4262
|
+
timeout. It can also be a pair (tuple) of
|
|
4263
|
+
(connection, read) timeouts.
|
|
4264
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
4265
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
4266
|
+
request; this effectively ignores the
|
|
4267
|
+
authentication in the spec for a single request.
|
|
4268
|
+
:type _request_auth: dict, optional
|
|
4269
|
+
:param _content_type: force content-type for the request.
|
|
4270
|
+
:type _content_type: str, Optional
|
|
4271
|
+
:param _headers: set to override the headers for a single
|
|
4272
|
+
request; this effectively ignores the headers
|
|
4273
|
+
in the spec for a single request.
|
|
4274
|
+
:type _headers: dict, optional
|
|
4275
|
+
:param _host_index: set to override the host_index for a single
|
|
4276
|
+
request; this effectively ignores the host_index
|
|
4277
|
+
in the spec for a single request.
|
|
4278
|
+
:type _host_index: int, optional
|
|
4279
|
+
:return: Returns the result object.
|
|
4280
|
+
""" # noqa: E501
|
|
4281
|
+
|
|
4282
|
+
_param = self._post_sales_funnel_products_serialize(
|
|
4283
|
+
products_request=products_request,
|
|
4284
|
+
_request_auth=_request_auth,
|
|
4285
|
+
_content_type=_content_type,
|
|
4286
|
+
_headers=_headers,
|
|
4287
|
+
_host_index=_host_index
|
|
4288
|
+
)
|
|
4289
|
+
|
|
4290
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4291
|
+
'200': "PostSalesFunnelProducts200Response",
|
|
4292
|
+
'400': "ErrorObject",
|
|
4293
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
4294
|
+
'403': "ErrorObject",
|
|
4295
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
4296
|
+
}
|
|
4297
|
+
response_data = self.api_client.call_api(
|
|
4298
|
+
*_param,
|
|
4299
|
+
_request_timeout=_request_timeout
|
|
4300
|
+
)
|
|
4301
|
+
return response_data.response
|
|
4302
|
+
|
|
4303
|
+
|
|
4304
|
+
def _post_sales_funnel_products_serialize(
|
|
4305
|
+
self,
|
|
4306
|
+
products_request,
|
|
4307
|
+
_request_auth,
|
|
4308
|
+
_content_type,
|
|
4309
|
+
_headers,
|
|
4310
|
+
_host_index,
|
|
4311
|
+
) -> RequestSerialized:
|
|
4312
|
+
|
|
4313
|
+
_hosts = [
|
|
4314
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
4315
|
+
]
|
|
4316
|
+
_host = _hosts[_host_index]
|
|
4317
|
+
|
|
4318
|
+
_collection_formats: Dict[str, str] = {
|
|
4319
|
+
}
|
|
4320
|
+
|
|
4321
|
+
_path_params: Dict[str, str] = {}
|
|
4322
|
+
_query_params: List[Tuple[str, str]] = []
|
|
4323
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
4324
|
+
_form_params: List[Tuple[str, str]] = []
|
|
4325
|
+
_files: Dict[
|
|
4326
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
4327
|
+
] = {}
|
|
4328
|
+
_body_params: Optional[bytes] = None
|
|
4329
|
+
|
|
4330
|
+
# process the path parameters
|
|
4331
|
+
# process the query parameters
|
|
4332
|
+
# process the header parameters
|
|
4333
|
+
# process the form parameters
|
|
4334
|
+
# process the body parameter
|
|
4335
|
+
if products_request is not None:
|
|
4336
|
+
_body_params = products_request
|
|
4337
|
+
|
|
4338
|
+
|
|
4339
|
+
# set the HTTP header `Accept`
|
|
4340
|
+
if 'Accept' not in _header_params:
|
|
4341
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
4342
|
+
[
|
|
4343
|
+
'application/json'
|
|
4344
|
+
]
|
|
4345
|
+
)
|
|
4346
|
+
|
|
4347
|
+
# set the HTTP header `Content-Type`
|
|
4348
|
+
if _content_type:
|
|
4349
|
+
_header_params['Content-Type'] = _content_type
|
|
4350
|
+
else:
|
|
4351
|
+
_default_content_type = (
|
|
4352
|
+
self.api_client.select_header_content_type(
|
|
4353
|
+
[
|
|
4354
|
+
'application/json'
|
|
4355
|
+
]
|
|
4356
|
+
)
|
|
4357
|
+
)
|
|
4358
|
+
if _default_content_type is not None:
|
|
4359
|
+
_header_params['Content-Type'] = _default_content_type
|
|
4360
|
+
|
|
4361
|
+
# authentication setting
|
|
4362
|
+
_auth_settings: List[str] = [
|
|
4363
|
+
'HeaderApiKey'
|
|
4364
|
+
]
|
|
4365
|
+
|
|
4366
|
+
return self.api_client.param_serialize(
|
|
4367
|
+
method='POST',
|
|
4368
|
+
resource_path='/api/analytics/v3/sales-funnel/products',
|
|
4369
|
+
path_params=_path_params,
|
|
4370
|
+
query_params=_query_params,
|
|
4371
|
+
header_params=_header_params,
|
|
4372
|
+
body=_body_params,
|
|
4373
|
+
post_params=_form_params,
|
|
4374
|
+
files=_files,
|
|
4375
|
+
auth_settings=_auth_settings,
|
|
4376
|
+
collection_formats=_collection_formats,
|
|
4377
|
+
_host=_host,
|
|
4378
|
+
_request_auth=_request_auth
|
|
4379
|
+
)
|
|
4380
|
+
|
|
4381
|
+
|
|
4382
|
+
|
|
4383
|
+
|
|
4384
|
+
@validate_call
|
|
4385
|
+
def post_sales_funnel_products_history(
|
|
4386
|
+
self,
|
|
4387
|
+
product_history_request: ProductHistoryRequest,
|
|
4388
|
+
_request_timeout: Union[
|
|
4389
|
+
None,
|
|
4390
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4391
|
+
Tuple[
|
|
4392
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4393
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
4394
|
+
]
|
|
4395
|
+
] = None,
|
|
4396
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
4397
|
+
_content_type: Optional[StrictStr] = None,
|
|
4398
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4399
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
4400
|
+
) -> List[ProductHistoryResponseInner]:
|
|
4401
|
+
"""Статистика карточек товаров по дням
|
|
4402
|
+
|
|
4403
|
+
Метод возвращает статистику карточек товаров по дням или неделям. Доступны данные по добавлениям в корзину, заказам, переходам в карточку товара и так далее. Можно получить данные максимум за последнюю неделю. <div class=\"description_important\"> Чтобы получать отчёты за период до года, используйте методы <a href=\"/openapi/analytics#tag/Analitika-prodavca-CSV\">Аналитика продавца CSV</a>. Эти методы доступны только с подпиской на <a href='https://seller.wildberries.ru/monetization/jam'>расширенную аналитику Джем</a> </div> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
4404
|
+
|
|
4405
|
+
:param product_history_request: (required)
|
|
4406
|
+
:type product_history_request: ProductHistoryRequest
|
|
4407
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
4408
|
+
number provided, it will be total request
|
|
4409
|
+
timeout. It can also be a pair (tuple) of
|
|
4410
|
+
(connection, read) timeouts.
|
|
4411
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
4412
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
4413
|
+
request; this effectively ignores the
|
|
4414
|
+
authentication in the spec for a single request.
|
|
4415
|
+
:type _request_auth: dict, optional
|
|
4416
|
+
:param _content_type: force content-type for the request.
|
|
4417
|
+
:type _content_type: str, Optional
|
|
4418
|
+
:param _headers: set to override the headers for a single
|
|
4419
|
+
request; this effectively ignores the headers
|
|
4420
|
+
in the spec for a single request.
|
|
4421
|
+
:type _headers: dict, optional
|
|
4422
|
+
:param _host_index: set to override the host_index for a single
|
|
4423
|
+
request; this effectively ignores the host_index
|
|
4424
|
+
in the spec for a single request.
|
|
4425
|
+
:type _host_index: int, optional
|
|
4426
|
+
:return: Returns the result object.
|
|
4427
|
+
""" # noqa: E501
|
|
4428
|
+
|
|
4429
|
+
_param = self._post_sales_funnel_products_history_serialize(
|
|
4430
|
+
product_history_request=product_history_request,
|
|
4431
|
+
_request_auth=_request_auth,
|
|
4432
|
+
_content_type=_content_type,
|
|
4433
|
+
_headers=_headers,
|
|
4434
|
+
_host_index=_host_index
|
|
4435
|
+
)
|
|
4436
|
+
|
|
4437
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4438
|
+
'200': "List[ProductHistoryResponseInner]",
|
|
4439
|
+
'400': "ErrorObject",
|
|
4440
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
4441
|
+
'403': "ErrorObject",
|
|
4442
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
4443
|
+
}
|
|
4444
|
+
response_data = self.api_client.call_api(
|
|
4445
|
+
*_param,
|
|
4446
|
+
_request_timeout=_request_timeout
|
|
4447
|
+
)
|
|
4448
|
+
response_data.read()
|
|
4449
|
+
return self.api_client.response_deserialize(
|
|
4450
|
+
response_data=response_data,
|
|
4451
|
+
response_types_map=_response_types_map,
|
|
4452
|
+
).data
|
|
4453
|
+
|
|
4454
|
+
|
|
4455
|
+
@validate_call
|
|
4456
|
+
def post_sales_funnel_products_history_with_http_info(
|
|
4457
|
+
self,
|
|
4458
|
+
product_history_request: ProductHistoryRequest,
|
|
4459
|
+
_request_timeout: Union[
|
|
4460
|
+
None,
|
|
4461
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4462
|
+
Tuple[
|
|
4463
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4464
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
4465
|
+
]
|
|
4466
|
+
] = None,
|
|
4467
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
4468
|
+
_content_type: Optional[StrictStr] = None,
|
|
4469
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4470
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
4471
|
+
) -> ApiResponse[List[ProductHistoryResponseInner]]:
|
|
4472
|
+
"""Статистика карточек товаров по дням
|
|
4473
|
+
|
|
4474
|
+
Метод возвращает статистику карточек товаров по дням или неделям. Доступны данные по добавлениям в корзину, заказам, переходам в карточку товара и так далее. Можно получить данные максимум за последнюю неделю. <div class=\"description_important\"> Чтобы получать отчёты за период до года, используйте методы <a href=\"/openapi/analytics#tag/Analitika-prodavca-CSV\">Аналитика продавца CSV</a>. Эти методы доступны только с подпиской на <a href='https://seller.wildberries.ru/monetization/jam'>расширенную аналитику Джем</a> </div> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
4475
|
+
|
|
4476
|
+
:param product_history_request: (required)
|
|
4477
|
+
:type product_history_request: ProductHistoryRequest
|
|
4478
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
4479
|
+
number provided, it will be total request
|
|
4480
|
+
timeout. It can also be a pair (tuple) of
|
|
4481
|
+
(connection, read) timeouts.
|
|
4482
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
4483
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
4484
|
+
request; this effectively ignores the
|
|
4485
|
+
authentication in the spec for a single request.
|
|
4486
|
+
:type _request_auth: dict, optional
|
|
4487
|
+
:param _content_type: force content-type for the request.
|
|
4488
|
+
:type _content_type: str, Optional
|
|
4489
|
+
:param _headers: set to override the headers for a single
|
|
4490
|
+
request; this effectively ignores the headers
|
|
4491
|
+
in the spec for a single request.
|
|
4492
|
+
:type _headers: dict, optional
|
|
4493
|
+
:param _host_index: set to override the host_index for a single
|
|
4494
|
+
request; this effectively ignores the host_index
|
|
4495
|
+
in the spec for a single request.
|
|
4496
|
+
:type _host_index: int, optional
|
|
4497
|
+
:return: Returns the result object.
|
|
4498
|
+
""" # noqa: E501
|
|
4499
|
+
|
|
4500
|
+
_param = self._post_sales_funnel_products_history_serialize(
|
|
4501
|
+
product_history_request=product_history_request,
|
|
4502
|
+
_request_auth=_request_auth,
|
|
4503
|
+
_content_type=_content_type,
|
|
4504
|
+
_headers=_headers,
|
|
4505
|
+
_host_index=_host_index
|
|
4506
|
+
)
|
|
4507
|
+
|
|
4508
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4509
|
+
'200': "List[ProductHistoryResponseInner]",
|
|
4510
|
+
'400': "ErrorObject",
|
|
4511
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
4512
|
+
'403': "ErrorObject",
|
|
4513
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
4514
|
+
}
|
|
4515
|
+
response_data = self.api_client.call_api(
|
|
4516
|
+
*_param,
|
|
4517
|
+
_request_timeout=_request_timeout
|
|
4518
|
+
)
|
|
4519
|
+
response_data.read()
|
|
4520
|
+
return self.api_client.response_deserialize(
|
|
4521
|
+
response_data=response_data,
|
|
4522
|
+
response_types_map=_response_types_map,
|
|
4523
|
+
)
|
|
4524
|
+
|
|
4525
|
+
|
|
4526
|
+
@validate_call
|
|
4527
|
+
def post_sales_funnel_products_history_without_preload_content(
|
|
4528
|
+
self,
|
|
4529
|
+
product_history_request: ProductHistoryRequest,
|
|
4530
|
+
_request_timeout: Union[
|
|
4531
|
+
None,
|
|
4532
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4533
|
+
Tuple[
|
|
4534
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4535
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
4536
|
+
]
|
|
4537
|
+
] = None,
|
|
4538
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
4539
|
+
_content_type: Optional[StrictStr] = None,
|
|
4540
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4541
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=1)] = 0,
|
|
4542
|
+
) -> RESTResponseType:
|
|
4543
|
+
"""Статистика карточек товаров по дням
|
|
4544
|
+
|
|
4545
|
+
Метод возвращает статистику карточек товаров по дням или неделям. Доступны данные по добавлениям в корзину, заказам, переходам в карточку товара и так далее. Можно получить данные максимум за последнюю неделю. <div class=\"description_important\"> Чтобы получать отчёты за период до года, используйте методы <a href=\"/openapi/analytics#tag/Analitika-prodavca-CSV\">Аналитика продавца CSV</a>. Эти методы доступны только с подпиской на <a href='https://seller.wildberries.ru/monetization/jam'>расширенную аналитику Джем</a> </div> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 3 запроса | 20 секунд | 3 запроса | </div>
|
|
4546
|
+
|
|
4547
|
+
:param product_history_request: (required)
|
|
4548
|
+
:type product_history_request: ProductHistoryRequest
|
|
4549
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
4550
|
+
number provided, it will be total request
|
|
4551
|
+
timeout. It can also be a pair (tuple) of
|
|
4552
|
+
(connection, read) timeouts.
|
|
4553
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
4554
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
4555
|
+
request; this effectively ignores the
|
|
4556
|
+
authentication in the spec for a single request.
|
|
4557
|
+
:type _request_auth: dict, optional
|
|
4558
|
+
:param _content_type: force content-type for the request.
|
|
4559
|
+
:type _content_type: str, Optional
|
|
4560
|
+
:param _headers: set to override the headers for a single
|
|
4561
|
+
request; this effectively ignores the headers
|
|
4562
|
+
in the spec for a single request.
|
|
4563
|
+
:type _headers: dict, optional
|
|
4564
|
+
:param _host_index: set to override the host_index for a single
|
|
4565
|
+
request; this effectively ignores the host_index
|
|
4566
|
+
in the spec for a single request.
|
|
4567
|
+
:type _host_index: int, optional
|
|
4568
|
+
:return: Returns the result object.
|
|
4569
|
+
""" # noqa: E501
|
|
4570
|
+
|
|
4571
|
+
_param = self._post_sales_funnel_products_history_serialize(
|
|
4572
|
+
product_history_request=product_history_request,
|
|
4573
|
+
_request_auth=_request_auth,
|
|
4574
|
+
_content_type=_content_type,
|
|
4575
|
+
_headers=_headers,
|
|
4576
|
+
_host_index=_host_index
|
|
4577
|
+
)
|
|
4578
|
+
|
|
4579
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4580
|
+
'200': "List[ProductHistoryResponseInner]",
|
|
4581
|
+
'400': "ErrorObject",
|
|
4582
|
+
'401': "PostSalesFunnelProducts401Response",
|
|
4583
|
+
'403': "ErrorObject",
|
|
4584
|
+
'429': "PostSalesFunnelProducts401Response",
|
|
4585
|
+
}
|
|
4586
|
+
response_data = self.api_client.call_api(
|
|
4587
|
+
*_param,
|
|
4588
|
+
_request_timeout=_request_timeout
|
|
4589
|
+
)
|
|
4590
|
+
return response_data.response
|
|
4591
|
+
|
|
4592
|
+
|
|
4593
|
+
def _post_sales_funnel_products_history_serialize(
|
|
4594
|
+
self,
|
|
4595
|
+
product_history_request,
|
|
4596
|
+
_request_auth,
|
|
4597
|
+
_content_type,
|
|
4598
|
+
_headers,
|
|
4599
|
+
_host_index,
|
|
4600
|
+
) -> RequestSerialized:
|
|
4601
|
+
|
|
4602
|
+
_hosts = [
|
|
4603
|
+
'https://seller-analytics-api.wildberries.ru'
|
|
4604
|
+
]
|
|
4605
|
+
_host = _hosts[_host_index]
|
|
4606
|
+
|
|
4607
|
+
_collection_formats: Dict[str, str] = {
|
|
4608
|
+
}
|
|
4609
|
+
|
|
4610
|
+
_path_params: Dict[str, str] = {}
|
|
4611
|
+
_query_params: List[Tuple[str, str]] = []
|
|
4612
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
4613
|
+
_form_params: List[Tuple[str, str]] = []
|
|
4614
|
+
_files: Dict[
|
|
4615
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
4616
|
+
] = {}
|
|
4617
|
+
_body_params: Optional[bytes] = None
|
|
4618
|
+
|
|
4619
|
+
# process the path parameters
|
|
4620
|
+
# process the query parameters
|
|
4621
|
+
# process the header parameters
|
|
4622
|
+
# process the form parameters
|
|
4623
|
+
# process the body parameter
|
|
4624
|
+
if product_history_request is not None:
|
|
4625
|
+
_body_params = product_history_request
|
|
4626
|
+
|
|
4627
|
+
|
|
4628
|
+
# set the HTTP header `Accept`
|
|
4629
|
+
if 'Accept' not in _header_params:
|
|
4630
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
4631
|
+
[
|
|
4632
|
+
'application/json'
|
|
4633
|
+
]
|
|
4634
|
+
)
|
|
4635
|
+
|
|
4636
|
+
# set the HTTP header `Content-Type`
|
|
4637
|
+
if _content_type:
|
|
4638
|
+
_header_params['Content-Type'] = _content_type
|
|
4639
|
+
else:
|
|
4640
|
+
_default_content_type = (
|
|
4641
|
+
self.api_client.select_header_content_type(
|
|
4642
|
+
[
|
|
4643
|
+
'application/json'
|
|
4644
|
+
]
|
|
4645
|
+
)
|
|
4646
|
+
)
|
|
4647
|
+
if _default_content_type is not None:
|
|
4648
|
+
_header_params['Content-Type'] = _default_content_type
|
|
4649
|
+
|
|
4650
|
+
# authentication setting
|
|
4651
|
+
_auth_settings: List[str] = [
|
|
4652
|
+
'HeaderApiKey'
|
|
4653
|
+
]
|
|
4654
|
+
|
|
4655
|
+
return self.api_client.param_serialize(
|
|
4656
|
+
method='POST',
|
|
4657
|
+
resource_path='/api/analytics/v3/sales-funnel/products/history',
|
|
4658
|
+
path_params=_path_params,
|
|
4659
|
+
query_params=_query_params,
|
|
4660
|
+
header_params=_header_params,
|
|
4661
|
+
body=_body_params,
|
|
4662
|
+
post_params=_form_params,
|
|
4663
|
+
files=_files,
|
|
4664
|
+
auth_settings=_auth_settings,
|
|
4665
|
+
collection_formats=_collection_formats,
|
|
4666
|
+
_host=_host,
|
|
4667
|
+
_request_auth=_request_auth
|
|
4668
|
+
)
|
|
4669
|
+
|
|
4670
|
+
|