OBJECT

SubscriptionProductSelfConnection

The connection between the user and subscription product.

link GraphQL Schema definition

1type SubscriptionProductSelfConnection {
2
3# This user's subscription benefit information for the subscription product.
4benefit: SubscriptionBenefit
5
6# True if the user in this connection is allowed to gift the product in this
7# connection.
8canGiftInChannel: Boolean!
9
10# True if the user in this connection can gift the product in this connection to
11# the user with the supplied user ID.
12canGiftTo(recipientID: ID!): Boolean!
13
14# True if the user in this connection can gift the product in this connection to
15# the user with the supplied login.
16# Since this requires an additonal lookup to get the user ID from the login, this
17# is less preferable than canGift.
18canGiftToLogin(recipientLogin: String!): Boolean!
19
20# Holds configuration necessary to start subscription purchase checkout flow for
21# this product for current user.
22checkoutConfiguration(
23config: CheckoutConfigurationInput!
24): SubscriptionCheckoutConfigs
25
26# The subscription's discount type (e.g. "percent_off").
27discountType: DiscountType! @deprecated( reason: "Transitioning to promotion field instead" )
28
29# The discount value of the subscription product (e.g. "50").
30discountValue: String! @deprecated( reason: "Transitioning to promotion field instead" )
31
32# A list of GiftOffers that are available on this subscription product
33# depending on which platform, giftType and user that is authenticated.
34# Exposed on the self connection as well since user based promotions can be given
35# in the future
36# Used by clients to display different gift prices, quantities and user based gift
37# promotion information.
38giftOffers(
39platform: SubscriptionGiftOfferPlatform,
40type: SubscriptionGiftType!
41): [SubscriptionGiftOffer!]
42
43# If the product is eligible for a discount.
44isEligibleForDiscount: Boolean! @deprecated( reason: "Transitioning to promotion field instead" )
45
46# The subscription's USD-formatted price after discount (e.g. "$2.49").
47newPrice: String! @deprecated( reason: "Transitioning to promotion field instead" )
48
49# The subscription's USD-formatted price before discount (e.g. "$4.99").
50oldPrice: String! @deprecated( reason: "Transitioning to promotion field instead" )
51
52# If the subscription product is eligible for a paid upgrade promotion.
53paidUpgradePromotion: SubscriptionPromotion
54
55# Contains information on the final checkout price of this subscription product.
56productPurchase(quantity: Int!, paymentProvider: PaymentProvider!): ProductPurchase
57
58# The subscription product's promotion for user if eligible.
59promotion: SubscriptionPromotion
60
61# This user's subscription purchase details for the subscription product. If this
62# user is not
63# subscribed to the product, then the result's state is 'inactive'. If a
64# compatible purchase exists,
65# then the result's "compatiblePurchase" field is present.
66purchase: SubscriptionPurchase
67
68# Subscription tenure data for the user to this subscription product.
69subscriptionTenure(tenureMethod: SubscriptionTenureMethod!): SubscriptionTenure
70
71# ThirdPartyPurchaseSKU is different from templateSKU since it represents the SKU
72# of the exact item the
73# user will purchase. It is more expensive to retrieve purchaseSKU than
74# templateSKU, so only
75# use purchaseSKU when the user has indicated they want to checkout. Use
76# templateSKU on channel
77# page load to retrieve product information.
78#
79# Will return an error if the user has no purchasable skus. Will return nil if not
80# on a platform
81# with an external subscription product or if the country is not supported.
82# Uses Client-ID to determine platform information and IP address to determine
83# location.
84thirdPartyPurchaseSKU(platform: String): String
85
86}