ozonapi-async 0.7.0__tar.gz → 0.7.2__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.
Files changed (102) hide show
  1. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/PKG-INFO +113 -76
  2. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/pyproject.toml +1 -1
  3. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/readme.md +112 -75
  4. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/__init__.py +1 -1
  5. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/core/config.py +1 -3
  6. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/core/core.py +2 -0
  7. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/methods/fbs.py +3 -1
  8. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__posting.py +9 -2
  9. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/v3__posting_fbs_get.py +2 -1
  10. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi_async.egg-info/PKG-INFO +113 -76
  11. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/LICENSE +0 -0
  12. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/setup.cfg +0 -0
  13. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/__init__.py +0 -0
  14. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/common/__init__.py +0 -0
  15. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/common/enumerations/__init__.py +0 -0
  16. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/common/enumerations/delivery.py +0 -0
  17. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/common/enumerations/localization.py +0 -0
  18. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/common/enumerations/postings.py +0 -0
  19. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/common/enumerations/prices.py +0 -0
  20. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/common/enumerations/products.py +0 -0
  21. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/common/enumerations/requests.py +0 -0
  22. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/common/enumerations/warehouses.py +0 -0
  23. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/core/__init__.py +0 -0
  24. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/core/exceptions.py +0 -0
  25. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/core/method_rate_limiter.py +0 -0
  26. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/core/rate_limiter.py +0 -0
  27. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/core/sessions.py +0 -0
  28. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/methods/__init__.py +0 -0
  29. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/methods/attributes_and_characteristics.py +0 -0
  30. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/methods/barcodes.py +0 -0
  31. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/methods/beta.py +0 -0
  32. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/methods/prices_and_stocks.py +0 -0
  33. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/methods/products.py +0 -0
  34. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/methods/warehouses.py +0 -0
  35. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/__init__.py +0 -0
  36. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/attributes_and_characteristics/__init__.py +0 -0
  37. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/attributes_and_characteristics/base.py +0 -0
  38. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/attributes_and_characteristics/v1__description_category_attribute.py +0 -0
  39. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/attributes_and_characteristics/v1__description_category_attribute_values.py +0 -0
  40. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/attributes_and_characteristics/v1__description_category_attribute_values_search.py +0 -0
  41. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/attributes_and_characteristics/v1__description_category_tree.py +0 -0
  42. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/barcodes/__init__.py +0 -0
  43. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/barcodes/v1__barcode_add.py +0 -0
  44. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/barcodes/v1__barcode_generate.py +0 -0
  45. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/base.py +0 -0
  46. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/beta/__init__.py +0 -0
  47. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/beta/v1__analytics_stocks.py +0 -0
  48. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/__init__.py +0 -0
  49. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/__init__.py +0 -0
  50. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__addressee.py +0 -0
  51. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__analytics_data.py +0 -0
  52. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__barcodes.py +0 -0
  53. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__cancellation.py +0 -0
  54. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__customer.py +0 -0
  55. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__customer_address.py +0 -0
  56. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__delivery_method.py +0 -0
  57. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__filter_with.py +0 -0
  58. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__financial_data.py +0 -0
  59. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__financial_data_products.py +0 -0
  60. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__legal_info.py +0 -0
  61. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__optional.py +0 -0
  62. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__product.py +0 -0
  63. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__requirements.py +0 -0
  64. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/entities/posting__tariffication.py +0 -0
  65. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/v2__fbs_posting_delivering.py +0 -0
  66. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/v2__posting_fbs_get_by_barcode.py +0 -0
  67. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/v2__posting_fbs_product_change.py +0 -0
  68. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/v3__posting_fbs_list.py +0 -0
  69. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/v3__posting_fbs_unfulfilled_list.py +0 -0
  70. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/fbs/v3__posting_multiboxqty_set.py +0 -0
  71. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/mixins.py +0 -0
  72. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/prices_and_stocks/__init__.py +0 -0
  73. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/prices_and_stocks/base.py +0 -0
  74. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/prices_and_stocks/v1__product_import_prices.py +0 -0
  75. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/prices_and_stocks/v1__product_info_stocks_by_warehouse_fbs.py +0 -0
  76. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/prices_and_stocks/v2__products_stocks.py +0 -0
  77. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/prices_and_stocks/v4__product_info_stocks.py +0 -0
  78. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/prices_and_stocks/v5__product_info_prices.py +0 -0
  79. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/__init__.py +0 -0
  80. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/base.py +0 -0
  81. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v1__product_archive.py +0 -0
  82. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v1__product_attributes_update.py +0 -0
  83. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v1__product_import_by_sku.py +0 -0
  84. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v1__product_import_info.py +0 -0
  85. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v1__product_info_subscription.py +0 -0
  86. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v1__product_rating_by_sku.py +0 -0
  87. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v1__product_related_sku_get.py +0 -0
  88. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v1__product_unarchive.py +0 -0
  89. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v1__product_update_offer_id.py +0 -0
  90. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v2__product_pictures_info.py +0 -0
  91. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v2__products_delete.py +0 -0
  92. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v3__product_import.py +0 -0
  93. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v3__product_info_list.py +0 -0
  94. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v3__product_list.py +0 -0
  95. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/products/v4__product_info_attributes.py +0 -0
  96. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/warehouses/__init__.py +0 -0
  97. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/warehouses/v1__delivery_method_list.py +0 -0
  98. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi/seller/schemas/warehouses/v1__warehouse_list.py +0 -0
  99. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi_async.egg-info/SOURCES.txt +0 -0
  100. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi_async.egg-info/dependency_links.txt +0 -0
  101. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/src/ozonapi_async.egg-info/requires.txt +0 -0
  102. {ozonapi_async-0.7.0 → ozonapi_async-0.7.2}/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.7.0
