Исходный код cdek.apps.tariff.tariff

from ..app import App
from .requests import TariffCodeRequest, TariffListRequest
from .responses import TariffAvailableResponse, TariffListResponse, TariffResponse


[документация] class TariffApp(App): """Класс для работы с тарифами"""
[документация] def calc_list(self, tariff: "TariffListRequest") -> "TariffListResponse": """Расчёт стоимости и сроков доставки по всем доступным тарифам Args: tariff: объект Tariff с параметрами запроса (type, from_location, to_location, packages) Returns: Список объектов TariffListResponse с информацией о доступных тарифах Raises: ValueError: если tariff не является объектом TariffListRequest """ if not isinstance(tariff, TariffListRequest): raise ValueError("tariff must be a TariffListRequest") response = self._post("calculator/tarifflist", json=tariff) return TariffListResponse.model_validate(response)
[документация] def calc(self, tariff: "TariffCodeRequest") -> "TariffResponse": """ Расчёт стоимости и сроков доставки по коду тарифа Args: tariff: объект TariffCodeRequest с параметрами запроса (tariff_code, from_location, to_location, packages) Returns: TariffResponse: объект с информацией о расчёте стоимости и сроков доставки Raises: ValueError: если tariff не является объектом TariffCodeRequest """ if not isinstance(tariff, TariffCodeRequest): raise ValueError("tariff must be a TariffCodeRequest") response = self._post("calculator/tariff", json=tariff) return TariffResponse.model_validate(response)
[документация] def all(self) -> "TariffAvailableResponse": """ Список доступных тарифов Метод позволяет получить список всех доступных и актуальных тарифов по договору Returns: Список объектов TariffAvailableResponse с информацией о доступных тарифах """ response = self._get("calculator/alltariffs") return TariffAvailableResponse.model_validate(response)