wildberries-sdk 0.1.9__py3-none-any.whl → 0.1.11__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 -1
- wildberries_sdk/analytics/api_client.py +1 -1
- wildberries_sdk/analytics/configuration.py +1 -1
- wildberries_sdk/analytics/models/__init__.py +1 -0
- wildberries_sdk/analytics/models/main_request.py +3 -3
- wildberries_sdk/analytics/models/nm_report_get_reports_response_data_inner.py +2 -2
- wildberries_sdk/analytics/models/order_by.py +1 -1
- wildberries_sdk/analytics/models/order_by_main_and_details.py +103 -0
- wildberries_sdk/analytics/models/table_details_request.py +3 -3
- wildberries_sdk/analytics/models/table_group_field.py +1 -1
- wildberries_sdk/communications/__init__.py +5 -1
- wildberries_sdk/communications/api/api.py +8 -1
- wildberries_sdk/communications/api_client.py +1 -1
- wildberries_sdk/communications/configuration.py +1 -1
- wildberries_sdk/communications/models/__init__.py +2 -0
- wildberries_sdk/communications/models/api_v1_claims_get200_response_claims_inner.py +1 -1
- wildberries_sdk/communications/models/api_v1_seller_download_id_get202_response.py +89 -0
- wildberries_sdk/communications/models/api_v1_seller_download_id_get451_response.py +95 -0
- wildberries_sdk/finances/__init__.py +1 -1
- wildberries_sdk/finances/api_client.py +1 -1
- wildberries_sdk/finances/configuration.py +1 -1
- wildberries_sdk/finances/models/detail_report_item.py +9 -5
- wildberries_sdk/general/__init__.py +1 -1
- wildberries_sdk/general/api_client.py +1 -1
- wildberries_sdk/general/configuration.py +1 -1
- wildberries_sdk/in_store_pickup/__init__.py +1 -1
- wildberries_sdk/in_store_pickup/api_client.py +1 -1
- wildberries_sdk/in_store_pickup/configuration.py +1 -1
- wildberries_sdk/in_store_pickup/models/api_new_order.py +2 -2
- wildberries_sdk/in_store_pickup/models/api_order.py +2 -2
- wildberries_sdk/orders_dbs/__init__.py +1 -1
- wildberries_sdk/orders_dbs/api_client.py +1 -1
- wildberries_sdk/orders_dbs/configuration.py +1 -1
- wildberries_sdk/orders_dbs/models/order_dbs.py +2 -2
- wildberries_sdk/orders_dbs/models/order_new_dbs.py +2 -2
- wildberries_sdk/orders_dbw/__init__.py +1 -1
- wildberries_sdk/orders_dbw/api_client.py +1 -1
- wildberries_sdk/orders_dbw/configuration.py +1 -1
- wildberries_sdk/orders_fbs/__init__.py +1 -3
- wildberries_sdk/orders_fbs/api/fbs_api.py +21 -21
- wildberries_sdk/orders_fbs/api_client.py +1 -1
- wildberries_sdk/orders_fbs/configuration.py +1 -1
- wildberries_sdk/orders_fbs/models/__init__.py +0 -1
- wildberries_sdk/orders_fbs/models/api_v3_orders_stickers_cross_border_post200_response_stickers_inner.py +1 -1
- wildberries_sdk/orders_fbs/models/order_new.py +2 -2
- wildberries_sdk/orders_fbw/__init__.py +1 -1
- wildberries_sdk/orders_fbw/api/api.py +3 -3
- wildberries_sdk/orders_fbw/api_client.py +1 -1
- wildberries_sdk/orders_fbw/configuration.py +1 -1
- wildberries_sdk/products/__init__.py +3 -1
- wildberries_sdk/products/api_client.py +1 -1
- wildberries_sdk/products/configuration.py +1 -1
- wildberries_sdk/products/models/__init__.py +1 -0
- wildberries_sdk/products/models/content_v2_cards_update_post_request_inner.py +1 -1
- wildberries_sdk/products/models/content_v2_cards_upload_add_post_request_cards_to_add_inner.py +4 -4
- wildberries_sdk/products/models/content_v2_cards_upload_add_post_request_cards_to_add_inner_sizes_inner.py +93 -0
- wildberries_sdk/products/models/content_v2_cards_upload_post_request_inner_variants_inner.py +1 -1
- wildberries_sdk/products/models/content_v2_cards_upload_post_request_inner_variants_inner_sizes_inner.py +1 -1
- wildberries_sdk/promotion/__init__.py +1 -1
- wildberries_sdk/promotion/api_client.py +1 -1
- wildberries_sdk/promotion/configuration.py +1 -1
- wildberries_sdk/promotion/models/adv_v1_advert_get200_response_items_inner.py +1 -1
- wildberries_sdk/reports/__init__.py +13 -1
- wildberries_sdk/reports/api_client.py +1 -1
- wildberries_sdk/reports/configuration.py +1 -1
- wildberries_sdk/reports/models/__init__.py +6 -0
- wildberries_sdk/reports/models/incomes_item.py +4 -5
- wildberries_sdk/reports/models/measurement_penalties.py +91 -0
- wildberries_sdk/reports/models/measurement_penalties_data.py +97 -0
- wildberries_sdk/reports/models/measurement_penalties_data_reports_inner.py +122 -0
- wildberries_sdk/reports/models/orders_item.py +3 -4
- wildberries_sdk/reports/models/sales_item.py +2 -3
- wildberries_sdk/reports/models/stocks_item.py +2 -3
- wildberries_sdk/{orders_fbs/models/api_v3_orders_order_id_meta_get200_response.py → reports/models/whm.py} +15 -15
- wildberries_sdk/reports/models/whm_data.py +97 -0
- wildberries_sdk/reports/models/whm_data_reports_inner.py +104 -0
- wildberries_sdk/tariffs/__init__.py +1 -1
- wildberries_sdk/tariffs/api_client.py +1 -1
- wildberries_sdk/tariffs/configuration.py +1 -1
- wildberries_sdk/tariffs/models/commission_uzbekistan_report_inner.py +7 -3
- wildberries_sdk/wbd/__init__.py +1 -1
- wildberries_sdk/wbd/api/default_api.py +3 -3
- wildberries_sdk/wbd/api_client.py +1 -1
- wildberries_sdk/wbd/configuration.py +1 -1
- wildberries_sdk-0.1.11.dist-info/METADATA +190 -0
- {wildberries_sdk-0.1.9.dist-info → wildberries_sdk-0.1.11.dist-info}/RECORD +89 -80
- wildberries_sdk-0.1.9.dist-info/METADATA +0 -63
- {wildberries_sdk-0.1.9.dist-info → wildberries_sdk-0.1.11.dist-info}/LICENSE +0 -0
- {wildberries_sdk-0.1.9.dist-info → wildberries_sdk-0.1.11.dist-info}/WHEEL +0 -0
- {wildberries_sdk-0.1.9.dist-info → wildberries_sdk-0.1.11.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Отчёты
|
|
5
|
+
|
|
6
|
+
<div class=\"description_important\"> Узнать больше об отчётах можно в <a href=\"https://seller.wildberries.ru/instructions/subcategory/5f2162c5-069b-416d-a4e1-48da2a76e6b0\">справочном центре</a> </div> С помощью этих методов вы можете получить [основные отчёты](/openapi/reports#tag/Osnovnye-otchyoty) и отчёты о: 1. [Остатках на складах](/openapi/reports#tag/Otchyot-ob-ostatkah-na-skladah) 2. [Товарах с обязательной маркировкой](/openapi/reports#tag/Otchyot-o-tovarah-c-obyazatelnoj-markirovkoj) 3. [Удержаниях](/openapi/reports#tag/Otchyoty-ob-uderzhaniyah) 4. [Платной приёмке](/openapi/reports#tag/Platnaya-priyomka) 5. [Платном хранении](/openapi/reports#tag/Platnoe-hranenie) 6. [Продажах по регионам](/openapi/reports#tag/Prodazhi-po-regionam) 7. [Доле бренда в продажах](/openapi/reports#tag/Dolya-brenda-v-prodazhah) 8. [Скрытых товарах](/openapi/reports#tag/Skrytye-tovary) 9. [Возвратах и перемещении товаров](/openapi/reports#tag/Otchyot-o-vozvratah-i-peremeshenii-tovarov)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: reports
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt
|
|
21
|
+
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from wildberries_sdk.reports.models.measurement_penalties_data_reports_inner import MeasurementPenaltiesDataReportsInner
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class MeasurementPenaltiesData(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
Данные ответа
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
reports: List[MeasurementPenaltiesDataReportsInner] = Field(description="Удержания")
|
|
31
|
+
total: StrictInt = Field(description="Количество удержаний в отчёте. Без учёта `limit` и `offset`")
|
|
32
|
+
__properties: ClassVar[List[str]] = ["reports", "total"]
|
|
33
|
+
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
populate_by_name=True,
|
|
36
|
+
validate_assignment=True,
|
|
37
|
+
protected_namespaces=(),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def to_str(self) -> str:
|
|
42
|
+
"""Returns the string representation of the model using alias"""
|
|
43
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
44
|
+
|
|
45
|
+
def to_json(self) -> str:
|
|
46
|
+
"""Returns the JSON representation of the model using alias"""
|
|
47
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
48
|
+
return json.dumps(self.to_dict())
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
52
|
+
"""Create an instance of MeasurementPenaltiesData from a JSON string"""
|
|
53
|
+
return cls.from_dict(json.loads(json_str))
|
|
54
|
+
|
|
55
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
56
|
+
"""Return the dictionary representation of the model using alias.
|
|
57
|
+
|
|
58
|
+
This has the following differences from calling pydantic's
|
|
59
|
+
`self.model_dump(by_alias=True)`:
|
|
60
|
+
|
|
61
|
+
* `None` is only added to the output dict for nullable fields that
|
|
62
|
+
were set at model initialization. Other fields with value `None`
|
|
63
|
+
are ignored.
|
|
64
|
+
"""
|
|
65
|
+
excluded_fields: Set[str] = set([
|
|
66
|
+
])
|
|
67
|
+
|
|
68
|
+
_dict = self.model_dump(
|
|
69
|
+
by_alias=True,
|
|
70
|
+
exclude=excluded_fields,
|
|
71
|
+
exclude_none=True,
|
|
72
|
+
)
|
|
73
|
+
# override the default output from pydantic by calling `to_dict()` of each item in reports (list)
|
|
74
|
+
_items = []
|
|
75
|
+
if self.reports:
|
|
76
|
+
for _item_reports in self.reports:
|
|
77
|
+
if _item_reports:
|
|
78
|
+
_items.append(_item_reports.to_dict())
|
|
79
|
+
_dict['reports'] = _items
|
|
80
|
+
return _dict
|
|
81
|
+
|
|
82
|
+
@classmethod
|
|
83
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
84
|
+
"""Create an instance of MeasurementPenaltiesData from a dict"""
|
|
85
|
+
if obj is None:
|
|
86
|
+
return None
|
|
87
|
+
|
|
88
|
+
if not isinstance(obj, dict):
|
|
89
|
+
return cls.model_validate(obj)
|
|
90
|
+
|
|
91
|
+
_obj = cls.model_validate({
|
|
92
|
+
"reports": [MeasurementPenaltiesDataReportsInner.from_dict(_item) for _item in obj["reports"]] if obj.get("reports") is not None else None,
|
|
93
|
+
"total": obj.get("total")
|
|
94
|
+
})
|
|
95
|
+
return _obj
|
|
96
|
+
|
|
97
|
+
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Отчёты
|
|
5
|
+
|
|
6
|
+
<div class=\"description_important\"> Узнать больше об отчётах можно в <a href=\"https://seller.wildberries.ru/instructions/subcategory/5f2162c5-069b-416d-a4e1-48da2a76e6b0\">справочном центре</a> </div> С помощью этих методов вы можете получить [основные отчёты](/openapi/reports#tag/Osnovnye-otchyoty) и отчёты о: 1. [Остатках на складах](/openapi/reports#tag/Otchyot-ob-ostatkah-na-skladah) 2. [Товарах с обязательной маркировкой](/openapi/reports#tag/Otchyot-o-tovarah-c-obyazatelnoj-markirovkoj) 3. [Удержаниях](/openapi/reports#tag/Otchyoty-ob-uderzhaniyah) 4. [Платной приёмке](/openapi/reports#tag/Platnaya-priyomka) 5. [Платном хранении](/openapi/reports#tag/Platnoe-hranenie) 6. [Продажах по регионам](/openapi/reports#tag/Prodazhi-po-regionam) 7. [Доле бренда в продажах](/openapi/reports#tag/Dolya-brenda-v-prodazhah) 8. [Скрытых товарах](/openapi/reports#tag/Skrytye-tovary) 9. [Возвратах и перемещении товаров](/openapi/reports#tag/Otchyot-o-vozvratah-i-peremeshenii-tovarov)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: reports
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from datetime import datetime
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
|
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class MeasurementPenaltiesDataReportsInner(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
MeasurementPenaltiesDataReportsInner
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
nm_id: Optional[StrictInt] = Field(default=None, description="Артикул WB", alias="nmId")
|
|
31
|
+
subject_name: Optional[StrictStr] = Field(default=None, description="Предмет", alias="subjectName")
|
|
32
|
+
dim_id: Optional[StrictInt] = Field(default=None, description="ID замера", alias="dimId")
|
|
33
|
+
prc_over: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Разница в габаритах, %", alias="prcOver")
|
|
34
|
+
volume: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Объём, л (фактические габариты по замеру на складе)")
|
|
35
|
+
width: Optional[StrictInt] = Field(default=None, description="Ширина, см (фактические габариты по замеру на складе)")
|
|
36
|
+
length: Optional[StrictInt] = Field(default=None, description="Длина, см (фактические габариты по замеру на складе)")
|
|
37
|
+
height: Optional[StrictInt] = Field(default=None, description="Высота, см (фактические габариты по замеру на складе)")
|
|
38
|
+
volume_sup: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Объём, л (габариты карточки товара)", alias="volumeSup")
|
|
39
|
+
width_sup: Optional[StrictInt] = Field(default=None, description="Ширина, см (габариты карточки товара)", alias="widthSup")
|
|
40
|
+
length_sup: Optional[StrictInt] = Field(default=None, description="Длина, см (габариты карточки товара)", alias="lengthSup")
|
|
41
|
+
height_sup: Optional[StrictInt] = Field(default=None, description="Высота, см (габариты карточки товара)", alias="heightSup")
|
|
42
|
+
photo_urls: Optional[List[StrictStr]] = Field(default=None, description="Фото замеров", alias="photoUrls")
|
|
43
|
+
dt_bonus: Optional[datetime] = Field(default=None, description="Дата штрафа", alias="dtBonus")
|
|
44
|
+
is_valid: Optional[StrictBool] = Field(default=None, description="Статус обмера: - `false` — отменён - `true` — подтверждён ", alias="isValid")
|
|
45
|
+
is_valid_dt: Optional[datetime] = Field(default=None, description="Дата и время подтверждения или отмены обмера", alias="isValidDt")
|
|
46
|
+
reversal_amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Сумма сторно", alias="reversalAmount")
|
|
47
|
+
penalty_amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Сумма штрафа", alias="penaltyAmount")
|
|
48
|
+
__properties: ClassVar[List[str]] = ["nmId", "subjectName", "dimId", "prcOver", "volume", "width", "length", "height", "volumeSup", "widthSup", "lengthSup", "heightSup", "photoUrls", "dtBonus", "isValid", "isValidDt", "reversalAmount", "penaltyAmount"]
|
|
49
|
+
|
|
50
|
+
model_config = ConfigDict(
|
|
51
|
+
populate_by_name=True,
|
|
52
|
+
validate_assignment=True,
|
|
53
|
+
protected_namespaces=(),
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def to_str(self) -> str:
|
|
58
|
+
"""Returns the string representation of the model using alias"""
|
|
59
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
60
|
+
|
|
61
|
+
def to_json(self) -> str:
|
|
62
|
+
"""Returns the JSON representation of the model using alias"""
|
|
63
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
64
|
+
return json.dumps(self.to_dict())
|
|
65
|
+
|
|
66
|
+
@classmethod
|
|
67
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
68
|
+
"""Create an instance of MeasurementPenaltiesDataReportsInner from a JSON string"""
|
|
69
|
+
return cls.from_dict(json.loads(json_str))
|
|
70
|
+
|
|
71
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
72
|
+
"""Return the dictionary representation of the model using alias.
|
|
73
|
+
|
|
74
|
+
This has the following differences from calling pydantic's
|
|
75
|
+
`self.model_dump(by_alias=True)`:
|
|
76
|
+
|
|
77
|
+
* `None` is only added to the output dict for nullable fields that
|
|
78
|
+
were set at model initialization. Other fields with value `None`
|
|
79
|
+
are ignored.
|
|
80
|
+
"""
|
|
81
|
+
excluded_fields: Set[str] = set([
|
|
82
|
+
])
|
|
83
|
+
|
|
84
|
+
_dict = self.model_dump(
|
|
85
|
+
by_alias=True,
|
|
86
|
+
exclude=excluded_fields,
|
|
87
|
+
exclude_none=True,
|
|
88
|
+
)
|
|
89
|
+
return _dict
|
|
90
|
+
|
|
91
|
+
@classmethod
|
|
92
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
93
|
+
"""Create an instance of MeasurementPenaltiesDataReportsInner from a dict"""
|
|
94
|
+
if obj is None:
|
|
95
|
+
return None
|
|
96
|
+
|
|
97
|
+
if not isinstance(obj, dict):
|
|
98
|
+
return cls.model_validate(obj)
|
|
99
|
+
|
|
100
|
+
_obj = cls.model_validate({
|
|
101
|
+
"nmId": obj.get("nmId"),
|
|
102
|
+
"subjectName": obj.get("subjectName"),
|
|
103
|
+
"dimId": obj.get("dimId"),
|
|
104
|
+
"prcOver": obj.get("prcOver"),
|
|
105
|
+
"volume": obj.get("volume"),
|
|
106
|
+
"width": obj.get("width"),
|
|
107
|
+
"length": obj.get("length"),
|
|
108
|
+
"height": obj.get("height"),
|
|
109
|
+
"volumeSup": obj.get("volumeSup"),
|
|
110
|
+
"widthSup": obj.get("widthSup"),
|
|
111
|
+
"lengthSup": obj.get("lengthSup"),
|
|
112
|
+
"heightSup": obj.get("heightSup"),
|
|
113
|
+
"photoUrls": obj.get("photoUrls"),
|
|
114
|
+
"dtBonus": obj.get("dtBonus"),
|
|
115
|
+
"isValid": obj.get("isValid"),
|
|
116
|
+
"isValidDt": obj.get("isValidDt"),
|
|
117
|
+
"reversalAmount": obj.get("reversalAmount"),
|
|
118
|
+
"penaltyAmount": obj.get("penaltyAmount")
|
|
119
|
+
})
|
|
120
|
+
return _obj
|
|
121
|
+
|
|
122
|
+
|
|
@@ -17,7 +17,6 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
-
from datetime import datetime
|
|
21
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
|
|
22
21
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
23
22
|
from typing_extensions import Annotated
|
|
@@ -28,8 +27,8 @@ class OrdersItem(BaseModel):
|
|
|
28
27
|
"""
|
|
29
28
|
OrdersItem
|
|
30
29
|
""" # noqa: E501
|
|
31
|
-
var_date: Optional[
|
|
32
|
-
last_change_date: Optional[
|
|
30
|
+
var_date: Optional[StrictStr] = Field(default=None, description="Дата и время заказа. Это поле соответствует параметру `dateFrom` в запросе, если параметр `flag`=1. Если часовой пояс не указан, то берётся Московское время (UTC+3).", alias="date")
|
|
31
|
+
last_change_date: Optional[StrictStr] = Field(default=None, description="Дата и время обновления информации в сервисе. Это поле соответствует параметру `dateFrom` в запросе, если параметр `flag`=0 или не указан. Если часовой пояс не указан, то берётся Московское время (UTC+3).", alias="lastChangeDate")
|
|
33
32
|
warehouse_name: Optional[Annotated[str, Field(strict=True, max_length=50)]] = Field(default=None, description="Склад отгрузки", alias="warehouseName")
|
|
34
33
|
warehouse_type: Optional[StrictStr] = Field(default=None, description="Тип склада хранения товаров", alias="warehouseType")
|
|
35
34
|
country_name: Optional[Annotated[str, Field(strict=True, max_length=200)]] = Field(default=None, description="Страна", alias="countryName")
|
|
@@ -51,7 +50,7 @@ class OrdersItem(BaseModel):
|
|
|
51
50
|
finished_price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Цена с учетом всех скидок, кроме суммы по WB Кошельку", alias="finishedPrice")
|
|
52
51
|
price_with_disc: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Цена со скидкой продавца (= `totalPrice` * (1 - `discountPercent`/100))", alias="priceWithDisc")
|
|
53
52
|
is_cancel: Optional[StrictBool] = Field(default=None, description="Отмена заказа: - `true` — заказ отменен ", alias="isCancel")
|
|
54
|
-
cancel_date: Optional[
|
|
53
|
+
cancel_date: Optional[StrictStr] = Field(default=None, description="Дата и время отмены заказа. Если заказ не был отменен, то \"0001-01-01T00:00:00\".Если часовой пояс не указан, то берётся Московское время UTC+3.", alias="cancelDate")
|
|
55
54
|
sticker: Optional[StrictStr] = Field(default=None, description="ID стикера")
|
|
56
55
|
g_number: Optional[Annotated[str, Field(strict=True, max_length=50)]] = Field(default=None, description="ID корзины покупателя. Заказы одной транзакции будут иметь одинаковый `gNumber`", alias="gNumber")
|
|
57
56
|
srid: Optional[StrictStr] = Field(default=None, description="Уникальный ID заказа.<br> Примечание для использующих API Маркетплейс: `srid` равен `rid` в ответах методов сборочных заданий. ")
|
|
@@ -17,7 +17,6 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
-
from datetime import datetime
|
|
21
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
|
|
22
21
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
23
22
|
from typing_extensions import Annotated
|
|
@@ -28,8 +27,8 @@ class SalesItem(BaseModel):
|
|
|
28
27
|
"""
|
|
29
28
|
SalesItem
|
|
30
29
|
""" # noqa: E501
|
|
31
|
-
var_date: Optional[
|
|
32
|
-
last_change_date: Optional[
|
|
30
|
+
var_date: Optional[StrictStr] = Field(default=None, description="Дата и время продажи. Это поле соответствует параметру `dateFrom` в запросе, если параметр `flag`=1. Если часовой пояс не указан, то берётся Московское время (UTC+3).", alias="date")
|
|
31
|
+
last_change_date: Optional[StrictStr] = Field(default=None, description="Дата и время обновления информации в сервисе. Это поле соответствует параметру `dateFrom` в запросе, если параметр `flag`=0 или не указан. Если часовой пояс не указан, то берётся Московское время (UTC+3).", alias="lastChangeDate")
|
|
33
32
|
warehouse_name: Optional[Annotated[str, Field(strict=True, max_length=50)]] = Field(default=None, description="Склад отгрузки", alias="warehouseName")
|
|
34
33
|
warehouse_type: Optional[StrictStr] = Field(default=None, description="Тип склада хранения товаров", alias="warehouseType")
|
|
35
34
|
country_name: Optional[Annotated[str, Field(strict=True, max_length=200)]] = Field(default=None, description="Страна", alias="countryName")
|
|
@@ -17,8 +17,7 @@ import pprint
|
|
|
17
17
|
import re # noqa: F401
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
|
-
from
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
|
|
22
21
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
23
22
|
from typing_extensions import Annotated
|
|
24
23
|
from typing import Optional, Set
|
|
@@ -28,7 +27,7 @@ class StocksItem(BaseModel):
|
|
|
28
27
|
"""
|
|
29
28
|
StocksItem
|
|
30
29
|
""" # noqa: E501
|
|
31
|
-
last_change_date: Optional[
|
|
30
|
+
last_change_date: Optional[StrictStr] = Field(default=None, description="Дата и время обновления информации в сервисе. Это поле соответствует параметру `dateFrom` в запросе. Если часовой пояс не указан, то берётся Московское время (UTC+3)", alias="lastChangeDate")
|
|
32
31
|
warehouse_name: Optional[Annotated[str, Field(strict=True, max_length=50)]] = Field(default=None, description="Название склада", alias="warehouseName")
|
|
33
32
|
supplier_article: Optional[Annotated[str, Field(strict=True, max_length=75)]] = Field(default=None, description="Артикул продавца", alias="supplierArticle")
|
|
34
33
|
nm_id: Optional[StrictInt] = Field(default=None, description="Артикул WB", alias="nmId")
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
|
|
4
|
+
Отчёты
|
|
5
5
|
|
|
6
|
-
<div class=\"description_important\">
|
|
6
|
+
<div class=\"description_important\"> Узнать больше об отчётах можно в <a href=\"https://seller.wildberries.ru/instructions/subcategory/5f2162c5-069b-416d-a4e1-48da2a76e6b0\">справочном центре</a> </div> С помощью этих методов вы можете получить [основные отчёты](/openapi/reports#tag/Osnovnye-otchyoty) и отчёты о: 1. [Остатках на складах](/openapi/reports#tag/Otchyot-ob-ostatkah-na-skladah) 2. [Товарах с обязательной маркировкой](/openapi/reports#tag/Otchyot-o-tovarah-c-obyazatelnoj-markirovkoj) 3. [Удержаниях](/openapi/reports#tag/Otchyoty-ob-uderzhaniyah) 4. [Платной приёмке](/openapi/reports#tag/Platnaya-priyomka) 5. [Платном хранении](/openapi/reports#tag/Platnoe-hranenie) 6. [Продажах по регионам](/openapi/reports#tag/Prodazhi-po-regionam) 7. [Доле бренда в продажах](/openapi/reports#tag/Dolya-brenda-v-prodazhah) 8. [Скрытых товарах](/openapi/reports#tag/Skrytye-tovary) 9. [Возвратах и перемещении товаров](/openapi/reports#tag/Otchyot-o-vozvratah-i-peremeshenii-tovarov)
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document:
|
|
8
|
+
The version of the OpenAPI document: reports
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
10
|
|
|
11
11
|
Do not edit the class manually.
|
|
@@ -18,17 +18,17 @@ import re # noqa: F401
|
|
|
18
18
|
import json
|
|
19
19
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict
|
|
21
|
-
from typing import Any, ClassVar, Dict, List
|
|
22
|
-
from wildberries_sdk.
|
|
21
|
+
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from wildberries_sdk.reports.models.whm_data import WHMData
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
26
|
-
class
|
|
26
|
+
class WHM(BaseModel):
|
|
27
27
|
"""
|
|
28
|
-
|
|
28
|
+
WHM
|
|
29
29
|
""" # noqa: E501
|
|
30
|
-
|
|
31
|
-
__properties: ClassVar[List[str]] = ["
|
|
30
|
+
data: WHMData
|
|
31
|
+
__properties: ClassVar[List[str]] = ["data"]
|
|
32
32
|
|
|
33
33
|
model_config = ConfigDict(
|
|
34
34
|
populate_by_name=True,
|
|
@@ -48,7 +48,7 @@ class ApiV3OrdersOrderIdMetaGet200Response(BaseModel):
|
|
|
48
48
|
|
|
49
49
|
@classmethod
|
|
50
50
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
51
|
-
"""Create an instance of
|
|
51
|
+
"""Create an instance of WHM from a JSON string"""
|
|
52
52
|
return cls.from_dict(json.loads(json_str))
|
|
53
53
|
|
|
54
54
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -69,14 +69,14 @@ class ApiV3OrdersOrderIdMetaGet200Response(BaseModel):
|
|
|
69
69
|
exclude=excluded_fields,
|
|
70
70
|
exclude_none=True,
|
|
71
71
|
)
|
|
72
|
-
# override the default output from pydantic by calling `to_dict()` of
|
|
73
|
-
if self.
|
|
74
|
-
_dict['
|
|
72
|
+
# override the default output from pydantic by calling `to_dict()` of data
|
|
73
|
+
if self.data:
|
|
74
|
+
_dict['data'] = self.data.to_dict()
|
|
75
75
|
return _dict
|
|
76
76
|
|
|
77
77
|
@classmethod
|
|
78
78
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
79
|
-
"""Create an instance of
|
|
79
|
+
"""Create an instance of WHM from a dict"""
|
|
80
80
|
if obj is None:
|
|
81
81
|
return None
|
|
82
82
|
|
|
@@ -84,7 +84,7 @@ class ApiV3OrdersOrderIdMetaGet200Response(BaseModel):
|
|
|
84
84
|
return cls.model_validate(obj)
|
|
85
85
|
|
|
86
86
|
_obj = cls.model_validate({
|
|
87
|
-
"
|
|
87
|
+
"data": WHMData.from_dict(obj["data"]) if obj.get("data") is not None else None
|
|
88
88
|
})
|
|
89
89
|
return _obj
|
|
90
90
|
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Отчёты
|
|
5
|
+
|
|
6
|
+
<div class=\"description_important\"> Узнать больше об отчётах можно в <a href=\"https://seller.wildberries.ru/instructions/subcategory/5f2162c5-069b-416d-a4e1-48da2a76e6b0\">справочном центре</a> </div> С помощью этих методов вы можете получить [основные отчёты](/openapi/reports#tag/Osnovnye-otchyoty) и отчёты о: 1. [Остатках на складах](/openapi/reports#tag/Otchyot-ob-ostatkah-na-skladah) 2. [Товарах с обязательной маркировкой](/openapi/reports#tag/Otchyot-o-tovarah-c-obyazatelnoj-markirovkoj) 3. [Удержаниях](/openapi/reports#tag/Otchyoty-ob-uderzhaniyah) 4. [Платной приёмке](/openapi/reports#tag/Platnaya-priyomka) 5. [Платном хранении](/openapi/reports#tag/Platnoe-hranenie) 6. [Продажах по регионам](/openapi/reports#tag/Prodazhi-po-regionam) 7. [Доле бренда в продажах](/openapi/reports#tag/Dolya-brenda-v-prodazhah) 8. [Скрытых товарах](/openapi/reports#tag/Skrytye-tovary) 9. [Возвратах и перемещении товаров](/openapi/reports#tag/Otchyot-o-vozvratah-i-peremeshenii-tovarov)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: reports
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt
|
|
21
|
+
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from wildberries_sdk.reports.models.whm_data_reports_inner import WHMDataReportsInner
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class WHMData(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
Данные ответа
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
reports: List[WHMDataReportsInner] = Field(description="Замеры")
|
|
31
|
+
total: StrictInt = Field(description="Количество замеров в отчёте. Без учёта `limit` и `offset`")
|
|
32
|
+
__properties: ClassVar[List[str]] = ["reports", "total"]
|
|
33
|
+
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
populate_by_name=True,
|
|
36
|
+
validate_assignment=True,
|
|
37
|
+
protected_namespaces=(),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def to_str(self) -> str:
|
|
42
|
+
"""Returns the string representation of the model using alias"""
|
|
43
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
44
|
+
|
|
45
|
+
def to_json(self) -> str:
|
|
46
|
+
"""Returns the JSON representation of the model using alias"""
|
|
47
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
48
|
+
return json.dumps(self.to_dict())
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
52
|
+
"""Create an instance of WHMData from a JSON string"""
|
|
53
|
+
return cls.from_dict(json.loads(json_str))
|
|
54
|
+
|
|
55
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
56
|
+
"""Return the dictionary representation of the model using alias.
|
|
57
|
+
|
|
58
|
+
This has the following differences from calling pydantic's
|
|
59
|
+
`self.model_dump(by_alias=True)`:
|
|
60
|
+
|
|
61
|
+
* `None` is only added to the output dict for nullable fields that
|
|
62
|
+
were set at model initialization. Other fields with value `None`
|
|
63
|
+
are ignored.
|
|
64
|
+
"""
|
|
65
|
+
excluded_fields: Set[str] = set([
|
|
66
|
+
])
|
|
67
|
+
|
|
68
|
+
_dict = self.model_dump(
|
|
69
|
+
by_alias=True,
|
|
70
|
+
exclude=excluded_fields,
|
|
71
|
+
exclude_none=True,
|
|
72
|
+
)
|
|
73
|
+
# override the default output from pydantic by calling `to_dict()` of each item in reports (list)
|
|
74
|
+
_items = []
|
|
75
|
+
if self.reports:
|
|
76
|
+
for _item_reports in self.reports:
|
|
77
|
+
if _item_reports:
|
|
78
|
+
_items.append(_item_reports.to_dict())
|
|
79
|
+
_dict['reports'] = _items
|
|
80
|
+
return _dict
|
|
81
|
+
|
|
82
|
+
@classmethod
|
|
83
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
84
|
+
"""Create an instance of WHMData from a dict"""
|
|
85
|
+
if obj is None:
|
|
86
|
+
return None
|
|
87
|
+
|
|
88
|
+
if not isinstance(obj, dict):
|
|
89
|
+
return cls.model_validate(obj)
|
|
90
|
+
|
|
91
|
+
_obj = cls.model_validate({
|
|
92
|
+
"reports": [WHMDataReportsInner.from_dict(_item) for _item in obj["reports"]] if obj.get("reports") is not None else None,
|
|
93
|
+
"total": obj.get("total")
|
|
94
|
+
})
|
|
95
|
+
return _obj
|
|
96
|
+
|
|
97
|
+
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Отчёты
|
|
5
|
+
|
|
6
|
+
<div class=\"description_important\"> Узнать больше об отчётах можно в <a href=\"https://seller.wildberries.ru/instructions/subcategory/5f2162c5-069b-416d-a4e1-48da2a76e6b0\">справочном центре</a> </div> С помощью этих методов вы можете получить [основные отчёты](/openapi/reports#tag/Osnovnye-otchyoty) и отчёты о: 1. [Остатках на складах](/openapi/reports#tag/Otchyot-ob-ostatkah-na-skladah) 2. [Товарах с обязательной маркировкой](/openapi/reports#tag/Otchyot-o-tovarah-c-obyazatelnoj-markirovkoj) 3. [Удержаниях](/openapi/reports#tag/Otchyoty-ob-uderzhaniyah) 4. [Платной приёмке](/openapi/reports#tag/Platnaya-priyomka) 5. [Платном хранении](/openapi/reports#tag/Platnoe-hranenie) 6. [Продажах по регионам](/openapi/reports#tag/Prodazhi-po-regionam) 7. [Доле бренда в продажах](/openapi/reports#tag/Dolya-brenda-v-prodazhah) 8. [Скрытых товарах](/openapi/reports#tag/Skrytye-tovary) 9. [Возвратах и перемещении товаров](/openapi/reports#tag/Otchyot-o-vozvratah-i-peremeshenii-tovarov)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: reports
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from datetime import datetime
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class WHMDataReportsInner(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
WHMDataReportsInner
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
nm_id: Optional[StrictInt] = Field(default=None, description="Артикул WB", alias="nmId")
|
|
31
|
+
subject_name: Optional[StrictStr] = Field(default=None, description="Предмет", alias="subjectName")
|
|
32
|
+
dim_id: Optional[StrictInt] = Field(default=None, description="ID замера", alias="dimId")
|
|
33
|
+
volume: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Объём, л")
|
|
34
|
+
width: Optional[StrictInt] = Field(default=None, description="Ширина, см")
|
|
35
|
+
length: Optional[StrictInt] = Field(default=None, description="Длина, см")
|
|
36
|
+
height: Optional[StrictInt] = Field(default=None, description="Высота, см")
|
|
37
|
+
photo_urls: Optional[List[StrictStr]] = Field(default=None, description="Фото замеров", alias="photoUrls")
|
|
38
|
+
dt: Optional[datetime] = Field(default=None, description="Дата и время")
|
|
39
|
+
__properties: ClassVar[List[str]] = ["nmId", "subjectName", "dimId", "volume", "width", "length", "height", "photoUrls", "dt"]
|
|
40
|
+
|
|
41
|
+
model_config = ConfigDict(
|
|
42
|
+
populate_by_name=True,
|
|
43
|
+
validate_assignment=True,
|
|
44
|
+
protected_namespaces=(),
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def to_str(self) -> str:
|
|
49
|
+
"""Returns the string representation of the model using alias"""
|
|
50
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
51
|
+
|
|
52
|
+
def to_json(self) -> str:
|
|
53
|
+
"""Returns the JSON representation of the model using alias"""
|
|
54
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
55
|
+
return json.dumps(self.to_dict())
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
59
|
+
"""Create an instance of WHMDataReportsInner from a JSON string"""
|
|
60
|
+
return cls.from_dict(json.loads(json_str))
|
|
61
|
+
|
|
62
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
63
|
+
"""Return the dictionary representation of the model using alias.
|
|
64
|
+
|
|
65
|
+
This has the following differences from calling pydantic's
|
|
66
|
+
`self.model_dump(by_alias=True)`:
|
|
67
|
+
|
|
68
|
+
* `None` is only added to the output dict for nullable fields that
|
|
69
|
+
were set at model initialization. Other fields with value `None`
|
|
70
|
+
are ignored.
|
|
71
|
+
"""
|
|
72
|
+
excluded_fields: Set[str] = set([
|
|
73
|
+
])
|
|
74
|
+
|
|
75
|
+
_dict = self.model_dump(
|
|
76
|
+
by_alias=True,
|
|
77
|
+
exclude=excluded_fields,
|
|
78
|
+
exclude_none=True,
|
|
79
|
+
)
|
|
80
|
+
return _dict
|
|
81
|
+
|
|
82
|
+
@classmethod
|
|
83
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
84
|
+
"""Create an instance of WHMDataReportsInner from a dict"""
|
|
85
|
+
if obj is None:
|
|
86
|
+
return None
|
|
87
|
+
|
|
88
|
+
if not isinstance(obj, dict):
|
|
89
|
+
return cls.model_validate(obj)
|
|
90
|
+
|
|
91
|
+
_obj = cls.model_validate({
|
|
92
|
+
"nmId": obj.get("nmId"),
|
|
93
|
+
"subjectName": obj.get("subjectName"),
|
|
94
|
+
"dimId": obj.get("dimId"),
|
|
95
|
+
"volume": obj.get("volume"),
|
|
96
|
+
"width": obj.get("width"),
|
|
97
|
+
"length": obj.get("length"),
|
|
98
|
+
"height": obj.get("height"),
|
|
99
|
+
"photoUrls": obj.get("photoUrls"),
|
|
100
|
+
"dt": obj.get("dt")
|
|
101
|
+
})
|
|
102
|
+
return _obj
|
|
103
|
+
|
|
104
|
+
|
|
@@ -91,7 +91,7 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'OpenAPI-Generator/0.1.
|
|
94
|
+
self.user_agent = 'OpenAPI-Generator/0.1.11/python'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
def __enter__(self):
|
|
@@ -536,7 +536,7 @@ conf = wildberries_sdk.tariffs.Configuration(
|
|
|
536
536
|
"OS: {env}\n"\
|
|
537
537
|
"Python Version: {pyversion}\n"\
|
|
538
538
|
"Version of the API: tariffs\n"\
|
|
539
|
-
"SDK Package Version: 0.1.
|
|
539
|
+
"SDK Package Version: 0.1.11".\
|
|
540
540
|
format(env=sys.platform, pyversion=sys.version)
|
|
541
541
|
|
|
542
542
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -26,12 +26,14 @@ class CommissionUzbekistanReportInner(BaseModel):
|
|
|
26
26
|
"""
|
|
27
27
|
CommissionUzbekistanReportInner
|
|
28
28
|
""" # noqa: E501
|
|
29
|
-
|
|
29
|
+
kgvp_marketplace_uz: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Комиссия по модели «Маркетплейс» (`FBS`), %", alias="kgvpMarketplaceUz")
|
|
30
|
+
kgvp_paid_storage_uz: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Комиссия по модели «Склад WB» (`FBW`), %", alias="kgvpPaidStorageUz")
|
|
31
|
+
kgvp_supplier_uz: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Комиссия по модели «Витрина» (`DBS`), %", alias="kgvpSupplierUz")
|
|
30
32
|
parent_id: Optional[StrictInt] = Field(default=None, description="ID родительской категории", alias="parentID")
|
|
31
33
|
parent_name: Optional[StrictStr] = Field(default=None, description="Название родительской категории", alias="parentName")
|
|
32
34
|
subject_id: Optional[StrictInt] = Field(default=None, description="ID предмета", alias="subjectID")
|
|
33
35
|
subject_name: Optional[StrictStr] = Field(default=None, description="Название предмета", alias="subjectName")
|
|
34
|
-
__properties: ClassVar[List[str]] = ["
|
|
36
|
+
__properties: ClassVar[List[str]] = ["kgvpMarketplaceUz", "kgvpPaidStorageUz", "kgvpSupplierUz", "parentID", "parentName", "subjectID", "subjectName"]
|
|
35
37
|
|
|
36
38
|
model_config = ConfigDict(
|
|
37
39
|
populate_by_name=True,
|
|
@@ -84,7 +86,9 @@ class CommissionUzbekistanReportInner(BaseModel):
|
|
|
84
86
|
return cls.model_validate(obj)
|
|
85
87
|
|
|
86
88
|
_obj = cls.model_validate({
|
|
87
|
-
"
|
|
89
|
+
"kgvpMarketplaceUz": obj.get("kgvpMarketplaceUz"),
|
|
90
|
+
"kgvpPaidStorageUz": obj.get("kgvpPaidStorageUz"),
|
|
91
|
+
"kgvpSupplierUz": obj.get("kgvpSupplierUz"),
|
|
88
92
|
"parentID": obj.get("parentID"),
|
|
89
93
|
"parentName": obj.get("parentName"),
|
|
90
94
|
"subjectID": obj.get("subjectID"),
|