Type containing all information regarding the customer.

interface CustomerInfo {
    activeSubscriptions: Set<string>;
    allExpirationDatesByProduct: {
        [productIdentifier: string]: Date | null;
    };
    allPurchaseDatesByProduct: {
        [productIdentifier: string]: Date | null;
    };
    entitlements: EntitlementInfos;
    firstSeenDate: Date;
    managementURL: null | string;
    originalAppUserId: string;
    originalPurchaseDate: null | Date;
    requestDate: Date;
}

Properties

activeSubscriptions: Set<string>

Set of active subscription product identifiers.

allExpirationDatesByProduct: {
    [productIdentifier: string]: Date | null;
}

Map of productIds to expiration dates.

allPurchaseDatesByProduct: {
    [productIdentifier: string]: Date | null;
}

Map of productIds to purchase dates.

entitlements: EntitlementInfos

Entitlements attached to this customer info.

firstSeenDate: Date

The date this user was first seen in RevenueCat.

managementURL: null | string

URL to manage the active subscription of the user. If this user has an active RC Billing subscription, a link to the management page. If this user has an active iOS subscription, this will point to the App Store. If the user has an active Play Store subscription it will point there. If there are no active subscriptions it will be null.

originalAppUserId: string

The original App User Id recorded for this user.

originalPurchaseDate: null | Date

The purchase date for the version of the application when the user bought the app. Use this for grandfathering users when migrating to subscriptions. This can be null.

requestDate: Date

Date when this info was requested.