List Membership Levels

GET /v2/b2b/membership/levels

Inputs

  • isPublished:  Required. boolean. When set to true, returns a list of published membership levels. All clients other than Acme B2B should set this to true.
  • salesChannels**: Required. Possible values are online, pointOfSale, insideSalesIndividual, customerRep, kiosk, salesforce. To get memberships levels for multiple sales channels, add the values comma separated
  • page: Optional. The page that you want returned, default is 1.
  • pageSize: Optional. The number of items you want returned in a  page.  Default is 100. Setting this to -1 will return everything.
  • sortField: Optional. The filed that you want to sort by 
  • sortDirection: optional. can be asc or desc based on the required direction of sorting. 
  • summarize: optional. boolean. When set to true, it filters out all the meta data / configuration information tied to the membership level
  • membershipLevelGroup: Optional. String. individualAndFamily or organization.
  • action: Optional. The lifecycle actions filter. Possible values are NEW_MEMBERSHIPS, CANCELLATION, UPGRADE, DOWNGRADE, RENEW, AFTER_TERM_RENEW, REJOIN
  • auxiliary: Optional. Boolean. When set to true, returns all membership levels that are of type auxiliary. Otherwise, returns non auxiliary membership levels.
  • excludeLevelsWithACollection. Boolean. when set to true, returns membership levels that is not mapped to a collection.
  • collectionId: String. The membership level colletion ID throws COMBINATION_NOT_SUPPORTED exception when both collection ID and excludeLevelsWithACollection are passed.

Returns:

A list of Membership level Objects


Get Membership level

GET /v2/b2b/membership/levels/{id}

Inputs:

id:  The id of the membership level you want to get.


Returns:

The Membership levels Object with the specified id.


Create a Membership level

POST /v2/b2b/membership/levels

Body:

The Membership level Object you want to add.

Returns:

The newly created Membership level Object.


Update a Membership level

PUT /v2/b2b/membership/levels

Body:

The updated Membership level Object, must contain the id of the object being updated.

Returns:

The updated Membership level Object.


Publish a Membership level

PUT /v2/b2b/membership/levels/publish

Body:

The Membership level Object you want to publish, must contain the id of the object being updated.

Returns:

The published Membership level Object.


Delete a Membership level

DELETE /v2/b2b/membership/levels/{id}

Inputs:

id:  The id of the membership level you want to delete.

Returns:

The Membership levels Object of the deleted entry.


List Membership Offerings of a Membership level

GET /v2/b2b/membership/levels/{levelId}/membershipofferings

Inputs:

levelId:  The id of the membership level you want to get the list of Membership Offerings for.

Returns:

A list of Membership Offering objects


Get a Membership Offering for a Membership level

GET /v2/b2b/membership/levels/{levelId}/membershipofferings/{membershipOfferingId}

Inputs:

levelId:  The id of the membership level you want to get the Membership Offerings for.

membershipOfferingId: The id of the Membership Offering you want returned.

Returns:

The corresponding Membership levels Object.


Add a Membership Offering to a Membership level

POST /v2/b2b/membership/levels/{levelId}/membershipofferings/

Inputs:

levels:  The id of the membership levels you want to add the Membership Offering to.

Body:

The Membership Offering Object you want added.

Returns:

The newly created Membership Offering Object with the id filled in.


Update a Membership Offering on a Membership level

PUT /v2/b2b/membership/levels/{levelId}/membershipofferings

Inputs:

levels:  The id of the membership level you want to update the Membership Offering on.

Body:

The updated Membership Offering Object, must contain the id of the object being updated.

Returns:

The updated Membership level Object.


Remove a Membership Offering from a Membership level

DELETE /v2/b2b/membership/levels/{levelId}/membershipofferings/{membershipOfferingId}

Inputs:

levels:  The id of the membership level you want to remove the Membership Offering from.

membershipOfferingId: The id of the membershipOffering you want to remove.

Returns:

The Membership Offering that was removed.


Objects

Membership level Object

Field
Description
Notes

id

A unique ID for this membership level.

Read Only

name

The name of the level


description

The description of the level.


defaultType

The default membership type for this level.


defaultType.id

ID of the default membership type for this level.


defaultType.program


Read Only

defaultType.category


Read Only

defaultType.subcategory


Read Only

defaultType.level


Read Only

types

A list of types that belong to this level.


types[x].id



types[x].program


Read Only

types[x].category


Read Only

types[x].subcategory


Read Only

types[x].level


Read Only

salesChannelsA list of channels through which the membership can be sold.
rulesRules for this membership level

rules.numberOfCardHolders

