ozonapi-async 0.4.0__tar.gz → 0.5.0__tar.gz
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.
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/PKG-INFO +2 -2
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/pyproject.toml +1 -1
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/readme.md +1 -1
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/__init__.py +1 -1
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/postings.py +2 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/core/config.py +1 -1
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/methods/fbs.py +55 -2
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/__init__.py +6 -5
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/__init__.py +2 -14
- ozonapi_async-0.5.0/src/ozonapi/seller/schemas/fbs/entities/posting__filter_with.py +30 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__posting.py +1 -1
- ozonapi_async-0.5.0/src/ozonapi/seller/schemas/fbs/v3__posting_fbs_get.py +264 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/v3__posting_fbs_list.py +4 -28
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/v3__posting_fbs_unfulfilled_list.py +2 -28
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi_async.egg-info/PKG-INFO +2 -2
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi_async.egg-info/SOURCES.txt +2 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/LICENSE +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/setup.cfg +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/delivery.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/localization.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/prices.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/products.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/requests.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/warehouses.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/core/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/core/core.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/core/exceptions.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/core/method_rate_limiter.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/core/rate_limiter.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/core/sessions.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/methods/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/methods/attributes_and_characteristics.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/methods/barcodes.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/methods/beta.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/methods/prices_and_stocks.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/methods/products.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/methods/warehouses.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/attributes_and_characteristics/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/attributes_and_characteristics/base.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/attributes_and_characteristics/v1__description_category_attribute.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/attributes_and_characteristics/v1__description_category_attribute_values.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/attributes_and_characteristics/v1__description_category_attribute_values_search.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/attributes_and_characteristics/v1__description_category_tree.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/barcodes/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/barcodes/v1__barcode_add.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/barcodes/v1__barcode_generate.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/base.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/beta/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/beta/v1__analytics_stocks.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__addressee.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__analytics_data.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__barcodes.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__cancellation.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__customer.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__customer_address.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__delivery_method.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__financial_data.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__financial_data_products.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__legal_info.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__optional.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__products.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__requirements.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/posting__tariffication.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/mixins.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/prices_and_stocks/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/prices_and_stocks/base.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/prices_and_stocks/v1__product_import_prices.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/prices_and_stocks/v1__product_info_stocks_by_warehouse_fbs.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/prices_and_stocks/v2__products_stocks.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/prices_and_stocks/v4__product_info_stocks.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/prices_and_stocks/v5__product_info_prices.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/base.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v1__product_archive.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v1__product_attributes_update.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v1__product_import_by_sku.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v1__product_import_info.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v1__product_info_subscription.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v1__product_rating_by_sku.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v1__product_related_sku_get.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v1__product_unarchive.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v1__product_update_offer_id.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v2__product_pictures_info.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v2__products_delete.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v3__product_import.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v3__product_info_list.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v3__product_list.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v4__product_info_attributes.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/warehouses/__init__.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/warehouses/v1__delivery_method_list.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/warehouses/v1__warehouse_list.py +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi_async.egg-info/dependency_links.txt +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi_async.egg-info/requires.txt +0 -0
- {ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi_async.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ozonapi-async
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Асинхронный клиент для работы с API маркетплейса Ozon
|
|
5
5
|
Author: Alexander Ulianov
|
|
6
6
|
License: MIT
|
|
@@ -377,7 +377,7 @@ pytest --cov=ozonapi --cov-report=html
|
|
|
377
377
|
|---|---|---|---|
|
|
378
378
|
| ✓ | `/v3/posting/fbs/unfulfilled/list` | Список необработанных отправлений | `posting_fbs_unfulfilled_list()` |
|
|
379
379
|
| ✓ | `/v3/posting/fbs/list` | Список отправлений | `posting_fbs_list()` |
|
|
380
|
-
|
|
|
380
|
+
| ✓ | `/v3/posting/fbs/get` | Получить информацию об отправлении по идентификатору | `posting_fbs_get()` |
|
|
381
381
|
| ☐ | `/v2/posting/fbs/get-by-barcode` | Получить информацию об отправлении по штрихкоду | `posting_fbs_get_by_barcode()` |
|
|
382
382
|
| ☐ | `/v3/posting/multiboxqty/set` | Указать количество коробок для многокоробочных отправлений | `posting_multiboxqty_set()` |
|
|
383
383
|
| ☐ | `/v2/posting/fbs/product/change` | Добавить вес для весовых товаров в отправлении | `posting_fbs_product_change()` |
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ozonapi-async"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.5.0"
|
|
8
8
|
description = "Асинхронный клиент для работы с API маркетплейса Ozon"
|
|
9
9
|
readme = "readme.md"
|
|
10
10
|
keywords = ["ozon", "api", "async", "ecommerce", "seller", "client"]
|
|
@@ -335,7 +335,7 @@ pytest --cov=ozonapi --cov-report=html
|
|
|
335
335
|
|---|---|---|---|
|
|
336
336
|
| ✓ | `/v3/posting/fbs/unfulfilled/list` | Список необработанных отправлений | `posting_fbs_unfulfilled_list()` |
|
|
337
337
|
| ✓ | `/v3/posting/fbs/list` | Список отправлений | `posting_fbs_list()` |
|
|
338
|
-
|
|
|
338
|
+
| ✓ | `/v3/posting/fbs/get` | Получить информацию об отправлении по идентификатору | `posting_fbs_get()` |
|
|
339
339
|
| ☐ | `/v2/posting/fbs/get-by-barcode` | Получить информацию об отправлении по штрихкоду | `posting_fbs_get_by_barcode()` |
|
|
340
340
|
| ☐ | `/v3/posting/multiboxqty/set` | Указать количество коробок для многокоробочных отправлений | `posting_multiboxqty_set()` |
|
|
341
341
|
| ☐ | `/v2/posting/fbs/product/change` | Добавить вес для весовых товаров в отправлении | `posting_fbs_product_change()` |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Асинхронный интерфейс для взаимодействия с API маркетплейса Ozon.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
__version__ = "0.
|
|
5
|
+
__version__ = "0.5.0"
|
|
6
6
|
__author__ = "Alexander Ulianov"
|
|
7
7
|
__repository__ = "https://github.com/a-ulianov/OzonAPI"
|
|
8
8
|
__docs__ = "https://github.com/a-ulianov/OzonAPI#readme"
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/postings.py
RENAMED
|
@@ -12,6 +12,7 @@ class AvailablePostingActions(str, Enum):
|
|
|
12
12
|
CLICK_TRACK_NUMBER: просмотреть по трек-номеру историю изменения статусов в личном кабинете
|
|
13
13
|
CUSTOMER_PHONE_AVAILABLE: телефон покупателя
|
|
14
14
|
HAS_WEIGHT_PRODUCTS: весовые товары в отправлении
|
|
15
|
+
HAS_BARCODE_FOR_PRINTING: штрихкод для печати
|
|
15
16
|
HIDE_REGION_AND_CITY: скрыть регион и город покупателя в отчёте
|
|
16
17
|
INVOICE_GET: получить информацию из счёта-фактуры
|
|
17
18
|
INVOICE_SEND: создать счёт-фактуру
|
|
@@ -204,6 +205,7 @@ class PrrOption(str, Enum):
|
|
|
204
205
|
Attributes:
|
|
205
206
|
LIFT: подъём на лифте
|
|
206
207
|
STAIRS: подъём по лестнице
|
|
208
|
+
FLOOR: подъем на этаж
|
|
207
209
|
NONE: покупатель отказался от услуги, поднимать товары не нужно
|
|
208
210
|
DELIVERY_DEFAULT: доставка включена в стоимость, по условиям оферты нужно доставить товар на этаж
|
|
209
211
|
UNSPECIFIED: не указано
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from ..core import APIManager
|
|
2
2
|
from ..schemas.fbs import PostingFBSUnfulfilledListRequest, PostingFBSUnfulfilledListResponse, PostingFBSListResponse, \
|
|
3
|
-
PostingFBSListRequest
|
|
3
|
+
PostingFBSListRequest, PostingFBSGetRequest, PostingFBSGetResponse
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class SellerFBSAPI(APIManager):
|
|
@@ -160,4 +160,57 @@ class SellerFBSAPI(APIManager):
|
|
|
160
160
|
endpoint="posting/fbs/list",
|
|
161
161
|
json=request.model_dump(by_alias=True)
|
|
162
162
|
)
|
|
163
|
-
return PostingFBSListResponse(**response)
|
|
163
|
+
return PostingFBSListResponse(**response)
|
|
164
|
+
|
|
165
|
+
async def posting_fbs_get(
|
|
166
|
+
self: "SellerFBSAPI",
|
|
167
|
+
request: PostingFBSGetRequest
|
|
168
|
+
) -> PostingFBSGetResponse:
|
|
169
|
+
"""Метод для получения информации об отправлении FBS по его номеру.
|
|
170
|
+
|
|
171
|
+
Notes:
|
|
172
|
+
• Чтобы получать актуальную дату отгрузки, регулярно обновляйте информацию об отправлениях или подключите пуш-уведомления.
|
|
173
|
+
• Для получения дополнительных данных используйте параметр `with_` в запросе.
|
|
174
|
+
|
|
175
|
+
References:
|
|
176
|
+
https://docs.ozon.ru/api/seller/#operation/PostingAPI_GetFbsPostingV3
|
|
177
|
+
|
|
178
|
+
Args:
|
|
179
|
+
request: Запрос на получение информации об отправлении FBS по схеме `PostingFBSGetRequest`
|
|
180
|
+
|
|
181
|
+
Returns:
|
|
182
|
+
Детализированная информация об отправлении по схеме `PostingFBSGetResponse`
|
|
183
|
+
|
|
184
|
+
Examples:
|
|
185
|
+
Базовое применение:
|
|
186
|
+
async with SellerAPI(client_id, api_key) as api:
|
|
187
|
+
result = await api.posting_fbs_get(
|
|
188
|
+
PostingFBSGetRequest(
|
|
189
|
+
posting_number="57195475-0050-3"
|
|
190
|
+
)
|
|
191
|
+
)
|
|
192
|
+
|
|
193
|
+
Пример с дополнительными полями:
|
|
194
|
+
async with SellerAPI(client_id, api_key) as api:
|
|
195
|
+
result = await api.posting_fbs_get(
|
|
196
|
+
PostingFBSGetRequest(
|
|
197
|
+
posting_number="57195475-0050-3",
|
|
198
|
+
with_=PostingFBSGetRequestWith(
|
|
199
|
+
analytics_data=True,
|
|
200
|
+
barcodes=True,
|
|
201
|
+
financial_data=True,
|
|
202
|
+
legal_info=False,
|
|
203
|
+
product_exemplars=True,
|
|
204
|
+
related_postings=True,
|
|
205
|
+
translit=False
|
|
206
|
+
)
|
|
207
|
+
)
|
|
208
|
+
)
|
|
209
|
+
"""
|
|
210
|
+
response = await self._request(
|
|
211
|
+
method="post",
|
|
212
|
+
api_version="v3",
|
|
213
|
+
endpoint="posting/fbs/get",
|
|
214
|
+
json=request.model_dump(by_alias=True)
|
|
215
|
+
)
|
|
216
|
+
return PostingFBSGetResponse(**response)
|
|
@@ -9,8 +9,11 @@ __all__ = [
|
|
|
9
9
|
"PostingFBSCustomer",
|
|
10
10
|
"PostingFBSCustomerAddress",
|
|
11
11
|
"PostingFBSDeliveryMethod",
|
|
12
|
+
"PostingFBSFilterWith",
|
|
12
13
|
"PostingFBSFinancialData",
|
|
13
14
|
"PostingFBSFinancialDataProducts",
|
|
15
|
+
"PostingFBSGetRequest",
|
|
16
|
+
"PostingFBSGetResponse",
|
|
14
17
|
"PostingFBSLegalInfo",
|
|
15
18
|
"PostingFBSOptional",
|
|
16
19
|
"PostingFBSPosting",
|
|
@@ -18,7 +21,6 @@ __all__ = [
|
|
|
18
21
|
"PostingFBSRequirements",
|
|
19
22
|
"PostingFBSTariffication",
|
|
20
23
|
"PostingFBSListRequestFilterLastChangedStatusDate",
|
|
21
|
-
"PostingFBSListFilterWith",
|
|
22
24
|
"PostingFBSListFilter",
|
|
23
25
|
"PostingFBSListRequest",
|
|
24
26
|
"PostingFBSListResult",
|
|
@@ -26,7 +28,6 @@ __all__ = [
|
|
|
26
28
|
"PostingFBSUnfulfilledListRequest",
|
|
27
29
|
"PostingFBSUnfulfilledListResponse",
|
|
28
30
|
"PostingFBSUnfulfilledListRequestFilterLastChangedStatusDate",
|
|
29
|
-
"PostingFBSUnfulfilledListFilterWith",
|
|
30
31
|
"PostingFBSUnfulfilledListFilter",
|
|
31
32
|
"PostingFBSUnfulfilledListResult",
|
|
32
33
|
]
|
|
@@ -34,14 +35,14 @@ __all__ = [
|
|
|
34
35
|
from .entities import PostingFBSAddressee, PostingFBSAnalyticsData, PostingFBSBarcodes, PostingFBSCancellation, \
|
|
35
36
|
PostingFBSCustomer, PostingFBSCustomerAddress, PostingFBSDeliveryMethod, PostingFBSFinancialData, \
|
|
36
37
|
PostingFBSFinancialDataProducts, PostingFBSLegalInfo, PostingFBSOptional, PostingFBSPosting, PostingFBSProducts, \
|
|
37
|
-
PostingFBSRequirements, PostingFBSTariffication
|
|
38
|
-
from .
|
|
38
|
+
PostingFBSRequirements, PostingFBSTariffication, PostingFBSFilterWith
|
|
39
|
+
from .v3__posting_fbs_get import PostingFBSGetRequest, PostingFBSGetResponse
|
|
40
|
+
from .v3__posting_fbs_list import PostingFBSListRequestFilterLastChangedStatusDate, \
|
|
39
41
|
PostingFBSListFilter, PostingFBSListRequest, PostingFBSListResult, PostingFBSListResponse
|
|
40
42
|
from .v3__posting_fbs_unfulfilled_list import (
|
|
41
43
|
PostingFBSUnfulfilledListRequest,
|
|
42
44
|
PostingFBSUnfulfilledListResponse,
|
|
43
45
|
PostingFBSUnfulfilledListRequestFilterLastChangedStatusDate,
|
|
44
|
-
PostingFBSUnfulfilledListFilterWith,
|
|
45
46
|
PostingFBSUnfulfilledListFilter,
|
|
46
47
|
PostingFBSUnfulfilledListResult,
|
|
47
48
|
)
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/entities/__init__.py
RENAMED
|
@@ -14,34 +14,22 @@ __all__ = [
|
|
|
14
14
|
"PostingFBSProducts",
|
|
15
15
|
"PostingFBSRequirements",
|
|
16
16
|
"PostingFBSTariffication",
|
|
17
|
+
"PostingFBSFilterWith",
|
|
17
18
|
]
|
|
18
19
|
|
|
19
20
|
from .posting__analytics_data import PostingFBSAnalyticsData
|
|
20
|
-
|
|
21
21
|
from .posting__barcodes import PostingFBSBarcodes
|
|
22
|
-
|
|
23
22
|
from .posting__cancellation import PostingFBSCancellation
|
|
24
|
-
|
|
25
23
|
from .posting__customer import PostingFBSCustomer
|
|
26
|
-
|
|
27
24
|
from .posting__customer_address import PostingFBSCustomerAddress
|
|
28
|
-
|
|
29
25
|
from .posting__delivery_method import PostingFBSDeliveryMethod
|
|
30
|
-
|
|
26
|
+
from .posting__filter_with import PostingFBSFilterWith
|
|
31
27
|
from .posting__financial_data import PostingFBSFinancialData
|
|
32
|
-
|
|
33
28
|
from .posting__financial_data_products import PostingFBSFinancialDataProducts
|
|
34
|
-
|
|
35
29
|
from .posting__legal_info import PostingFBSLegalInfo
|
|
36
|
-
|
|
37
30
|
from .posting__optional import PostingFBSOptional
|
|
38
|
-
|
|
39
31
|
from .posting__posting import PostingFBSPosting
|
|
40
|
-
|
|
41
32
|
from .posting__products import PostingFBSProducts
|
|
42
|
-
|
|
43
33
|
from .posting__requirements import PostingFBSRequirements
|
|
44
|
-
|
|
45
34
|
from .posting__tariffication import PostingFBSTariffication
|
|
46
|
-
|
|
47
35
|
from .posting__addressee import PostingFBSAddressee
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from pydantic import Field, BaseModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class PostingFBSFilterWith(BaseModel):
|
|
7
|
+
"""Дополнительные поля, которые нужно добавить в ответ.
|
|
8
|
+
|
|
9
|
+
Attributes:
|
|
10
|
+
analytics_data: Добавить в ответ данные аналитики (опционально)
|
|
11
|
+
barcodes: Добавить в ответ штрихкоды отправления (опционально)
|
|
12
|
+
financial_data: Добавить в ответ финансовые данные (опционально)
|
|
13
|
+
legal_info: Добавить в ответ юридическую информацию (опционально)
|
|
14
|
+
translit: Выполнить транслитерацию возвращаемых значений (опционально)
|
|
15
|
+
"""
|
|
16
|
+
analytics_data: Optional[bool] = Field(
|
|
17
|
+
False, description="Добавить в ответ данные аналитики."
|
|
18
|
+
)
|
|
19
|
+
barcodes: Optional[bool] = Field(
|
|
20
|
+
False, description="Добавить в ответ штрихкоды отправления."
|
|
21
|
+
)
|
|
22
|
+
financial_data: Optional[bool] = Field(
|
|
23
|
+
False, description="Добавить в ответ финансовые данные."
|
|
24
|
+
)
|
|
25
|
+
legal_info: Optional[bool] = Field(
|
|
26
|
+
False, description="Добавить в ответ юридическую информацию."
|
|
27
|
+
)
|
|
28
|
+
translit: Optional[bool] = Field(
|
|
29
|
+
False, description="Выполнить транслитерацию возвращаемых значений."
|
|
30
|
+
)
|
|
@@ -121,7 +121,7 @@ class PostingFBSPosting(BaseModel):
|
|
|
121
121
|
None, description="Код услуги погрузочно-разгрузочных работ."
|
|
122
122
|
)
|
|
123
123
|
quantum_id: Optional[int] = Field(
|
|
124
|
-
|
|
124
|
+
None, description="Идентификатор эконом-товара."
|
|
125
125
|
)
|
|
126
126
|
requirements: PostingFBSRequirements = Field(
|
|
127
127
|
..., description="""
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"""https://docs.ozon.ru/api/seller/#operation/PostingAPI_GetFbsPostingV3"""
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from pydantic import BaseModel, Field
|
|
5
|
+
|
|
6
|
+
from . import PostingFBSPosting
|
|
7
|
+
from .entities import PostingFBSFilterWith
|
|
8
|
+
from ...common.enumerations.localization import CurrencyCode
|
|
9
|
+
from ...common.enumerations.postings import PostingSubstatus, PrrOption
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PostingFBSGetRequestWith(PostingFBSFilterWith):
|
|
13
|
+
"""Дополнительные поля, которые нужно добавить в ответ.
|
|
14
|
+
|
|
15
|
+
Attributes:
|
|
16
|
+
analytics_data: Добавить в ответ данные аналитики (опционально)
|
|
17
|
+
barcodes: Добавить в ответ штрихкоды отправления (опционально)
|
|
18
|
+
financial_data: Добавить в ответ финансовые данные (опционально)
|
|
19
|
+
legal_info: Добавить в ответ юридическую информацию (опционально)
|
|
20
|
+
product_exemplars: Добавить в ответ данные о продуктах и их экземплярах (опционально)
|
|
21
|
+
related_postings: Добавить в ответ номера связанных отправлений. Связанные отправления — те, на которое было разделено родительское отправление при сборке
|
|
22
|
+
translit: Выполнить транслитерацию возвращаемых значений (опционально)
|
|
23
|
+
"""
|
|
24
|
+
product_exemplars: Optional[bool] = Field(
|
|
25
|
+
False, description="Добавить в ответ данные о продуктах и их экземплярах."
|
|
26
|
+
)
|
|
27
|
+
related_postings: Optional[bool] = Field(
|
|
28
|
+
False, description="Добавить в ответ номера связанных отправлений. Связанные отправления — те, на которое было разделено родительское отправление при сборке."
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class PostingFBSGetRequest(BaseModel):
|
|
33
|
+
"""Описывает схему запроса.
|
|
34
|
+
|
|
35
|
+
Attributes:
|
|
36
|
+
posting_number: Идентификатор отправления
|
|
37
|
+
with_: Дополнительные поля, которые нужно добавить в ответ
|
|
38
|
+
"""
|
|
39
|
+
model_config = {'populate_by_name': True}
|
|
40
|
+
|
|
41
|
+
posting_number: str = Field(
|
|
42
|
+
..., description="Идентификатор отправления."
|
|
43
|
+
)
|
|
44
|
+
with_: Optional[PostingFBSGetRequestWith] = Field(
|
|
45
|
+
None, description="Дополнительные поля, которые нужно добавить в ответ.",
|
|
46
|
+
alias="with",
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class PostingFBSGetResultAdditionalData(BaseModel):
|
|
51
|
+
"""Дополнительная информация об отправлении
|
|
52
|
+
|
|
53
|
+
Attributes:
|
|
54
|
+
key: ключ
|
|
55
|
+
value: значение
|
|
56
|
+
"""
|
|
57
|
+
key: Optional[str] = Field(None)
|
|
58
|
+
value: Optional[str] = Field(None)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class PostingFBSGetResultCourier(BaseModel):
|
|
62
|
+
"""Данные о курьере.
|
|
63
|
+
Attributes:
|
|
64
|
+
car_model: Модель автомобиля
|
|
65
|
+
car_number: Номер автомобиля
|
|
66
|
+
name: Полное имя курьера
|
|
67
|
+
phone: Телефон курьера (всегда возвращает пустую строку)
|
|
68
|
+
"""
|
|
69
|
+
car_model: Optional[str] = Field(
|
|
70
|
+
None, description="Модель автомобиля."
|
|
71
|
+
)
|
|
72
|
+
car_number: Optional[str] = Field(
|
|
73
|
+
None, description="Номер автомобиля."
|
|
74
|
+
)
|
|
75
|
+
name: Optional[str] = Field(
|
|
76
|
+
None, description="Полное имя курьера."
|
|
77
|
+
)
|
|
78
|
+
phone: Optional[str] = Field(
|
|
79
|
+
None, description="Телефон курьера (всегда возвращает пустую строку)."
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class PostingFBSGetResultProductExemplarsProductExemplar(BaseModel):
|
|
84
|
+
"""Детализированная информация об экземпляре продукта.
|
|
85
|
+
|
|
86
|
+
Attributes:
|
|
87
|
+
exemplar_id: Идентификатор экземпляра
|
|
88
|
+
mandatory_mark: Обязательная маркировка «Честный ЗНАК»
|
|
89
|
+
gtd: Номер грузовой таможенной декларации (ГТД)
|
|
90
|
+
is_gtd_absent: Признак того, что не указан номер таможенной декларации
|
|
91
|
+
rnpt: Регистрационный номер партии товара (РНПТ)
|
|
92
|
+
is_rnpt_absent: Признак того, что не указан регистрационный номер партии товара (РНПТ)
|
|
93
|
+
weight: Фактический вес экземпляра
|
|
94
|
+
imei: Список IMEI мобильных устройств
|
|
95
|
+
"""
|
|
96
|
+
exemplar_id: Optional[int] = Field(
|
|
97
|
+
None, description="Идентификатор экземпляра."
|
|
98
|
+
)
|
|
99
|
+
mandatory_mark: Optional[str] = Field(
|
|
100
|
+
None, description="Обязательная маркировка «Честный ЗНАК»."
|
|
101
|
+
)
|
|
102
|
+
gtd: Optional[str] = Field(
|
|
103
|
+
None, description="Номер грузовой таможенной декларации (ГТД)."
|
|
104
|
+
)
|
|
105
|
+
is_gtd_absent: Optional[bool] = Field(
|
|
106
|
+
None, description="Признак того, что не указан номер таможенной декларации."
|
|
107
|
+
)
|
|
108
|
+
rnpt: Optional[str] = Field(
|
|
109
|
+
None, description="Регистрационный номер партии товара (РНПТ)."
|
|
110
|
+
)
|
|
111
|
+
is_rnpt_absent: Optional[bool] = Field(
|
|
112
|
+
None, description="Признак того, что не указан регистрационный номер партии товара (РНПТ)."
|
|
113
|
+
)
|
|
114
|
+
weight: Optional[float] = Field(
|
|
115
|
+
None, description="Фактический вес экземпляра."
|
|
116
|
+
)
|
|
117
|
+
imei: Optional[list[str]] = Field(
|
|
118
|
+
None, description="Список IMEI мобильных устройств."
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class PostingFBSGetResultProductExemplarsProduct(BaseModel):
|
|
123
|
+
"""Информация об экземпляре продукта.
|
|
124
|
+
|
|
125
|
+
Attributes:
|
|
126
|
+
exemplars: Информация по экземплярам
|
|
127
|
+
sku: Идентификатор товара в системе Ozon — SKU
|
|
128
|
+
"""
|
|
129
|
+
exemplars: Optional[list[PostingFBSGetResultProductExemplarsProductExemplar]] = Field(
|
|
130
|
+
default_factory=list, description="Информация по экземплярам."
|
|
131
|
+
)
|
|
132
|
+
sku: int = Field(
|
|
133
|
+
..., description="Идентификатор товара в системе Ozon — SKU."
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class PostingFBSGetResultProductExemplars(BaseModel):
|
|
138
|
+
"""Информация по продуктам и их экземплярам.
|
|
139
|
+
Ответ содержит поле product_exemplars, если в запросе передан признак with.product_exemplars = true.
|
|
140
|
+
|
|
141
|
+
Attributes:
|
|
142
|
+
products: Информация по продуктам
|
|
143
|
+
"""
|
|
144
|
+
products: Optional[list[PostingFBSGetResultProductExemplarsProduct]] = Field(
|
|
145
|
+
default_factory=list, description="Информация по продуктам."
|
|
146
|
+
)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
class PostingFBSGetResultRelatedPostings(BaseModel):
|
|
150
|
+
"""Связанные отправления.
|
|
151
|
+
|
|
152
|
+
Attributes:
|
|
153
|
+
related_posting_numbers: Список номеров связанных отправлений
|
|
154
|
+
"""
|
|
155
|
+
related_posting_numbers: Optional[list[str]] = Field(
|
|
156
|
+
default_factory=list, description="Список номеров связанных отправлений."
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
class PostingFBSGetResultPrrOption(BaseModel):
|
|
161
|
+
"""Информация об услуге погрузочно-разгрузочных работ.
|
|
162
|
+
Актуально для КГТ-отправлений с доставкой силами продавца или интегрированной службой.
|
|
163
|
+
|
|
164
|
+
Attributes:
|
|
165
|
+
code: Код услуги погрузочно-разгрузочных работ
|
|
166
|
+
price: Стоимость услуги, которую Ozon компенсирует продавцу
|
|
167
|
+
currency_code: Валюта
|
|
168
|
+
floor: Этаж, на который нужно поднять товар
|
|
169
|
+
"""
|
|
170
|
+
code: Optional[PrrOption] = Field(
|
|
171
|
+
None, description="Код услуги погрузочно-разгрузочных работ."
|
|
172
|
+
)
|
|
173
|
+
price: Optional[str] = Field(
|
|
174
|
+
None, description="Стоимость услуги, которую Ozon компенсирует продавцу."
|
|
175
|
+
)
|
|
176
|
+
currency_code: Optional[CurrencyCode] = Field(
|
|
177
|
+
None, description="Валюта."
|
|
178
|
+
)
|
|
179
|
+
floor: Optional[str] = Field(
|
|
180
|
+
None, description="Этаж, на который нужно поднять товар."
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
class PostingFBSGetResult(PostingFBSPosting):
|
|
185
|
+
"""Детализированная информация об отправлении.
|
|
186
|
+
|
|
187
|
+
Attributes:
|
|
188
|
+
additional_data: Дополнительная информация
|
|
189
|
+
addressee: Контактные данные получателя
|
|
190
|
+
analytics_data: Данные аналитики
|
|
191
|
+
available_actions: Доступные действия
|
|
192
|
+
barcodes: Штрихкоды отправления
|
|
193
|
+
cancellation: Информация об отмене
|
|
194
|
+
courier: Данные о курьере
|
|
195
|
+
customer: Данные о покупателе
|
|
196
|
+
delivering_date: Дата передачи отправления в доставку
|
|
197
|
+
delivery_method: Метод доставки
|
|
198
|
+
delivery_price: Стоимость доставки
|
|
199
|
+
financial_data: Данные о стоимости товара
|
|
200
|
+
in_process_at: Дата и время начала обработки отправления
|
|
201
|
+
is_express: Признак быстрой доставки Ozon Express
|
|
202
|
+
is_multibox: Признак многокоробочного товара
|
|
203
|
+
legal_info: Юридическая информация о покупателе
|
|
204
|
+
multi_box_qty: Количество коробок
|
|
205
|
+
optional: Список товаров с дополнительными характеристиками
|
|
206
|
+
order_id: Идентификатор заказа
|
|
207
|
+
order_number: Номер заказа
|
|
208
|
+
parent_posting_number: Номер родительского отправления
|
|
209
|
+
pickup_code_verified_at: Дата успешной валидации кода курьера
|
|
210
|
+
posting_number: Номер отправления
|
|
211
|
+
product_exemplars: Информация по продуктам и их экземплярам (ответ содержит поле product_exemplars, если в запросе передан признак with_.product_exemplars = true)
|
|
212
|
+
products: Список товаров в отправлении
|
|
213
|
+
provider_status: Статус службы доставки
|
|
214
|
+
prr_option: Информация об услуге погрузочно-разгрузочных работ
|
|
215
|
+
related_postings: Связанные отправления
|
|
216
|
+
related_weight_postings: Список номеров связанных весовых отправлений
|
|
217
|
+
quantum_id: Идентификатор эконом-товара
|
|
218
|
+
requirements: Требования к товарам
|
|
219
|
+
shipment_date: Дата сборки отправления
|
|
220
|
+
status: Статус отправления
|
|
221
|
+
substatus: Подстатус отправления
|
|
222
|
+
previous_substatus: Предыдущий подстатус отправления
|
|
223
|
+
tpl_integration_type: Тип интеграции со службой доставки
|
|
224
|
+
tracking_number: Трек-номер отправления
|
|
225
|
+
tariffication: Информация по тарификации отгрузки
|
|
226
|
+
"""
|
|
227
|
+
additional_data: Optional[list[PostingFBSGetResultAdditionalData]] = Field(
|
|
228
|
+
default_factory=list, description="Дополнительная информация."
|
|
229
|
+
)
|
|
230
|
+
courier: Optional[PostingFBSGetResultCourier] = Field(
|
|
231
|
+
None, description="Данные о курьере."
|
|
232
|
+
)
|
|
233
|
+
delivery_price: Optional[str] = Field(
|
|
234
|
+
None, description="Стоимость доставки."
|
|
235
|
+
)
|
|
236
|
+
product_exemplars: Optional[PostingFBSGetResultProductExemplars] = Field(
|
|
237
|
+
None, description="Информация по продуктам и их экземплярам. Ответ содержит поле product_exemplars, если в запросе передан признак with.product_exemplars = true."
|
|
238
|
+
)
|
|
239
|
+
provider_status: Optional[str] = Field(
|
|
240
|
+
None, description="Статус службы доставки."
|
|
241
|
+
)
|
|
242
|
+
prr_option: Optional[PostingFBSGetResultPrrOption] = Field(
|
|
243
|
+
None, description="Информация об услуге погрузочно-разгрузочных работ. Актуально для КГТ-отправлений с доставкой силами продавца или интегрированной службой."
|
|
244
|
+
)
|
|
245
|
+
related_postings: Optional[PostingFBSGetResultRelatedPostings] = Field(
|
|
246
|
+
None, description="Связанные отправления."
|
|
247
|
+
)
|
|
248
|
+
related_weight_postings: Optional[list[str]] = Field(
|
|
249
|
+
default_factory=list, description="Список номеров связанных весовых отправлений."
|
|
250
|
+
)
|
|
251
|
+
previous_substatus: Optional[PostingSubstatus] = Field(
|
|
252
|
+
None, description="Предыдущий подстатус отправления."
|
|
253
|
+
)
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
class PostingFBSGetResponse(BaseModel):
|
|
257
|
+
"""Информация об отправлении.
|
|
258
|
+
|
|
259
|
+
Attributes:
|
|
260
|
+
result: Информация об отправлении
|
|
261
|
+
"""
|
|
262
|
+
result: PostingFBSGetResult = Field(
|
|
263
|
+
..., description="Детализированная информация об отправлении."
|
|
264
|
+
)
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/fbs/v3__posting_fbs_list.py
RENAMED
|
@@ -4,6 +4,7 @@ from typing import Optional
|
|
|
4
4
|
|
|
5
5
|
from pydantic import BaseModel, Field, model_validator
|
|
6
6
|
|
|
7
|
+
from .entities import PostingFBSFilterWith
|
|
7
8
|
from .entities.posting__posting import PostingFBSPosting
|
|
8
9
|
from ..mixins import DateTimeSerializationMixin
|
|
9
10
|
from ...common.enumerations.postings import PostingStatus
|
|
@@ -36,33 +37,6 @@ class PostingFBSListRequestFilterLastChangedStatusDate(DateTimeSerializationMixi
|
|
|
36
37
|
])
|
|
37
38
|
|
|
38
39
|
|
|
39
|
-
class PostingFBSListFilterWith(BaseModel):
|
|
40
|
-
"""Дополнительные поля, которые нужно добавить в ответ.
|
|
41
|
-
|
|
42
|
-
Attributes:
|
|
43
|
-
analytics_data: Добавить в ответ данные аналитики
|
|
44
|
-
barcodes: Добавить в ответ штрихкоды отправления
|
|
45
|
-
legal_info: Добавить в ответ юридическую информацию
|
|
46
|
-
financial_data: Добавить в ответ финансовые данные
|
|
47
|
-
translit: Выполнить транслитерацию возвращаемых значений
|
|
48
|
-
"""
|
|
49
|
-
analytics_data: Optional[bool] = Field(
|
|
50
|
-
False, description="Добавить в ответ данные аналитики."
|
|
51
|
-
)
|
|
52
|
-
barcodes: Optional[bool] = Field(
|
|
53
|
-
False, description="Добавить в ответ штрихкоды отправления."
|
|
54
|
-
)
|
|
55
|
-
legal_info: Optional[bool] = Field(
|
|
56
|
-
False, description="Добавить в ответ юридическую информацию."
|
|
57
|
-
)
|
|
58
|
-
financial_data: Optional[bool] = Field(
|
|
59
|
-
False, description="Добавить в ответ финансовые данные."
|
|
60
|
-
)
|
|
61
|
-
translit: Optional[bool] = Field(
|
|
62
|
-
False, description="Выполнить транслитерацию возвращаемых значений."
|
|
63
|
-
)
|
|
64
|
-
|
|
65
|
-
|
|
66
40
|
class PostingFBSListFilter(DateTimeSerializationMixin, BaseModel):
|
|
67
41
|
"""Фильтр запроса на получение информации об отправлениях FBS.
|
|
68
42
|
|
|
@@ -135,6 +109,8 @@ class PostingFBSListRequest(BaseRequestOffset):
|
|
|
135
109
|
offset: Количество элементов, которое будет пропущено в ответе
|
|
136
110
|
with_: Дополнительные поля, которые нужно добавить в ответ
|
|
137
111
|
"""
|
|
112
|
+
model_config = {'populate_by_name': True}
|
|
113
|
+
|
|
138
114
|
dir: Optional[SortingDirection] = Field(
|
|
139
115
|
SortingDirection.ASC, description="Направление сортировки."
|
|
140
116
|
)
|
|
@@ -145,7 +121,7 @@ class PostingFBSListRequest(BaseRequestOffset):
|
|
|
145
121
|
1000, description="Количество значений в ответе.",
|
|
146
122
|
ge=1, le=1000,
|
|
147
123
|
)
|
|
148
|
-
with_: Optional[
|
|
124
|
+
with_: Optional[PostingFBSFilterWith] = Field(
|
|
149
125
|
None, description="Дополнительные поля, которые нужно добавить в ответ.",
|
|
150
126
|
alias="with",
|
|
151
127
|
)
|
|
@@ -4,6 +4,7 @@ from typing import Optional
|
|
|
4
4
|
|
|
5
5
|
from pydantic import BaseModel, Field, model_validator
|
|
6
6
|
|
|
7
|
+
from .entities import PostingFBSFilterWith
|
|
7
8
|
from .entities.posting__posting import PostingFBSPosting
|
|
8
9
|
from ..mixins import DateTimeSerializationMixin
|
|
9
10
|
from ...common.enumerations.postings import PostingStatus
|
|
@@ -32,33 +33,6 @@ class PostingFBSUnfulfilledListRequestFilterLastChangedStatusDate(BaseModel):
|
|
|
32
33
|
)
|
|
33
34
|
|
|
34
35
|
|
|
35
|
-
class PostingFBSUnfulfilledListFilterWith(BaseModel):
|
|
36
|
-
"""Дополнительные поля, которые нужно добавить в ответ.
|
|
37
|
-
|
|
38
|
-
Attributes:
|
|
39
|
-
analytics_data: Добавить в ответ данные аналитики (опционально)
|
|
40
|
-
barcodes: Добавить в ответ штрихкоды отправления (опционально)
|
|
41
|
-
financial_data: Добавить в ответ финансовые данные (опционально)
|
|
42
|
-
legal_info: Добавить в ответ юридическую информацию (опционально)
|
|
43
|
-
translit: Выполнить транслитерацию возвращаемых значений (опционально)
|
|
44
|
-
"""
|
|
45
|
-
analytics_data: Optional[bool] = Field(
|
|
46
|
-
False, description="Добавить в ответ данные аналитики."
|
|
47
|
-
)
|
|
48
|
-
barcodes: Optional[bool] = Field(
|
|
49
|
-
False, description="Добавить в ответ штрихкоды отправления."
|
|
50
|
-
)
|
|
51
|
-
financial_data: Optional[bool] = Field(
|
|
52
|
-
False, description="Добавить в ответ финансовые данные."
|
|
53
|
-
)
|
|
54
|
-
legal_info: Optional[bool] = Field(
|
|
55
|
-
False, description="Добавить в ответ юридическую информацию."
|
|
56
|
-
)
|
|
57
|
-
translit: Optional[bool] = Field(
|
|
58
|
-
False, description="Выполнить транслитерацию возвращаемых значений."
|
|
59
|
-
)
|
|
60
|
-
|
|
61
|
-
|
|
62
36
|
class PostingFBSUnfulfilledListFilter(DateTimeSerializationMixin, BaseModel):
|
|
63
37
|
"""Фильтр запроса на получение информации о необработанных отправлениях FBS и rFBS
|
|
64
38
|
за указанный период времени (максимум 1 год).
|
|
@@ -158,7 +132,7 @@ class PostingFBSUnfulfilledListRequest(BaseRequestOffset):
|
|
|
158
132
|
1000, description="Количество значений в ответе.",
|
|
159
133
|
ge=1, le=1000,
|
|
160
134
|
)
|
|
161
|
-
with_: Optional[
|
|
135
|
+
with_: Optional[PostingFBSFilterWith] = Field(
|
|
162
136
|
None, description="Дополнительные поля, которые нужно добавить в ответ.",
|
|
163
137
|
alias="with",
|
|
164
138
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ozonapi-async
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Асинхронный клиент для работы с API маркетплейса Ozon
|
|
5
5
|
Author: Alexander Ulianov
|
|
6
6
|
License: MIT
|
|
@@ -377,7 +377,7 @@ pytest --cov=ozonapi --cov-report=html
|
|
|
377
377
|
|---|---|---|---|
|
|
378
378
|
| ✓ | `/v3/posting/fbs/unfulfilled/list` | Список необработанных отправлений | `posting_fbs_unfulfilled_list()` |
|
|
379
379
|
| ✓ | `/v3/posting/fbs/list` | Список отправлений | `posting_fbs_list()` |
|
|
380
|
-
|
|
|
380
|
+
| ✓ | `/v3/posting/fbs/get` | Получить информацию об отправлении по идентификатору | `posting_fbs_get()` |
|
|
381
381
|
| ☐ | `/v2/posting/fbs/get-by-barcode` | Получить информацию об отправлении по штрихкоду | `posting_fbs_get_by_barcode()` |
|
|
382
382
|
| ☐ | `/v3/posting/multiboxqty/set` | Указать количество коробок для многокоробочных отправлений | `posting_multiboxqty_set()` |
|
|
383
383
|
| ☐ | `/v2/posting/fbs/product/change` | Добавить вес для весовых товаров в отправлении | `posting_fbs_product_change()` |
|
|
@@ -42,6 +42,7 @@ src/ozonapi/seller/schemas/barcodes/v1__barcode_generate.py
|
|
|
42
42
|
src/ozonapi/seller/schemas/beta/__init__.py
|
|
43
43
|
src/ozonapi/seller/schemas/beta/v1__analytics_stocks.py
|
|
44
44
|
src/ozonapi/seller/schemas/fbs/__init__.py
|
|
45
|
+
src/ozonapi/seller/schemas/fbs/v3__posting_fbs_get.py
|
|
45
46
|
src/ozonapi/seller/schemas/fbs/v3__posting_fbs_list.py
|
|
46
47
|
src/ozonapi/seller/schemas/fbs/v3__posting_fbs_unfulfilled_list.py
|
|
47
48
|
src/ozonapi/seller/schemas/fbs/entities/__init__.py
|
|
@@ -52,6 +53,7 @@ src/ozonapi/seller/schemas/fbs/entities/posting__cancellation.py
|
|
|
52
53
|
src/ozonapi/seller/schemas/fbs/entities/posting__customer.py
|
|
53
54
|
src/ozonapi/seller/schemas/fbs/entities/posting__customer_address.py
|
|
54
55
|
src/ozonapi/seller/schemas/fbs/entities/posting__delivery_method.py
|
|
56
|
+
src/ozonapi/seller/schemas/fbs/entities/posting__filter_with.py
|
|
55
57
|
src/ozonapi/seller/schemas/fbs/entities/posting__financial_data.py
|
|
56
58
|
src/ozonapi/seller/schemas/fbs/entities/posting__financial_data_products.py
|
|
57
59
|
src/ozonapi/seller/schemas/fbs/entities/posting__legal_info.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/__init__.py
RENAMED
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/delivery.py
RENAMED
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/localization.py
RENAMED
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/prices.py
RENAMED
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/products.py
RENAMED
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/requests.py
RENAMED
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/common/enumerations/warehouses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/barcodes/v1__barcode_add.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/beta/v1__analytics_stocks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/prices_and_stocks/__init__.py
RENAMED
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/prices_and_stocks/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/products/v3__product_list.py
RENAMED
|
File without changes
|
|
File without changes
|
{ozonapi_async-0.4.0 → ozonapi_async-0.5.0}/src/ozonapi/seller/schemas/warehouses/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|