Skip to content

feat(products): add operation_limits to product_info_limit response (v4) — 0.85.0#4

Merged
a-ulianov merged 1 commit into
mainfrom
feat/product-info-limit-operation-limits
Jun 11, 2026
Merged

feat(products): add operation_limits to product_info_limit response (v4) — 0.85.0#4
a-ulianov merged 1 commit into
mainfrom
feat/product-info-limit-operation-limits

Conversation

@ci-action

Copy link
Copy Markdown
Collaborator

Что изменено

Ozon добавил в ответ POST /v4/product/info/limit новый объект operation_limits — поминутный лимит на создание товаров (сигнал из live-spec, brief 2026-06-10).

  • Новая модель ProductInfoLimitOperationLimits { limit: int, limit_type: str }.
    limit_type типизирован как открытое множество str (значения UNSPECIFIED | RATE_LIMIT_PER_MINUTE) — нельзя live-верифицировать без ключей, защищаемся от появления новых значений.
  • В ProductInfoLimitResponse добавлено опциональное поле operation_limits (аддитивно, обратно совместимо; None, если отсутствует).
  • Модель ре-экспортирована из schemas/products/__init__.py; расширен юнит-тест.

Почему

Аддитивное непрерывающее изменение сигнатуры реализованного метода — приводим схему в соответствие с live OpenAPI.

Версия

0.84.1 → 0.85.0 (minor, новое поле/модель) в pyproject.toml и src/ozonapi/__init__.py.

Проверки (локально)

  • pytest: 565 passed
  • mypy --config-file .claude/linters/mypy.ini по изменённому файлу: clean (0 net-new)
  • CI по main запускается на этом PR.

🤖 Generated with Claude Code

…v4) — 0.85.0

Ozon added a new response object `operation_limits` to
POST /v4/product/info/limit (per-minute product-creation rate limit).

- New model ProductInfoLimitOperationLimits {limit: int, limit_type: str}
  (limit_type open-set str: UNSPECIFIED | RATE_LIMIT_PER_MINUTE).
- Added optional `operation_limits` field to ProductInfoLimitResponse
  (additive, non-breaking; None when absent).
- Re-exported the new model; extended the unit test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ci-action

Copy link
Copy Markdown
Collaborator Author

⚠️ Порядок merge (важно для авто-публикации в PyPI).

PR #4 (→ 0.85.0) и PR #5 (→ 0.85.1) обе отведены от main 0.84.1 и независимо правят
version-файлы (pyproject.toml, src/ozonapi/__init__.py).

Мержить нужно сначала этот PR #4 (0.85.0), затем #5 (0.85.1).
Если первым смержить #5, то #4 станет понижением версии и publish.yml упадёт на дубликате/устаревшей версии.

После merge этого PR ветка #5 даст конфликт по version-файлам — нужен тривиальный rebase/ре-bump
до 0.85.1 поверх обновлённого main (содержательных конфликтов нет).

CI зелёный (test SUCCESS), MERGEABLE/CLEAN. — ci-action (watcher)

@a-ulianov a-ulianov merged commit 2f5bf5a into main Jun 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants