Получение списка продуктов

Для получения продуктов необходимо использовать метод RustoreBillingClient.getProducts(productIds):

try {
  const products = await RustoreBillingClient.getProducts(productIds);
  for (const product of products) {
    console.log(product?.productId);
  }
catch (err) {
  console.log(`products err: ${err}`);
}
  • productIds  список идентификаторов продуктов.

Метод возвращает список продуктов `Product[]`. Ниже представлена модель продукта:

interface Product {
    productId: string;
    productType?: ProductType;
    productStatus: ProductStatus;
    priceLabel?: string;
    price?: number;
    currency?: string;
    language?: string;
    title?: string;
    description?: string;
    imageUrl?: string;
    promoImageUrl?: string;
    subscription?: ProductSubscription;
}
  • productId  идентификатор продукта.
  • productType  тип продукта.
  • productStatus  статус продукта.
  • priceLabel — отформатированная цена товара, включая валютный знак на языке [language].
  • price  цена в минимальных единицах.
  • currency  код валюты ISO 4217.
  • language  язык, указанный с помощью BCP 47 кодирования.
  • title  название продукта на языке [language].
  • description  описание продукта на языке [language].
  • imageUrl — ссылка на картинку.
  • promoImageUrl — ссылка на промо картинку.
  • subscription — описание подписки, возвращается только для продуктов с типом subscription.

Структура подписки Subscription:

interface ProductSubscription {
  subscriptionPeriod?: SubscriptionPeriod;
  freeTrialPeriod?: SubscriptionPeriod;
  gracePeriod?: SubscriptionPeriod;
  introductoryPrice?: string;
  introductoryPriceAmount?: string;
  introductoryPricePeriod?: SubscriptionPeriod;
}
  • subscriptionPeriod  период подписки. 
  • freeTrialPeriod — пробный период подписки. 
  • gracePeriod  льготный период подписки. 
  • introductoryPrice — отформатированная вступительная цена подписки, включая знак валюты, на языке product:language. 
  • introductoryPriceAmount  — вступительная цена в минимальных единицах валюты (в копейках). 
  • introductoryPricePeriod — расчетный период вступительной цены. 

Структура периода подписки SubscriptionPeriod:

interface SubscriptionPeriod {
    years: number;
    months: number;
    days: number;
}
  • years  количество лет. 
  • months  количество месяцев. 
  • days  количество дней. 
Обновлено 7 августа 2023 г.
Was this information helpful?