Two loyalty members may choose to link their memberships by creating a friendship to share subscription benefits.
The friend limit and subscription sharing rules are configured in Loyalty and returned by GetMasterData endpoint:
- The
friendLimitindicates the maximum number of friends that a member can have at once. - The
isSubscriptionSharingRestrictedToActiveSubscribersindicates whether a member without an active subscription is eligible to access the benefits of their friend's subscription.
{
"friendConfiguration": {
"isSubscriptionSharingRestrictedToActiveSubscribers": true,
"friendLimit": {
"isUnlimited": true,
"value": 0
}
}
}Some properties have been omitted from the code snippet above for brevity.
Use the GetCurrentMember endpoint to get the authenticated member's friends, including details about their current subscription sharing settings.
{
"member": {
"id": "string",
"hash": "string",
"friends": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": {
"givenName": "string",
"familyName": "string",
"middleName": "string"
},
"photo": {
"uriExpiresAt": "2019-08-24T14:15:22Z",
"uri": "http://example.com"
},
"subscriptionSharing": {
"friendCanUseMemberSubscription": true,
"friendSubscriptions": [
{
"subscriptionId": 0
}
]
},
"createdAt": "2019-08-24T14:15:22Z"
}
]
}
}Some properties have been omitted from the code snippet above for brevity.
A member with an active subscription may choose to share their benefits with another member (i.e., their friend). When a member chooses to share their subscription, their friend will have the ability to order subscription tickets on their behalf.
Creating a member friend is a multi-step process that requires the involvement of both members.
The first authenticated member may create a friend code via the CreateFriendCode endpoint. The member may optionally choose to share their subscription with their new friend via the friendCanUseMemberSubscription request property.
{
"friendCanUseMemberSubscription": true
}This endpoint returns a single-use friendCode that can be used by another member to establish the two-way friendship.
{
"friendCode": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}The second authenticated member can establish the friendship by calling the AddFriendFromCode endpoint with the friendCode before it expires.
{
"friendCode": "string"
}After adding the friend, the second authenticated member can optionally choose to share their subscription with the first member via the change subscription sharing flow.
The member friend creation process will need to be restarted if the friendCode has already expired.
A member may choose to start or stop sharing their subscription with a friend at any time via the SetSubscriptionSharing endpoint.
{
"friendCanUseMemberSubscription": true
}Depending on configuration, a member may not be able to share their friend's subscription if they don't have their own active subscription.
An authenticated member may remove a friend at any time via the RemoveFriend endpoint. Removing a friend will immediately end any subscription sharing between the members.