Загрузка приложения

ICartSummary

Физическое объявление TypeScript из стартового проекта Nuxt со связанными типами и комментариями к полям.

ICartSummary

Состояние корзины, суммы, адрес и варианты оплаты.

app/interfaces/orionplace/cart/ICartData.ts
TypeScript
export interface ICartSummary {
  // ID корзины.
  id: number;
  // `ECartState.STATE_CART` — выбор товаров и изменение количества.
  // `ECartState.STATE_CHECKOUT` — оформление с группами отправки, оплатой и
  // доставкой. Значение определяет структуру `page_data.cart_data`.
  state: ECartState;
  // Суммы по валютам и признак предварительной доставки.
  prices: ICartPrices;
  // Общий счётчик физических и цифровых единиц.
  c_cart_positions: number;
  // Счётчик позиций корзины, пересчитанный для текущего состояния.
  c_cart_items: number;
  // Счётчик цифровых единиц.
  c_digital_pos: number;
  // Счётчик физических единиц.
  c_physical_pos: number;
  // Количество групп отправки.
  c_dlf: number;
  // Сохранённые адреса вошедшего покупателя. У каждого есть ID для
  // `cart_customer_address_set`. Пустой список означает отсутствие сохранённых
  // адресов; для гостя возвращается null.
  address_list: IUserAddress[] | null;
  // Доступные для текущей корзины способы оплаты с ID способа в качестве ключа.
  // Для вариантов выбора используйте их `id`, названия в `locale` и `logo`.
  // Способ, ограниченный по странам, показывается по стране телефона
  // покупателя, а не по адресу корзины. Пустой словарь не содержит доступных
  // способов.
  payment_methods: Record<string, IPaymentMethod>;
  // ID выбранного способа оплаты; ему соответствует запись в `payment_methods`.
  // Null означает, что способ не выбран. Проверка корзины при оформлении
  // сбрасывает недоступный способ; покупателю нужно выбрать его заново. Возврат
  // из оформления в `ECartState.STATE_CART` тоже сбрасывает выбор.
  selected_payment: number | null;
  // Текущий адрес доставки корзины: копия полей адреса без ID сохранённой
  // записи или null, если адрес не задан. Для показа сохранённого варианта
  // сравните с `address_list`. Копия сохраняется после изменения или удаления
  // записи; выбор адреса заменяет её.
  cart_address: ICartAddress | null;
  // Описание прикреплённой акции или null.
  attached_promo: IPromoDefinition | null;
  // Прикреплённый выданный код или null.
  promocode: string | null;
  /** Absent on backends without the whole-cart promo rules. */
  promo_notice?: ICartPromoNotice | null;
  // Сохранённый комментарий к заказу длиной до 1024 символов. Пустой текст
  // означает отсутствие комментария. Для сохранения передайте `cart_commentary`
  // в `cart_customer_commentary_set`.
  comment: string;
  // `client` содержит full_name и phone владельца аккаунта; `receiver` —
  // full_name и phone получателя заказа. Каждое незаданное значение получателя
  // берётся из соответствующего поля аккаунта. `cart_customer_reciever_clean`
  // возвращает эти значения для корзины. Для гостя объект пуст.
  contact: {
    // Необязательное поле client; может отсутствовать.
    client?: ICartContact;
    // Необязательное поле receiver; может отсутствовать.
    receiver?: ICartContact;
  };
  // `true` сообщает об изменении доступного количества или товаров, которые
  // нельзя отправить. Используйте полученные данные корзины. Уведомление
  // сбрасывается после чтения; последующее `false` не возвращает прежнее
  // количество.
  cart_stock_was_modifed: boolean;
}