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

from __future__ import annotations

from typing import Literal
from uuid import UUID

from pydantic import BaseModel, Field


[документация] class CityFilter(BaseModel): """Фильтр для городов""" name: str = Field(..., description="Наименование населенного пункта СДЭК") country_code: str | None = Field( None, description="Код страны в формате ISO_3166-1_alpha-2" )
[документация] class CityListFilter(BaseModel): """Фильтр для списка городов""" country_codes: str | None = Field( None, description="Массив кодов стран в формате ISO_3166-1_alpha-2" ) region_code: int | None = Field(None, description="Код региона (справочник СДЭК)") kladr_region_code: str | None = Field(None, description="Код КЛАДР региона") kladr_code: str | None = Field(None, description="Код КЛАДР населенного пункта") fias_guid: UUID | None = Field( None, description="Уникальный идентификатор ФИАС населенного пункта" ) postal_code: str | None = Field(None, description="Почтовый индекс") code: int | None = Field(None, description="Код населенного пункта СДЭК") city: str | None = Field( None, description="Название населенного пункта. Должно соответствовать полностью", ) payment_limit: float | None = Field( None, description="Ограничение на сумму наложенного платежа" ) size: int | None = Field(1000, description="Ограничение выборки результата") page: int | None = Field( 0, description="Номер страницы выборки результата. Нумерация страниц с 0" ) lang: str | None = Field(None, description="Язык локализации ответа")
[документация] class RegionFilter(BaseModel): """Фильтр для регионов""" country_codes: str | None = Field( None, description="Список кодов стран в формате ISO_3166-1_alpha-2" ) size: int = Field(1000, description="Ограничение выборки результата") page: int = Field(0, description="Номер страницы выборки результата") lang: Literal["rus", "zho"] = Field("rus", description="Локализация")
[документация] class ZipFilter(BaseModel): """Фильтр для почтовых индексов""" city_code: int = Field( ..., description="Код города, которому принадлежат почтовые индексы" )
[документация] class CoordinatesFilter(BaseModel): """Фильтр для координат""" latitude: float = Field(..., description="Широта") longitude: float = Field(..., description="Долгота")