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', {