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

from ..app import App
from ..models.entity_response import EntityResponse
from .requests import PrintInvoiceRequest
from .responses import WaybillEntityResponse


[документация] class InvoiceApp(App): """Класс для работы с накладными к заказу"""
[документация] def get(self, uuid: str) -> WaybillEntityResponse: """Получение сущности накладной к заказу Args: uuid (str): идентификатор накладной к заказу Returns: WaybillEntityResponse: объект с информацией о накладной к заказу """ response = self._get(f"print/orders/{uuid}") return WaybillEntityResponse.model_validate(response)
[документация] def get_pdf(self, uuid: str) -> bytes: """Получение PDF накладной к заказу Args: uuid (str): идентификатор накладной к заказу Returns: bytes: содержимое PDF файла """ return self._get(f"print/orders/{uuid}.pdf")
[документация] def set(self, invoice: PrintInvoiceRequest) -> EntityResponse: """Запрос на формирование накладной к заказу Args: invoice (PrintInvoiceRequest): объект с информацией о запросе на формирование накладной к заказу Returns: EntityResponse: объект с информацией о формировании накладной к заказу Raises: ValueError: если invoice не является объектом PrintInvoiceRequest """ if not isinstance(invoice, PrintInvoiceRequest): raise ValueError("invoice must be a PrintInvoiceRequest") response = self._post("print/orders", json=invoice) return EntityResponse.model_validate(response)