Skip to Content

Интеграция с API СДЭК


API СДЭК 

Не просто прикольное словосочетание. Если вы когда-нибудь пробовали интегрироваться с API, вы знаете это чувство: документация загадочна, примеры неполные, ответы API ведут себя так, будто у них своя личная жизнь.

Но тут на сцену выходит СДЭК — и приятно удивляет. У них качественное, аккуратно прописанное и логичное API, за что отдельно хочется пожать руку каждому человеку из команды документации.

Чтобы работать с API было ещё проще, появился CDEK Python SDK v2.0 — библиотека, которая превращает интеграцию в почти (не к ночи упомянутый) вайб-кодинг. Да-да, никаких слёз. Всё уже внутри.


CDEK Python SDK v2.0

Это Python-библиотека для API СДЭК 2.0 с удобным объектно-ориентированным интерфейсом. Почему v2.0? Ну… не всё выходит так, как хотелось бы с первого раза — даже у нас.

Можно делать всё, что нужно разработчику:

  • считать стоимость доставки
  • получать сроки
  • работать со справочниками (города, ПВЗ, регионы)
  • создавать и отслеживать заказы
  • получать накладные и штрих-коды в PDF
  • ловить вебхуки со статусами
  • вызывать курьера
  • и делать это без боли

Проще говоря, это готовый набор инструментов для интеграции службы доставки для любого фреймворка.


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

Установка — одна команда:

pip install cdek

Пример — три строчки, и вы уже считаете тариф:

from cdek import CdekClient from cdek.apps.tariff.requests import TariffCodeRequest client = CdekClient("TEST") request = TariffCodeRequest.init(tariff_code=136) request.set_city_codes(from_location=44, to_location=137) request.set_package_weight(weight=1_000) tariff = client.tariff.calc(request) print(f"Стоимость: {tariff.delivery_sum} {tariff.currency}") print(f"Срок: {tariff.period_min}–{tariff.period_max} дней")

Pydantic контролирует данные, токены кэшируются автоматически, ошибки уже обработаны — короче, жить можно.


Присоединяйтесь к тестированию!

Добро пожаловать — тестировщики нам нужны как воздух, особенно те, кто может сломать даже то, что вроде невозможно сломать.


Контрибьютерам — отдельный респект

Проект полностью open source, так что:

  • хотите улучшить код — приходите
  • нашли идею — оформляйте PR
  • любите документацию — вы наш герой
  • исправили баг — мы вас уже любим


Требования

  • Python 3.10+
  • pydantic 2.6–3.0
  • requests 2.28.0+


Где почитать и скачать?


Что дальше? Интеграция Odoo СДЭК 

Готовится к релизу Delivery Carrier CDEK для Odoo 16.0, который:

  • рассчитывает тарифы прямо в Sale Order,
  • создаёт и отменяет заказы в СДЭК,
  • работает с тестовым режимом,
  • и вообще ведёт себя как стандартный delivery carrier со всеми его фичами.

И все это будет совершенно бесплатно размещено у нас в репозитории.

И всё это будет совершенно бесплатно, размещено в нашем репозитории.

Также уже готов модуль с интеграцией виджета карт CDEK для Odoo 16.0, с помощью которого можно заполнять адреса партнёра и хранить предпочитаемый ПВЗ на основе библиотеки адресов CDEK. Модуль будет размещён в Odoo App Store в ближайшее время.

Далее в планах — миграция на более свежие версии Odoo и интеграция со CDEK PAY. Следите за обновлениями.

Поделиться этой записью
Разработка Odoo с применением VS Code и Docker