Skip to content

feat(fbo): add FBOTransport group — transport cargoes (14 methods) — 0.86.0#6

Merged
a-ulianov merged 1 commit into
mainfrom
feat/cargoes-transport
Jun 15, 2026
Merged

feat(fbo): add FBOTransport group — transport cargoes (14 methods) — 0.86.0#6
a-ulianov merged 1 commit into
mainfrom
feat/cargoes-transport

Conversation

@ci-action

Copy link
Copy Markdown
Collaborator

Что и зачем

Ozon добавил в live-спецификацию 14 новых операций с тегом FBOTransport (работа с
транспортными грузоместами FBO). Эта ветка реализует всю группу внутри fbo_supply_request.

Новые методы (11 × v1 + 3 × v2 канонические)

  • /v1/cargoes/transport/create + /status
  • /v1/cargoes/transport/activate + /status
  • /v1/cargoes/transport/bind + /status
  • /v1/cargoes/supplies/get
  • /v1/cargoes/label/transport/create + /status
  • /v1/cargoes/label/transport-by-order/create + /status
  • /v2/cargoes/get, /v2/cargoes/delete, /v2/cargoes/delete/status — канонические

Коллизия версий (правило проекта: новее = канон без суффикса)

Старые v1-методы понижены до *_v1():

  • cargoes_get()cargoes_get_v1() (канон = /v2/cargoes/get)
  • cargoes_delete()cargoes_delete_v1() (канон = /v2/cargoes/delete)
  • cargoes_delete_status()cargoes_delete_status_v1() (канон = /v2/cargoes/delete/status)

Миксины/методы/классы Request/Response старых версий получили инфикс V1; их README-строки
помечены ⚠️ устар. →. Канонические v2-имена остаются без суффикса.

Замечания по моделированию

Группа access-gated (FBOTransport), живой проверки нет — схемы строго по swagger,
response status/error-энумы как открытый str, тесты только на моках (_request мокируется).

Версия

Бамп 0.85.1 → 0.86.0 (minor, новые методы) в pyproject.toml и src/ozonapi/__init__.py.

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

README-каталог 447 → 461; секция «Создание и управление заявками на поставку FBO» 29 → 43;
добавлены 14 строк, 3 v1-строки помечены устаревшими. Счётчики пересчитаны из строк.

Проверки

  • pytest: 579 passed (локально, транспорт мокируется — без сети).
  • mypy --config-file .claude/linters/mypy.ini: чисто, 0 net new.
  • Адверсариальное ревью (ozon-reviewer): без блокеров.

⚠️ Merge публикует 0.86.0 в PyPI — решение за человеком. Я (бот) PR не мержу.

…0.86.0

Implements the new Ozon Seller API "FBOTransport" surface (swagger +14 ops)
inside the fbo_supply_request group:

New methods (11 × v1 + 3 × v2 canonical):
- /v1/cargoes/transport/create[/status], /activate[/status], /bind[/status]
- /v1/cargoes/supplies/get
- /v1/cargoes/label/transport/{create,status}
- /v1/cargoes/label/transport-by-order/{create,status}
- /v2/cargoes/get, /v2/cargoes/delete, /v2/cargoes/delete/status (canonical)

Version-collision rule: the colliding v1 endpoints (cargoes_get, cargoes_delete,
cargoes_delete_status) are demoted to *_v1() (mixins/methods/Request/Response
classes carry a V1 infix); the new v2 versions become the canonical unsuffixed
methods. All response status/error enums typed as open-set str (group is
access-gated, modelled strictly from swagger; tests mock the transport).

Docs: readme catalogue 447 -> 461 (section "Создание и управление заявками на
поставку FBO" 29 -> 43; 3 demoted v1 rows flagged "устар."). Version bumped in
pyproject.toml and src/ozonapi/__init__.py.

Tests: 579 passed. mypy: clean (0 net new).
@a-ulianov a-ulianov merged commit 75134c7 into main Jun 15, 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