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. Сделите за обновлениями.

Share this post
Odoo development using Visual Studio Code and Docker