Skip to main content

Python Ozon Seller API

PyPI version Python 3.8+ Downloads Code style: black

Асинхронная Python библиотека для работы с API Ozon Seller.

Особенности

  • ✨ Полностью асинхронная работа с API
  • 🛡️ Строгая типизация данных с использованием Pydantic моделей
  • 🚀 Простой и понятный интерфейс
  • 📦 Поддержка всех основных методов API Ozon Seller

Установка

pip install ozon-api

Быстрый старт

from ozon_api import OzonAPI
import asyncio

async def main():
    async with OzonAPI(client_id="your_client_id", api_key="your_api_key") as api:
        # Получение списка товаров
        products = await api.product_list(...)
        print(products)

if __name__ == "__main__":
    asyncio.run(main())

Основные возможности

Работа с товарами

  • Получение списка товаров
  • Импорт товаров
  • Обновление товаров
  • Работа с изображениями товаров
  • Генерация и добавление штрихкодов
  • Управление архивом товаров
  • Получение рейтингов товаров

Работа с категориями

  • Получение дерева категорий
  • Получение атрибутов категорий

Документация

Инициализация клиента

from ozon_api import OzonAPI

# Рекомендуемый способ (с использованием контекстного менеджера)
async with OzonAPI(client_id="your_client_id", api_key="your_api_key") as api:
    # Ваш код здесь
    pass

# Альтернативный способ
api = OzonAPI(client_id="your_client_id", api_key="your_api_key")

Настройка клиента

api.api_url = "https://api-seller.ozon.ru"  # Изменение базового URL API
api.language = "RU"  # Установка языка (доступны: DEFAULT, RU, EN, TR, ZH_HANS)

Обработка ошибок

Библиотека предоставляет следующие типы исключений:

  • OzonAPIError - базовое исключение
  • OzonAPIClientError - ошибка клиента (400)
  • OzonAPIForbiddenError - ошибка доступа (403)
  • OzonAPINotFoundError - ресурс не найден (404)
  • OzonAPIConflictError - конфликт (409)
  • OzonAPIServerError - ошибка сервера (500)
try:
    await api.product_list(...)
except OzonAPIClientError as e:
    print(f"Ошибка клиента: {e.message}")
except OzonAPIError as e:
    print(f"Общая ошибка: {e.message}")

Примеры использования

Получение списка товаров

from ozon_api.models.product_list import ProductListRequest

request = ProductListRequest(
    page=1,
    page_size=100
)
response = await api.product_list(request)

Импорт товаров

from ozon_api.models.product_import import ProductImportRequest

request = ProductImportRequest(
    items=[...]  # Список товаров для импорта
)
response = await api.product_import(request)

Работа с изображениями

from ozon_api.models.product_pictures import ProductPicturesRequest

request = ProductPicturesRequest(
    product_id="...",
    images=[...]
)
response = await api.product_pictures(request)

Внеси вклад в проект

Мы рады любым улучшениям и pull request'ам! Вот как вы можете помочь:

Процесс внесения изменений

  1. Форкните репозиторий
  2. Создайте ветку для вашей фичи:
    git checkout -b feature/amazing-feature
    
  3. Внесите изменения и добавьте тесты
  4. Убедитесь, что код соответствует стандартам:
    ruff check --fix
    isort .
    black .
    
  5. Закоммитьте изменения:
    git commit -m "feat: add amazing feature"
    
  6. Отправьте изменения в ваш форк:
    git push origin feature/amazing-feature
    
  7. Создайте Pull Request

Правила контрибуции

  • Используйте Conventional Commits для сообщений коммитов
  • Добавляйте тесты для новой функциональности
  • Обновляйте документацию при необходимости
  • Следуйте существующему стилю кода
  • Один PR - одно изменение

Сообщение о багах

Если вы нашли баг, пожалуйста, создайте issue с подробным описанием:

  • Версия библиотеки
  • Версия Python
  • Ожидаемое поведение
  • Текущее поведение
  • Шаги для воспроизведения

Лицензия

MIT

Автор

Создано с ❤️ Mephistofx

Telegram: @mephistofx
Email: dev@fxcode.ru

Поддержка

Если у вас возникли вопросы или проблемы, пожалуйста, создайте issue в репозитории проекта.

Версионирование

Проект использует семантическое версионирование (SemVer):

  • MAJOR версия: несовместимые изменения API
  • MINOR версия: новая функциональность с обратной совместимостью
  • PATCH версия: исправления ошибок с обратной совместимостью

Metadata

Release files for ozon-api 1.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ozon-api 1.6.1
File Size Uploaded Provenance
ozon_api-1.6.1.tar.gz 87.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ozon-api 1.6.1
File Interpreter ABI Platform
ozon_api-1.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 129.2 kB

Release files / ozon_api-1.6.1.tar.gz

Download URL ozon_api-1.6.1.tar.gz
Size 87.3 kB
Tags Source
SHA-256 checksum
How to use checksums
940fa91b7f7a99a532e7bce6dc2b599ba38007d83e7c5d291d934243fcce413d
BLAKE2b-256 checksum
How to use checksums
993da40266b12f7387b678967c3106803bfc7055254973d5691c468e6d6c4914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.13

Release files / ozon_api-1.6.1-py3-none-any.whl

Download URL ozon_api-1.6.1-py3-none-any.whl
Size 42.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
353f2af8a2b4131384b500ed846e7f571a30b7891a4dfabc4a5019fcdc7c0bbf
BLAKE2b-256 checksum
How to use checksums
7fbf55aac73d4faec5d6deeb02288a64a17a05c9e3441a5c7a9ec8408792aeb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.13

Security for ozon-api 1.6.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page