Number of allowed card holders for this membership level.


rules.canGift

Setting this flag to true allows the membership level to be gifted.


rules.isStartDateBegOfMonth

flag to set the membership start date to the beginning of the month.


rules.isExpiryDateEndOfMonth

flag to set the membership expiry date to the end of the month.


benefitsAn array of benefits available to all this membership level and all Membership Offerings.New
benefits[x].idThe unique id of the benefit. New
benefits[x].descriptionThe description of the benefit.New
imagesA list of images tied to this level
termsAndConditionsThe terms and conditions associated with this membership level.
membershipOfferingsOptional: Array of available Membership Offerings as MembershipPriceGroup objects.New
membershipLevelGroupMembershipLevelGroupEnum. Can take individualAndFamily, organization.
auxiliaryFlag indicating that the membership level is an auxiliary level.
membershipLevelCollectionList<MembershipLevelCollection> collection
Membership level collections


MembershipOffering Object


Field
Description
idThe id of this membership offering.
nameThe name of the membership offering.
subtitleA short description of the membership offering.
descriptionA detailed description of the membership offering.
priceListsThe prices of the membership offering. Price Lists
priceLists[x].idthe pricelist id
priceLists[x].namethe pricelist name
priceLists[x].descriptionthe pricelist description
priceLists[x].startTimethe start time of the pricelist.
priceLists[x].endTimethe end time of the priceList.
priceLists[x].pricesthe various prices associated with the pricelist.
prices[x].personTypethe price point tied to a particular type in a pricelist.
prices[x].pricePointsame as personType. Used as this is a broader term. Currently serves the same purpose of personType and they will always be the same.
prices[x].priceThe retail price
prices[x].discountedPriceThe discounted price.
durationThe duration of the membership offering.
benefitsAn array of benefits available for this Membership Offering. If there is a corresponding id in the membership level, then this will override the value in the membership level otherwise it will add this benefit to the list in membership level.
benefits[x].idThe unique id of this benefit.
benefits[x].descriptionThe description of the benefit.
salesChannelsA list of channels through which the membership offering can be sold.
rulesRules for this membership offering.

rules.numberOfCardHolders

Number of allowed card holders for this membership level.

rules.canGift

Setting this flag to true allows the membership offering to be gifted.

rules.isStartDateBegOfMonth

flag to set the membership start date to the beginning of the month.

rules.isExpiryDateEndOfMonth

flag to set the membership expiry date to the end of the month.

actionsA list of actions that can be performed on this offering
actions[x].actionCan be NEW_MEMBERSHIPS, CANCELLATION, UPGRADE, DOWNGRADE, RENEW, AFTER_TERM_RENEW, REJOIN
actions[x].ruleIdsA list of rule ids. These are references to the rules that will be used by the rules engine to compute the price, expiration dates etc.
actions[x].salesChannelsA list of sale Channels. Contains information about which sale channel this action is enabled/disabled.
actions[x].confirmationEmailRestrictionsA list of confirmationEmailRestrictions objects. Will contain the saleChannel (saleChannel enum) and a flag that indicates whether
actions[x].printMembershipCardsboolean flag
actions[x].includeDigitalMemberCardsInConfirmationEmailboolean flag
actions[x].confirmationMessageString. Email confirmation message.
typesRE List<MembershipType>
defaultType

RE MembershipType


Sample GET Response:


Sample Membership Level object


Sample Response
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241

  242

  243

  244

  245

  246

  247

  248

  249

  250

  251


