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

from __future__ import annotations

from datetime import datetime as DateTime
from typing import Literal

from pydantic import BaseModel, Field, field_serializer

from ..models.error import Error
from ..models.payment_info import PaymentInfo
from ..models.warning import WarningModel


[документация] class CheckInfo(BaseModel): order_uuid: str = Field(..., description="Идентификатор заказа") cdek_number: str = Field(..., description="Номер заказа СДЭК") date: DateTime = Field(..., description="Дата создания чека в формате YYYY-MM-DD") document_number: str = Field(..., description="Номер документа") fiscal_sign: int = Field(..., description="Фискальный признак") type: Literal["CASH_RECEIPT_IN", "CASH_RECEIPT_REFUND"] = Field( ..., description="Тип чека" ) payment_info: list[PaymentInfo] = Field(..., description="Информация о платеже") shift_no: int | None = Field(None, description="Номер смены")
[документация] @field_serializer("date") def serialize_date(self, date: DateTime) -> str: """Вернуть дату формирования чека в формате YYYY-MM-DD""" return date.strftime("%Y-%m-%d")
[документация] class CheckResponse(BaseModel): check_info: list[CheckInfo] = Field(..., description="Информация о чеке") errors: list[Error] | None = Field(None, description="Список ошибок") warnings: list[WarningModel] | None = Field( None, description="Список предупреждений" )