From 793dc51a9c20c7e5a2fe5ed34f2ff8c9e4a53feb Mon Sep 17 00:00:00 2001 From: Egor Date: Wed, 21 Jan 2026 08:13:25 +0300 Subject: [PATCH] Update promo.ts --- src/api/promo.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/api/promo.ts b/src/api/promo.ts index ba0a1e8..9512378 100644 --- a/src/api/promo.ts +++ b/src/api/promo.ts @@ -34,6 +34,27 @@ export interface ClaimOfferResponse { expires_at: string | null } +export interface LoyaltyTierInfo { + id: number + name: string + threshold_rubles: number + server_discount_percent: number + traffic_discount_percent: number + device_discount_percent: number + period_discounts: Record + is_current: boolean + is_achieved: boolean +} + +export interface LoyaltyTiersResponse { + tiers: LoyaltyTierInfo[] + current_spent_rubles: number + current_tier_name: string | null + next_tier_name: string | null + next_tier_threshold_rubles: number | null + progress_percent: number +} + export const promoApi = { // Get available promo offers getOffers: async (): Promise => { @@ -53,6 +74,12 @@ export const promoApi = { return response.data }, + // Get loyalty tiers (promo groups with spending thresholds) + getLoyaltyTiers: async (): Promise => { + const response = await apiClient.get('/cabinet/promo/loyalty-tiers') + return response.data + }, + // Claim a promo offer claimOffer: async (offerId: number): Promise => { const response = await apiClient.post('/cabinet/promo/claim', {