Tiers API
Retrieve tier and tier system data, including status levels, point requirements and multipliers.
The Tiers API has been deprecated. While its methods are still implemented, they may be removed in future implementations. Therefore, new integrations should use the Incentives API.
Tiers objects support the retrieval of a variety of tier-related data, including:
- Current tier status level name
- Year and month of membership start date
- Next tier status level name
- Points required to reach next tier status level
- Multiplier applied to points associated with tier status level
API Contingencies and Combinations:
Since the Tiers API retrieves information about tiers and the structure of the tier system, you may want to understand that data with respect to customers, who can participate in tiered programs. Tier data can reside in a customer's profile. Use the Custom Profile API to obtain a customer's tier-related data.
This API provides the following methods:
Retrieve All Tiers
Retrieves data associated with all tiers defined for all tier systems defined for an organization.
Endpoints for Retrieve All Tiers
This method offers the following endpoints:
REST Endpoints
GET /priv/v1/apps/:api_key/tiers
For more information on how to specify an endpoint as part of an actual URL, see Before You Begin. The procedure in this section includes a sample URL for a customer transaction.
Endpoint Parameters for Retrieve All Tiers
The following parameters are available when specifying the endpoint for this method:
| Endpoint Parameter | Description |
|---|---|
| api_key | Supplied by the SessionM Platform, the API key is necessary to authenticate any HTTP request to a SessionM API. This key is associated to an API secret, which ties the authentication to a specific application or web site within the organization. The platform maintains each application or site as a digital property, something that can be configured using the SessionM UI. |
Request Object for Retrieve All Tiers
Not applicable.
Response Object for Retrieve All Tiers
In addition to a status value-pair for the transaction, the response object returned by the method contains a tiers array, which is shown below:
JSON Response
{
"status": "ok",
"tiers": [
{
"id": 2,
"name": "bronze",
"identifier": "bronze",
"next_tier_id": 3,
"required_num_days_in_tier": 10,
"required_points": 500,
"required_application_achievement_ids": "1,2
",
"required_num_achievements": 3,
"max_inactive_days": 10,
"required_application_achievement_id": 1,
"num_days_to_earn_required_achievement": 50,
"required_sponsor_points": 10,
"multiplier": "1.0",
"tier_system_id": 2,
"maintenance_required_points": 100
},
{
"id": 3,
"name": "Silver",
"identifier": "silver",
"next_tier_id": 4,
"required_num_days_in_tier": 2,
"required_points": 1000,
"required_application_achievement_ids": "3,4
",
"required_num_achievements": 4,
"max_inactive_days": 5,
"required_application_achievement_id": 1,
"num_days_to_earn_required_achievement": 20,
"required_sponsor_points": 4,
"multiplier": "10.0",
"tier_system_id": 2,
"maintenance_required_points": 200
}
]
}
The array is detailed in the following table:
Response Attributes for Tiers
| Attribute | Type | Description |
|---|---|---|
| id | integer | ID for current tier. |
| name | string | Name of the tier. |
| identifier | string | Descriptive identifier for tier. |
| next_tier_id | integer | ID for tier that is available above current tier. |
| required_num_days_in_tier | integer | Number of days required to achieve a particular tier status level. |
| required_points | integer | Number of points required to achieve a particular tier status level. |
| required_application_achievement_ids | string | Identifiers for multiple application achievements required to qualify for tier. |
| required_num_achievements | integer | Number of achievements required to qualify for a tier. |
| max_inactive_days | integer | Number of days customer can remain inactive before tier status level is revoked. |
| required_application_achievement_id | integer | Identifier for single application achievement required to qualify for tier. |
| num_days_to_earn_required_achievement | integer | Number of days required to earn achievement. |
| required_sponsor_points | integer | Number of points required for a sponsor to qualify for a tier. |
| multiplier | string | Factor that multiplies points per tier status level. |
| tier_system_id | integer | ID of the tier system associated with the current tier. |
| maintenance_required_points | integer | Minimum points required to maintain current tier level status. |
Statuses and Errors for Retrieve All Tiers
When this method makes a successful call to the platform, it returns a 200-level status code. When the string returned with a 200-level status code is ok, the transaction did process. But, if the string returned is error, you need to discover what type of error occurred.
Returned errors can be either method-specific or generic. No error messages are defined for this method except for the generic statuses and errors returned for any object. For more information, see the associated section in Generic Statuses and Errors.
Retrieve All Tier Systems
Retrieves data associated with all tier systems defined for an organization. Note that this system level metadata - such as settings that reset and activate a tier system - is different than the data returned for a particular tier within a system.
Endpoints for Retrieve All Tier Systems
This method offers the following endpoints:
REST Endpoints
GET /priv/v1/apps/:api_key/tier_systems
For more information on how to specify an endpoint as part of an actual URL, see Before You Begin. The procedure in this section includes a sample URL for a customer transaction.
Endpoint Parameters for Retrieve All Tier Systems
The following parameters are available when specifying the endpoint for this method:
| Endpoint Parameter | Description |
|---|---|
| api_key | Supplied by the SessionM Platform, the API key is necessary to authenticate any HTTP request to a SessionM API. This key is associated to an API secret, which ties the authentication to a specific application or web site within the organization. The platform maintains each application or site as a digital property, something that can be configured using the SessionM UI. |
Request Object for Retrieve All Tier Systems
Not applicable.
Response Object for Retrieve All Tier Systems
In addition to a status value-pair for the transaction, the response object returned by the method contains a tier_systems array, which is shown below:
JSON Response
{
"status": "ok",
"tier_systems": [
{
"id": 2,
"name": "1",
"external_id": "t1",
"active": true,
"reset_at": "2017-05-27T04:00:00Z",
"reset_interval": "yearly",
"last_reset_at": "2017-05-10T20:10:33Z"
},
{
"id": 1,
"name": "test1",
"external_id": "test1",
"active": true,
"reset_at": "2017-05-27T04:00:00Z",
"reset_interval": "montly",
"last_reset_at": "2017-05-10T20:09:53Z"
}
]
}
This array is detailed in the following table:
Response Attributes for Tier Systems
| Attribute | Type | Description |
|---|---|---|
| id | integer | ID for current tier system. |
| name | string | Name of current tier system. |
| external_id | string | External ID associated with current tier system. |
| active | boolean | Determines whether tier system is active (true) or inactive (false). |
| reset_at | string | Datetime at which to reset tier system. |
| reset_interval | string | Interval of time between tier system resets. |
| last_reset_at | string | Datetime at which the tier system was last reset. |
Statuses and Errors for Retrieve All Tier Systems
When this method makes a successful call to the platform, it returns a 200-level status code. When the string returned with a 200-level status code is ok, the transaction did process. But, if the string returned is error, you need to discover what type of error occurred.
Returned errors can be either method-specific or generic. No error messages are defined for this method except for the generic statuses and errors returned for any object. For more information, see the associated section in Generic Statuses and Errors.
Retrieve Information on a Specified Tier
Retrieves all the details related to a specific tier, including its system information.
Endpoints for Retrieve Information on a Specified Tier
This method offers the following endpoints:
REST Endpoints
GET /priv/v1/apps/:api_key/tiers/:tier_ID
For more information on how to specify an endpoint as part of an actual URL, see Before You Begin. The procedure in this section includes a sample URL for a customer transaction.
Endpoint Parameters for Retrieve Information on a Specified Tier
The following parameters are available when specifying the endpoint for this method:
| Endpoint Parameter | Description |
|---|---|
| api_key | Supplied by the SessionM Platform, the API key is necessary to authenticate any HTTP request to a SessionM API. This key is associated to an API secret, which ties the authentication to a specific application or web site within the organization. The platform maintains each application or site as a digital property, something that can be configured using the SessionM UI. |
| tier_ID | Identifier that specifies the tier being retrieved. |
Request Object for Retrieve Information on a Specified Tier
Not applicable.
Response Object for Retrieve Information on a Specified Tier
In addition to a status value-pair for the transaction, the response object returned by the method contains tier and tier_system objects, as shown below:
JSON Response
{
"status": "ok",
"tier": {
"id": 2,
"name": "bronze",
"identifier": "bronze",
"next_tier_id": 3,
"required_num_days_in_tier": 10,
"required_points": 500,
"required_application_achievement_ids": "1,2
",
"required_num_achievements": 3,
"max_inactive_days": 10,
"required_application_achievement_id": 1,
"num_days_to_earn_required_achievement": 50,
"required_sponsor_points": 10,
"multiplier": "1.0",
"tier_system_id": 2,
"maintenance_required_points": 100
},
"tier_system": {
"id": 2,
"name": "1",
"external_id": "t1",
"active": true,
"reset_at": "2017-05-27T04:00:00Z",
"reset_interval": "yearly",
"last_reset_at": "2017-05-10T20:10:33Z"
}
}
Statuses and Errors for Retrieve Information on a Specified Tier
When this method makes a successful call to the platform, it returns a 200-level status code. When the string returned with a 200-level status code is ok, the transaction did process. But, if the string returned is error, you need to discover what type of error occurred.
Returned errors can be either method-specific or generic. The platform returns the following error messages for this method:
| Code | Reason |
|---|---|
| code | Code not found. |
| message | Tier ID does not exist. |
For information on the generic statuses and errors returned for any object, see the associated section in Generic Statuses and Errors.