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 | |
salesChannels | A list of channels through which the membership can be sold. | |
rules | Rules 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. | |
benefits | An array of benefits available to all this membership level and all Membership Offerings. | New |
benefits[x].id | The unique id of the benefit. | New |
benefits[x].description | The description of the benefit. | New |
images | A list of images tied to this level | |
termsAndConditions | The terms and conditions associated with this membership level. | |
membershipOfferings | Optional: Array of available Membership Offerings as MembershipPriceGroup objects. | New |
membershipLevelGroup | MembershipLevelGroupEnum. Can take individualAndFamily, organization. | |
auxiliary | Flag indicating that the membership level is an auxiliary level. | |
membershipLevelCollection | List<MembershipLevelCollection> collection Membership level collections |
MembershipOffering Object
Field | Description |
---|---|
id | The id of this membership offering. |
name | The name of the membership offering. |
subtitle | A short description of the membership offering. |
description | A detailed description of the membership offering. |
priceLists | The prices of the membership offering. Price Lists |
priceLists[x].id | the pricelist id |
priceLists[x].name | the pricelist name |
priceLists[x].description | the pricelist description |
priceLists[x].startTime | the start time of the pricelist. |
priceLists[x].endTime | the end time of the priceList. |
priceLists[x].prices | the various prices associated with the pricelist. |
prices[x].personType | the price point tied to a particular type in a pricelist. |
prices[x].pricePoint | same 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].price | The retail price |
prices[x].discountedPrice | The discounted price. |
duration | The duration of the membership offering. |
benefits | An 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].id | The unique id of this benefit. |
benefits[x].description | The description of the benefit. |
salesChannels | A list of channels through which the membership offering can be sold. |
rules | Rules 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. |
actions | A list of actions that can be performed on this offering |
actions[x].action | Can be NEW_MEMBERSHIPS, CANCELLATION, UPGRADE, DOWNGRADE, RENEW, AFTER_TERM_RENEW, REJOIN |
actions[x].ruleIds | A 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].salesChannels | A list of sale Channels. Contains information about which sale channel this action is enabled/disabled. |
actions[x].confirmationEmailRestrictions | A list of confirmationEmailRestrictions objects. Will contain the saleChannel (saleChannel enum) and a flag that indicates whether |
actions[x].printMembershipCards | boolean flag |
actions[x].includeDigitalMemberCardsInConfirmationEmail | boolean flag |
actions[x].confirmationMessage | String. Email confirmation message. |
types | RE List<MembershipType> |
defaultType | RE MembershipType |
Sample GET Response:
Sample Membership Level object
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",
} |
- 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