{
  "id""5785823d0da1688f48ce681f",
  "name""Individual",
  "description""Free admission to special exhibitions and permanent collections",
  "shortDescription""Free unlimited admission",
  "emailConfirmationMessage""hello",
  "membershipLevelGroup":"individualAndFamily",
  "rules": {
    "numberOfCardHolders": 1,
    "canGift"true,
    "startBeginningOfMonth"true,
    "expireEndOfMonth"true
  },
  "offerings": [
    {
      "id""c831571c7e844b8092639c3583d9af16",
      "name""1 year Individual",
      "subtitle""Our most basic offering",
      "description""Receive membership benefits for one year",
      "duration": 12,
      "benefits": [
        {
          "description""Unlimited free admission"
        },
        {
          "description""Invitations to special members-only events"
        },
        {
          "description""Priority ticketing for special exhibitions"
        },
        {
          "description""Discounts at the Museum Store"
        }
      ],
      "rules": {
        "numberOfCardHolders": 1,
        "canGift"true,
        "startBeginningOfMonth"true,
        "expireEndOfMonth"true
      },
      "salesChannels": [
        {
          "name""Web",
          "channel""online",
          "enabled"true
        },
        {
          "name""Point of Sale",
          "channel""pointOfSale",
          "enabled"true
        },
        {
          "name""Inside Sales Individual",
          "channel""insideSalesIndividual",
          "enabled"true
        },
        {
          "name""Customer Rep",
          "channel""customerRep",
          "enabled"true
        },
        {
          "name""Kiosk",
          "channel""kiosk",
          "enabled"false
        },
        {
          "name""Salesforce",
          "channel""salesforce",
          "enabled"false
        }
      ],
      "priceLists": [
        {
          "id""55f32553e4b00cc91c4d0595",
          "name""The List",
          "description""Testing",
          "prices": [
            {
              "personType": {
                "id""55132b54e4b071f707714061",
                "name""Adult",
                "description""13+ years",
                "active"true,
                "type""Individual",
                "displayOrder": 1
              },
              "price""10.00",
              "primePrice""0.00",
              "salesChannels": [
                {
                  "name""Web",
                  "channel""online",
                  "enabled"true
                },
                {
                  "name""Point of Sale",
                  "channel""pointOfSale",
                  "enabled"true
                },
                {
                  "name""Customer Rep",
                  "channel""customerRep",
                 "enabled"true
                },
                {
                  "name""Inside Sales Individual",
                  "channel""insideSalesIndividual",
                  "enabled"true
                },
                {
                  "name""Kiosk",
                  "channel""kiosk",
                  "enabled"false
                },
                {
                  "name""Salesforce",
                  "channel""salesforce",
                  "enabled"false
                }
              ],
              "displayOrder": 1,
              "discountedPrice""10.00"
            }
          ],
          "startTime""2015-08-03T15:48:48-04:00"
        }
      ],
      "actions": [
        {
          "action""NEW_MEMBERSHIPS",
          "ruleIds": [
            "577324c40da16815d3a6d6ba"
          ],
          "salesChannels": [
            {
              "name""Web",
              "channel""online",
              "enabled"true
            },
            {
              "name""Point of Sale",
              "channel""pointOfSale",
              "enabled"true
            },
            {
              "name""Inside Sales Individual",
              "channel""insideSalesIndividual",
              "enabled"true
            },
            {
              "name""Customer Rep",
              "channel""customerRep",
             "enabled"true
            },
            {
              "name""Kiosk",
              "channel""kiosk",
              "enabled"false
            },
            {
              "name""Salesforce",
              "channel""salesforce",
              "enabled"false
            }
          ],
          "printMembershipCards"false,
          "includeDigitalMemberCardsInConfirmationEmail"false
        },
        {
          "action""DOWNGRADE",
          "ruleIds": [
            "578c84160da168d5f509cd16"
          ],
          "salesChannels": [
            {
              "name""Web",
              "channel""online",
              "enabled"true
            },
            {
              "name""Point of Sale",
              "channel""pointOfSale",
              "enabled"true
            },
            {
              "name""Reseller",
              "channel""reseller",
              "enabled"true
            },
            {
              "name""Inside Sales Individual",
              "channel""insideSalesIndividual",
             "enabled"true
            },
            {
              "name""Kiosk",
              "channel""kiosk",
              "enabled"false
            },
            {
              "name""Salesforce",
              "channel""salesforce",
              "enabled"false
            }
          ],
          "printMembershipCards"false,
          "includeDigitalMemberCardsInConfirmationEmail"false
        }
      ]
    }
  ],
  "images": [],
  "salesChannels": [
    {
      "name""Web",
      "channel""online",
      "enabled"true
    },
    {
      "name""Point of Sale",
      "channel""pointOfSale",
      "enabled"true
    },
    {
      "name""Customer Rep",
      "channel""customerRep",
      "enabled"true
    },
    {
      "name""Inside Sales Individual",
      "channel""insideSalesIndividual",
      "enabled"true
    },
    {
      "name""Kiosk",
      "channel""kiosk",
      "enabled"false
    },
    {
      "name""Salesforce",
      "channel""salesforce",
      "enabled"false
    }
  ],
  "state""draft",

    "membershipLevelGroup": "individualAndFamily",

    "displayOrder": 1,

    "auxiliary": false




** Additional sales channels may be included in API responses
  • systemProcess: Applicable if Auto Renew is enabled. Must be true for memberships to renew.
  • manualEntry: Deprecated
  • Not applicable for Memberships:
    • reseller
    • collaborator
    • ISV
  • For ACME Internal Use only at this time:
    • cardPresent
    • cardNotPresent
    • allSaleChannels