3
+ Version: 0.7.2
4
4
  Summary: Асинхронный клиент для работы с API маркетплейса Ozon
5
5
  Author: Alexander Ulianov
6
6
  License: MIT
@@ -40,15 +40,17 @@ Requires-Dist: pytest-cov<8.0.0,>=7.0.0; extra == "dev"
40
40
  Requires-Dist: pytest-asyncio<2.0.0,>=1.2.0; extra == "dev"
41
41
  Dynamic: license-file
42
42
 
43
+ [![PyPI - Version](https://img.shields.io/pypi/v/ozonapi-async?logo=PyPI&color=0f81c2)](https://pypi.org/project/ozonapi-async/)
44
+ ![GitHub last commit](https://img.shields.io/github/last-commit/a-ulianov/OzonAPI)
43
45
  [![Tests](https://github.com/a-ulianov/OzonAPI/actions/workflows/test.yml/badge.svg)](https://github.com/a-ulianov/OzonAPI/actions/workflows/test.yml)
44
46
  [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=a-ulianov_OzonAPI&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=a-ulianov_OzonAPI)[![codecov](https://codecov.io/gh/a-ulianov/OzonAPI/branch/main/graph/badge.svg)](https://codecov.io/gh/a-ulianov/OzonAPI)
45
- [![Python Version](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
47
+ [![Python Version](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
46
48
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
47
49
 
48
50
 
49
51
  # OzonAPI
50
52
 
51
- Асинхронный Python-клиент для работы с API маркетплейса Ozon. Проект предоставляет удобный интерфейс для взаимодействия с разделами API Ozon.
53
+ Асинхронный Python-клиент для работы с API маркетплейса Ozon. Проект предоставляет удобный интерфейс для взаимодействия с методами API Ozon.
52
54
 
53
55
  **✅ Актуально на 4-й квартал 2025 года.**
54
56
  **🤝 Контрибуции приветствуются!**
@@ -72,15 +74,6 @@ Dynamic: license-file
72
74
 
73
75
 
74
76
  🤝 Данный проект является форком с глубокой доработкой и актуализацией проекта [python-ozon-api](https://github.com/mephistofox/python-ozon-api) от [mephistofox](https://github.com/mephistofox):
75
- - Изменена структура проекта
76
- - Реализован кастомный ограничитель запросов для методов
77
- - Реализована возможность одновременной работы с несколькими экземплярами менеджера API, в т.ч. для одного client_id
78
- - Удалены устаревшие методы
79
- - Актуализированы схемы Pydantic реализованных методов
80
- - Добавлены новые методы
81
- - Добавлено описание и примеры для методов и схем
82
- - Реализована гибкая настройка конфигурации
83
-
84
77
 
85
78
  ## ⚙️ Быстрый старт
86
79
 
@@ -103,7 +96,7 @@ async def main():
103
96
  ) as api:
104
97
  # Получение списка товаров
105
98
  products = await api.product_list()
106
- print(f"Найдено товаров: {len(products.result.items)}")
99
+ print(f"Получено товаров: {len(products.result.items)}")
107
100
 
108
101
  if __name__ == "__main__":
109
102
  asyncio.run(main())
@@ -120,9 +113,6 @@ async def main():
120
113
  config = SellerAPIConfig(
121
114
  client_id="your_client_id",
122
115
  api_key="your_api_key",
123
- max_requests_per_second=30,
124
- request_timeout=60.0,
125
- max_retries=5
126
116
  )
127
117
 
128
118
  async with SellerAPI(config=config) as api:
@@ -144,7 +134,6 @@ OZON_SELLER_API_KEY=your_api_key
144
134
  OZON_SELLER_MAX_REQUESTS_PER_SECOND=30
145
135
  OZON_SELLER_REQUEST_TIMEOUT=60.0
146
136
  OZON_SELLER_MAX_RETRIES=5
147
- OZON_SELLER_BASE_URL=https://api-seller.ozon.ru
148
137
  ```
149
138
 
150
139
  Использование с автоматической загрузкой из .env:
@@ -222,13 +211,6 @@ config = SellerAPIConfig(
222
211
  )
223
212
  ```
224
213
 
225
- ### Расширенное логирование
226
-
227
- ```python
228
- # Настройка файлового логирования (core.py)
229
- logger.add("ozon_api.log", rotation="10 MB", level="INFO")
230
- ```
231
-
232
214
  ## ⚠️ Важные примечания
233
215
 
234
216
  ### Производительность
@@ -264,17 +246,21 @@ pytest --cov=ozonapi --cov-report=html
264
246
  - Changelog: [Releases](https://github.com/a-ulianov/OzonAPI/releases)
265
247
 
266
248
 
267
- # Чек-лист реализации методов Ozon Seller API
249
+ ## Реализованные методы Ozon Seller API
250
+
251
+ <details>
252
+ <summary>Атрибуты и характеристики Ozon (4)</summary>
268
253
 
269
- ## Атрибуты и характеристики Ozon
270
254
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
271
255
  |---|---|---|---|
272
256
  | ✓ | `/v1/description-category/tree` | Дерево категорий и типов товаров | `description_category_tree()` |
273
257
  | ✓ | `/v1/description-category/attribute` | Список характеристик категории | `description_category_attribute()` |
274
258
  | ✓ | `/v1/description-category/attribute/values` | Справочник значений характеристики | `description_category_attribute_values()` |
275
259
  | ✓ | `/v1/description-category/attribute/values/search` | Поиск по справочным значениям характеристики | `description_category_attribute_values_search()` |
260
+ </details>
261
+ <details>
262
+ <summary>Загрузка и обновление товаров (16)</summary>
276
263
 
277
- ## Загрузка и обновление товаров
278
264
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
279
265
  |---|---|---|---|
280
266
  | ✓ | `/v3/product/import` | Создать или обновить товар | `product_import()` |
@@ -295,14 +281,18 @@ pytest --cov=ozonapi --cov-report=html
295
281
  | ✓ | `/v1/product/info/subscription` | Количество подписавшихся на товар пользователей | `product_info_subscription()` |
296
282
  | ✓ | `/v1/product/related-sku/get` | Получить связанные SKU | `product_related_sku_get()` |
297
283
  | ✓ | `/v2/product/pictures/info` | Получить изображения товаров | `product_pictures_info()` |
284
+ </details>
285
+ <details>
286
+ <summary>Штрихкоды товаров (2)</summary>
298
287
 
299
- ## Штрихкоды товаров
300
288
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
301
289
  |---|---|---|---|
302
290
  | ✓ | `/v1/barcode/add` | Привязать штрихкод к товару | `barcode_add()` |
303
291
  | ✓ | `/v1/barcode/generate` | Создать штрихкод для товара | `barcode_generate()` |
292
+ </details>
293
+ <details>
294
+ <summary>Цены и остатки товаров (5)</summary>
304
295
 
305
- ## Цены и остатки товаров
306
296
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
307
297
  |---|---|---|---|
308
298
  | ✓ | `/v2/products/stocks` | Обновить количество товаров на складах | `products_stocks()` |
@@ -314,8 +304,10 @@ pytest --cov=ozonapi --cov-report=html
314
304
  | ✓ | `/v5/product/info/prices` | Получить информацию о цене товара | `product_info_prices()` |
315
305
  | ☐ | `/v1/product/info/discounted` | Узнать информацию об уценке и основном товаре по SKU уценённого товара | `product_info_discounted()` |
316
306
  | ☐ | `/v1/product/update/discount` | Установить скидку на уценённый товар | `product_update_discount()` |
307
+ </details>
308
+ <details>
309
+ <summary>Акции</summary>
317
310
 
318
- ## Акции
319
311
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
320
312
  |---|---|---|---|
321
313
  | ☐ | `/v1/actions` | Список акций | `actions()` |
@@ -326,8 +318,10 @@ pytest --cov=ozonapi --cov-report=html
326
318
  | ☐ | `/v1/actions/discounts-task/list` | Список заявок на скидку | `actions_discounts_task_list()` |
327
319
  | ☐ | `/v1/actions/discounts-task/approve` | Согласовать заявку на скидку | `actions_discounts_task_approve()` |
328
320
  | ☐ | `/v1/actions/discounts-task/decline` | Отклонить заявку на скидку | `actions_discounts_task_decline()` |
321
+ </details>
322
+ <details>
323
+ <summary>Стратегии ценообразования</summary>
329
324
 
330
- ## Стратегии ценообразования
331
325
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
332
326
  |---|---|---|---|
333
327
  | ☐ | `/v1/pricing-strategy/competitors/list` | Список конкурентов | `pricing_strategy_competitors_list()` |
@@ -342,13 +336,17 @@ pytest --cov=ozonapi --cov-report=html
342
336
  | ☐ | `/v1/pricing-strategy/products/delete` | Удалить товары из стратегии | `pricing_strategy_products_delete()` |
343
337
  | ☐ | `/v1/pricing-strategy/status` | Изменить статус стратегии | `pricing_strategy_status()` |
344
338
  | ☐ | `/v1/pricing-strategy/delete` | Удалить стратегию | `pricing_strategy_delete()` |
339
+ </details>
340
+ <details>
341
+ <summary>Сертификаты брендов</summary>
345
342
 
346
- ## Сертификаты брендов
347
343
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
348
344
  |---|---|---|---|
349
345
  | ☐ | `/v1/brand/company-certification/list` | Список сертифицируемых брендов | `brand_company_certification_list()` |
346
+ </details>
347
+ <details>
348
+ <summary>Сертификаты качества</summary>
350
349
 
351
- ## Сертификаты качества
352
350
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
353
351
  |---|---|---|---|
354
352
  | ☐ | `/v1/product/certificate/accordance-types` | Список типов соответствия требований (версия 1) | `product_certificate_accordance_types()` |
@@ -365,14 +363,18 @@ pytest --cov=ozonapi --cov-report=html
365
363
  | ☐ | `/v1/product/certificate/unbind` | Отвязать товар от сертификата | `product_certificate_unbind()` |
366
364
  | ☐ | `/v1/product/certificate/rejection_reasons/list` | Возможные причины отклонения сертификата | `product_certificate_rejection_reasons_list()` |
367
365
  | ☐ | `/v1/product/certificate/status/list` | Возможные статусы сертификатов | `product_certificate_status_list()` |
366
+ </details>
367
+ <details>
368
+ <summary>Склады (2)</summary>
368
369
 
369
- ## Склады
370
370
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
371
371
  |---|---|---|---|
372
372
  | ✓ | `/v1/warehouse/list` | Список складов | `warehouse_list()` |
373
373
  | ✓ | `/v1/delivery-method/list` | Список методов доставки склада | `delivery_method_list()` |
374
+ </details>
375
+ <details>
376
+ <summary>Обработка заказов FBS и rFBS (6)</summary>
374
377
 
375
- ## Обработка заказов FBS и rFBS
376
378
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
377
379
  |---|---|---|---|
378
380
  | ✓ | `/v3/posting/fbs/unfulfilled/list` | Список необработанных отправлений | `posting_fbs_unfulfilled_list()` |
@@ -396,14 +398,18 @@ pytest --cov=ozonapi --cov-report=html
396
398
  | ☐ | `/v1/posting/fbs/pick-up-code/verify` | Проверить код курьера | `posting_fbs_pick_up_code_verify()` |
397
399
  | ☐ | `/v1/posting/global/etgb` | Таможенные декларации ETGB | `posting_global_etgb()` |
398
400
  | ☐ | `/v1/posting/unpaid-legal/product/list` | Список неоплаченных товаров, заказанных юридическими лицами | `posting_unpaid_legal_product_list()` |
401
+ </details>
402
+ <details>
403
+ <summary>Полигоны</summary>
399
404
 
400
- ## Полигоны
401
405
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
402
406
  |---|---|---|---|
403
407
  | ☐ | `/v1/polygon/create` | Создайте полигон доставки | `polygon_create()` |
404
408
  | ☐ | `/v1/polygon/bind` | Свяжите метод доставки с полигоном доставки | `polygon_bind()` |
409
+ </details>
410
+ <details>
411
+ <summary>Доставка FBO</summary>
405
412
 
406
- ## Доставка FBO
407
413
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
408
414
  |---|---|---|---|
409
415
  | ☐ | `/v2/posting/fbo/list` | Список отправлений | `posting_fbo_list()` |
@@ -419,8 +425,10 @@ pytest --cov=ozonapi --cov-report=html
419
425
  | ☐ | `/v1/supply-order/pass/create` | Указать данные о водителе и автомобиле | `supply_order_pass_create()` |
420
426
  | ☐ | `/v1/supply-order/pass/status` | Статус ввода данных о водителе и автомобиле | `supply_order_pass_status()` |
421
427
  | ☐ | `/v1/supplier/available_warehouses` | Загруженность складов Ozon | `supplier_available_warehouses()` |
428
+ </details>
429
+ <details>
430
+ <summary>Создание и управление заявками на поставку FBO</summary>
422
431
 
423
- ## Создание и управление заявками на поставку FBO
424
432
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
425
433
  |---|---|---|---|
426
434
  | ☐ | `/v1/cluster/list` | Информация о кластерах и их складах | `cluster_list()` |
@@ -442,8 +450,10 @@ pytest --cov=ozonapi --cov-report=html
442
450
  | ☐ | `/v1/supply-order/cancel/status` | Получить статус отмены заявки на поставку | `supply_order_cancel_status()` |
443
451
  | ☐ | `/v1/supply-order/content/update` | Редактирование товарного состава | `supply_order_content_update()` |
444
452
  | ☐ | `/v1/supply-order/content/update/status` | Информация о статусе редактирования товарного состава | `supply_order_content_update_status()` |
453
+ </details>
454
+ <details>
455
+ <summary>Управление кодами маркировки и сборкой заказов для FBS/rFBS</summary>
445
456
 
446
- ## Управление кодами маркировки и сборкой заказов для FBS/rFBS
447
457
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
448
458
  |---|---|---|---|
449
459
  | ☐ | `/v6/fbs/posting/product/exemplar/create-or-get` | Получить данные созданных экземпляров | `fbs_posting_product_exemplar_create_or_get()` |
@@ -453,8 +463,10 @@ pytest --cov=ozonapi --cov-report=html
453
463
  | ☐ | `/v4/posting/fbs/ship` | Собрать заказ (версия 4) | `posting_fbs_ship()` |
454
464
  | ☐ | `/v4/posting/fbs/ship/package` | Частичная сборка отправления (версия 4) | `posting_fbs_ship_package()` |
455
465
  | ☐ | `/v1/fbs/posting/product/exemplar/update` | Обновить данные экземпляров | `fbs_posting_product_exemplar_update()` |
466
+ </details>
467
+ <details>
468
+ <summary>Доставка FBS</summary>
456
469
 
457
- ## Доставка FBS
458
470
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
459
471
  |---|---|---|---|
460
472
  | ☐ | `/v1/carriage/create` | Создание отгрузки | `carriage_create()` |
@@ -475,8 +487,10 @@ pytest --cov=ozonapi --cov-report=html
475
487
  | ☐ | `/v2/posting/fbs/act/list` | Список актов по отгрузкам | `posting_fbs_act_list()` |
476
488
  | ☐ | `/v2/posting/fbs/digital/act/get-pdf` | Получить лист отгрузки по перевозке | `posting_fbs_digital_act_get_pdf()` |
477
489
  | ☐ | `/v2/posting/fbs/act/check-status` | Статус отгрузки и документов | `posting_fbs_act_check_status()` |
490
+ </details>
491
+ <details>
492
+ <summary>Доставка rFBS</summary>
478
493
 
479
- ## Доставка rFBS
480
494
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
481
495
  |---|---|---|---|
482
496
  | ☐ | `/v2/fbs/posting/tracking-number/set` | Добавить трек-номера | `fbs_posting_tracking_number_set()` |
@@ -487,8 +501,10 @@ pytest --cov=ozonapi --cov-report=html
487
501
  | ☐ | `/v1/posting/fbs/timeslot/change-restrictions` | Доступные даты для переноса доставки | `posting_fbs_timeslot_change_restrictions()` |
488
502
  | ☐ | `/v1/posting/fbs/timeslot/set` | Перенести дату доставки | `posting_fbs_timeslot_set()` |
489
503
  | ☐ | `/v1/posting/cutoff/set` | Уточнить дату отгрузки отправления | `posting_cutoff_set()` |
504
+ </details>
505
+ <details>
506
+ <summary>Пропуски</summary>
490
507
 
491
- ## Пропуски
492
508
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
493
509
  |---|---|---|---|
494
510
  | ☐ | `/v1/pass/list` | Список пропусков | `pass_list()` |
@@ -498,13 +514,17 @@ pytest --cov=ozonapi --cov-report=html
498
514
  | ☐ | `/v1/return/pass/create` | Создать пропуск для возврата | `return_pass_create()` |
499
515
  | ☐ | `/v1/return/pass/update` | Обновить пропуск для возврата | `return_pass_update()` |
500
516
  | ☐ | `/v1/return/pass/delete` | Удалить пропуск для возврата | `return_pass_delete()` |
517
+ </details>
518
+ <details>
519
+ <summary>Возвраты товаров FBO и FBS</summary>
501
520
 
502
- ## Возвраты товаров FBO и FBS
503
521
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
504
522
  |---|---|---|---|
505
523
  | ☐ | `/v1/returns/list` | Информация о возвратах FBO и FBS | `returns_list()` |
524
+ </details>
525
+ <details>
526
+ <summary>Возвраты товаров rFBS</summary>
506
527
 
507
- ## Возвраты товаров rFBS
508
528
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
509
529
  |---|---|---|---|
510
530
  | ☐ | `/v2/returns/rfbs/list` | Список заявок на возврат | `returns_rfbs_list()` |
@@ -515,8 +535,10 @@ pytest --cov=ozonapi --cov-report=html
515
535
  | ☐ | `/v2/returns/rfbs/receive-return` | Подтвердить получение товара на проверку | `returns_rfbs_receive_return()` |
516
536
  | ☐ | `/v2/returns/rfbs/return-money` | Вернуть деньги покупателю | `returns_rfbs_return_money()` |
517
537
  | ☐ | `/v1/returns/rfbs/action/set` | Передать доступные действия для rFBS возвратов | `returns_rfbs_action_set()` |
538
+ </details>
539
+ <details>
540
+ <summary>Возвратные отгрузки</summary>
518
541
 
519
- ## Возвратные отгрузки
520
542
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
521
543
  |---|---|---|---|
522
544
  | ☐ | `/v1/returns/company/fbs/info` | Количество возвратов FBS | `returns_company_fbs_info()` |
@@ -527,30 +549,38 @@ pytest --cov=ozonapi --cov-report=html
527
549
  | ☐ | `/v1/return/giveout/get-pdf` | Штрихкод для получения возвратной отгрузки в формате PDF | `return_giveout_get_pdf()` |
528
550
  | ☐ | `/v1/return/giveout/get-png` | Штрихкод для получения возвратной отгрузки в формате PNG | `return_giveout_get_png()` |
529
551
  | ☐ | `/v1/return/giveout/barcode-reset` | Сгенерировать новый штрихкод | `return_giveout_barcode_reset()` |
552
+ </details>
553
+ <details>
554
+ <summary>Отмены заказов</summary>
530
555
 
531
- ## Отмены заказов
532
556
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
533
557
  |---|---|---|---|
534
558
  | ☐ | `/v2/conditional-cancellation/list` | Получить список заявок на отмену rFBS | `conditional_cancellation_list()` |
535
559
  | ☐ | `/v2/conditional-cancellation/approve` | Подтвердить заявку на отмену rFBS | `conditional_cancellation_approve()` |
536
560
  | ☐ | `/v2/conditional-cancellation/reject` | Отклонить заявку на отмену rFBS | `conditional_cancellation_reject()` |
561
+ </details>
562
+ <details>
563
+ <summary>Чаты с покупателями</summary>
537
564
 
538
- ## Чаты с покупателями
539
565
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
540
566
  |---|---|---|---|
541
567
  | ☐ | `/v1/chat/send/file` | Отправить файл | `chat_send_file()` |
542
568
  | ☐ | `/v3/chat/list` | Список чатов | `chat_list()` |
543
569
  | ☐ | `/v2/chat/history` | История чата | `chat_history()` |
570
+ </details>
571
+ <details>
572
+ <summary>Накладные</summary>
544
573
 
545
- ## Накладные
546
574
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
547
575
  |---|---|---|---|
548
576
  | ☐ | `/v2/invoice/create-or-update` | Создать или изменить счёт-фактуру | `invoice_create_or_update()` |
549
577
  | ☐ | `/v1/invoice/file/upload` | Загрузка счёта-фактуры | `invoice_file_upload()` |
550
578
  | ☐ | `/v2/invoice/get` | Получить информацию о счёте-фактуре | `invoice_get()` |
551
579
  | ☐ | `/v1/invoice/delete` | Удалить ссылку на счёт-фактуру | `invoice_delete()` |
580
+ </details>
581
+ <details>
582
+ <summary>Отчёты</summary>
552
583
 
553
- ## Отчёты
554
584
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
555
585
  |---|---|---|---|
556
586
  | ☐ | `/v1/report/info` | Информация об отчёте | `report_info()` |
@@ -561,15 +591,17 @@ pytest --cov=ozonapi --cov-report=html
561
591
  | ☐ | `/v1/finance/cash-flow-statement/list` | Финансовый отчёт | `finance_cash_flow_statement_list()` |
562
592
  | ☐ | `/v1/report/discounted/create` | Отчёт об уценённых товарах | `report_discounted_create()` |
563
593
  | ☐ | `/v1/report/warehouse/stock` | Отчёт об остатках на FBS-складе | `report_warehouse_stock()` |
594
+ </details>
595
+ <details>
596
+ <summary>Аналитические отчёты</summary>
564
597
 
565
- ## Аналитические отчёты
566
598
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
567
599
  |---|---|---|---|
568
600
  | ☐ | `/v2/analytics/stock_on_warehouses` | Отчёт по остаткам и товарам | `analytics_stock_on_warehouses()` |
569
601
  | ☐ | `/v1/analytics/turnover/stocks` | Оборачиваемость товара | `analytics_turnover_stocks()` |
570
-
571
-
572
- ## Финансовые отчеты
602
+ </details>
603
+ <details>
604
+ <summary>Финансовые отчеты</summary>
573
605
 
574
606
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
575
607
  |---|---|---|---|
@@ -583,15 +615,17 @@ pytest --cov=ozonapi --cov-report=html
583
615
  | ☐ | `/v1/finance/products/buyout` | Отчёт о выкупленных товарах | `finance_products_buyout()` |
584
616
  | ☐ | `/v1/finance/compensation` | Отчёт о компенсациях | `finance_compensation()` |
585
617
  | ☐ | `/v1/finance/decompensation` | Отчёт о декомпенсациях | `finance_decompensation()` |
586
-
587
- ## Рейтинг продавца
618
+ </details>
619
+ <details>
620
+ <summary>Рейтинг продавца</summary>
588
621
 
589
622
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
590
623
  |---|---|---|---|
591
624
  | ☐ | `/v1/rating/summary` | Получить информацию о текущих рейтингах продавца | `rating_summary()` |
592
625
  | ☐ | `/v1/rating/history` | Получить информацию о рейтингах продавца за период | `rating_history()` |
593
-
594
- ## Прочие методы
626
+ </details>
627
+ <details>
628
+ <summary>Прочие методы (1)</summary>
595
629
 
596
630
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
597
631
  |---|---|---|---|
@@ -607,23 +641,26 @@ pytest --cov=ozonapi --cov-report=html
607
641
  | ☐ | `/v3/supply-order/get` | Информация о заявке на поставку | `supply_order_get()` |
608
642
  | ☐ | `/v1/supply-order/content/update/validation` | Проверить новый товарный состав | `supply_order_content_update_validation()` |
609
643
  | ☐ | `/v1/product/info/warehouse/stocks` | Получить информацию по остаткам на складе FBS и rFBS | `product_info_warehouse_stocks()` |
610
-
611
- ## Работа с цифровыми товарами
644
+ </details>
645
+ <details>
646
+ <summary>Работа с цифровыми товарами</summary>
612
647
 
613
648
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
614
649
  |---|---|---|---|
615
650
  | ☐ | `/v1/posting/digital/codes/upload` | Загрузить коды цифровых товаров для отправления | `posting_digital_codes_upload()` |
616
651
  | ☐ | `/v1/posting/digital/list` | Получить список отправлений | `posting_digital_list()` |
617
652
  | ☐ | `/v1/product/digital/stocks/import` | Обновить количество цифровых товаров | `product_digital_stocks_import()` |
618
-
619
- ## Работа с квантами
653
+ </details>
654
+ <details>
655
+ <summary>Работа с квантами</summary>
620
656
 
621
657
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
622
658
  |---|---|---|---|
623
659
  | ☐ | `/v1/product/quant/list` | Список эконом-товаров | `product_quant_list()` |
624
660
  | ☐ | `/v1/product/quant/info` | Информация об эконом-товаре | `product_quant_info()` |
625
-
626
- ## Работа с отзывами
661
+ </details>
662
+ <details>
663
+ <summary>Работа с отзывами</summary>
627
664
 
628
665
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
629
666
  |---|---|---|---|
@@ -634,8 +671,9 @@ pytest --cov=ozonapi --cov-report=html
634
671
  | ☐ | `/v1/review/count` | Количество отзывов по статусам | `review_count()` |
635
672
  | ☐ | `/v1/review/info` | Получить информацию об отзыве | `review_info()` |
636
673
  | ☐ | `/v1/review/list` | Получить список отзывов | `review_list()` |
637
-
638
- ## Работа с вопросами и ответами
674
+ </details>
675
+ <details>
676
+ <summary>Работа с вопросами и ответами</summary>
639
677
 
640
678
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
641
679
  |---|---|---|---|
@@ -647,8 +685,9 @@ pytest --cov=ozonapi --cov-report=html
647
685
  | ☐ | `/v1/question/info` | Информация о вопросе | `question_info()` |
648
686
  | ☐ | `/v1/question/list` | Список вопросов | `question_list()` |
649
687
  | ☐ | `/v1/question/top-sku` | Товары с наибольшим количеством вопросов | `question_top_sku()` |
650
-
651
- ## Работа с FBS-складами
688
+ </details>
689
+ <details>
690
+ <summary>Работа с FBS-складами</summary>
652
691
 
653
692
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
654
693
  |---|---|---|---|
@@ -661,8 +700,9 @@ pytest --cov=ozonapi --cov-report=html
661
700
  | ☐ | `/v1/warehouse/fbs/first-mile/update` | Обновить первую милю | `warehouse_fbs_first_mile_update()` |
662
701
  | ☐ | `/v1/warehouse/archive` | Перенести склад в архив | `warehouse_archive()` |
663
702
  | ☐ | `/v1/warehouse/unarchive` | Перенести склад из архива | `warehouse_unarchive()` |
664
-
665
- ## Premium-методы
703
+ </details>
704
+ <details>
705
+ <summary>Premium-методы</summary>
666
706
 
667
707
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
668
708
  |---|---|---|---|
@@ -676,8 +716,9 @@ pytest --cov=ozonapi --cov-report=html
676
716
  | ☐ | `/v1/finance/realization/by-day` | Отчёт о реализации товаров за день | `finance_realization_by_day()` |
677
717
  | ☐ | `/v1/search-queries/text` | Получить список поисковых запросов по тексту | `search_queries_text()` |
678
718
  | ☐ | `/v1/search-queries/top` | Получить список популярных поисковых запросов | `search_queries_top()` |
679
-
680
- ## **Логистика (Ozon Logistics)**
719
+ </details>
720
+ <details>
721
+ <summary>Логистика (Ozon Logistics)</summary>
681
722
 
682
723
  | ✓ | Адрес метода Ozon | Описание метода | Python-метод |
683
724
  |---|---|---|---|
@@ -696,11 +737,7 @@ pytest --cov=ozonapi --cov-report=html
696
737
  | ☐ | `/v1/posting/cancel` | Метод отмены постинга из заказа | `posting_cancel()` |
697
738
  | ☐ | `/v1/order/cancel/status` | Статус отмены заказа | `order_cancel_status()` |
698
739
  | ☐ | `/v1/posting/cancel/status` | Статус отмены постинга из заказа | `posting_cancel_status()` |
699
-
700
- **Примечания**
701
- - ✓ - метод реализован
702
- - ☐ - метод не реализован
703
-
740
+ </details>
704
741
 
705
742
  [MIT License](LICENSE)
706
743
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ozonapi-async"
7
- version = "0.7.0"
7
+ version = "0.7.2"
8
8
  description = "Асинхронный клиент для работы с API маркетплейса Ozon"
9
9
  readme = "readme.md"
10
10
  keywords = ["ozon", "api", "async", "ecommerce", "seller", "client"]