Download OpenAPI specification:Download
fabric Loyalty formerly Member is a Loyalty Management System (LMS) that enables marketers to create multiple loyalty strategies under a loyalty program to cater to various businesses and customer segments.
Member overview:
During onboarding, you are given the necessary credentials (client_id and client_secret) to obtain an access token, which is required to run every call. Membership hierarchy is organized into Programs, Clubs, and Tiers.
Program is the first hierarchy level and is where rewards and benefits are configured for the organization.
Club is the second hierarchy level and is where Rules for the program are configured.
Each Club must have at least one Tier, which is used to define membership and to configure criteria and thresholds (including free vs paid). Additional hierarchy levels can be added to support the needs of your business.
Members are always enrolled into a Default Tier within a club. When members make purchases, they earn Points based on the rules set at the club level and/or based on promotions. When points in a member account reach a predefined Threshold Value, points are converted to Rewards. This conversion may be manual or automatic depending on the program configuration. Members can Redeem their rewards within the reward Expiry Period. Account point balances are updated after each point-impacting activity.
After setting up your loyalty program with fabric, the next crucial step is to enroll members to the program. This endpoint enrolls a loyalty member into a default tier associated with a club.
Note: Only a single member can be enrolled at a time.
Created
Bad request
Unauthorized
{- "firstName": "John",
- "middleName": "Duke",
- "lastName": "Wayne",
- "suffix": "string",
- "gender": "Male",
- "birthDate": "1990-11-16",
- "emailAddress": "user@abc.com",
- "phoneNumber": "923331234567",
- "addressLine1": "10400 NE 4th St",
- "addressLine2": "Suite 505",
- "addressLine3": "",
- "city": "Austin",
- "region": "Texas",
- "postalCode": "98004",
- "country": "United States",
- "nationality": "",
- "maritalStatus": "Single",
- "prefix": "Mr",
- "redemptionChoice": "Auto",
- "redemptionThreshold": 10,
- "entityReference": "BOUNTEE_CLUB",
- "enrollmentTimestamp": "2021-01-25",
- "clubReference": "BLOCK_A",
- "enrollReasonCode": "1234",
- "enrollReasonNote": "As guest member",
- "tierReference": "Silver",
- "customAttributes": { },
- "sourceExternalReference": "example.com",
- "channelExternalReference": "WEB"
}
{- "message": "Created",
- "errors": { },
- "data": {
- "accounts": [
- {
- "accountStatus": "Enabled",
- "clubReference": "abc_club",
- "clubTitle": "ABC Club",
- "customAttributes": {
- "memberSinceDate": "2021-07-26",
- "enrolledAtCenter": "Liberty Store",
- "profileCompleted": false
}, - "enrollmentEntity": "demo",
- "enrollmentStatus": true,
- "entityReference": "entity_level_1",
- "loyaltyNumber": "10000147371",
- "paidStatus": false,
- "profileId": "f90a1da5-c072-48b7-a9ea-eb35c5dd506b",
- "redemptionChoice": "Auto",
- "redemptionThreshold": 10,
- "tierExpiryDate": "2022-09-17T14:26:32.192148+00:00",
- "tierExternalReference": "GLD",
- "tierId": 4185,
- "tierTitle": "ClubTier",
- "updatedAt": "2021-11-01 12:15:53.831401+00:00"
}
], - "addressLine1": "10400 NE 4th St",
- "addressLine2": "Suite 505",
- "addressLine3": "",
- "birthdate": "1990-11-16",
- "channelExternalReference": "Web",
- "city": "Austin",
- "country": "US",
- "emailAddress": "user@abc.com",
- "enrollReasonCode": "1234",
- "enrollReasonNote": "Guest",
- "enrollmentTimestamp": "2021-09-14T11:32:55.508949Z",
- "firstName": "John",
- "fullCountry": "United States",
- "fullRegion": "Texas",
- "gender": "Male",
- "lastName": "Wayne",
- "maritalStatus": "None",
- "middleName": "Duke",
- "nationality": "",
- "phoneNumber": "923331234567",
- "postalCode": "98004",
- "prefix": "Mr",
- "region": "TX",
- "sourceExternalReference": "www.abcdemo.com",
- "suffix": "string"
}, - "status": 201
}
Updates details of an existing member.
Note: Only a single member can be updated at a time.
Member updated
Bad request
Unauthorized
{- "profileId": "f90a1da5-c072-48b7-a9ea-eb35c5dd506b",
- "firstName": "John",
- "middleName": "M",
- "lastName": "Williams",
- "suffix": "string",
- "gender": "Male",
- "birthDate": "1980-11-30",
- "emailAddress": "user@abc.com",
- "phoneNumber": "923331234567",
- "addressLine1": "10400 NE 4th St",
- "addressLine2": "Suite 505",
- "addressLine3": "null",
- "city": "Bellevue",
- "region": "Wisconsin",
- "postalCode": "98004",
- "country": "United States",
- "maritalStatus": "Single",
- "prefix": "Mr",
- "redemptionChoice": "Auto",
- "redemptionThreshold": 10,
- "enrollmentStore": "www.demostore.come",
- "enrollmentDate": "2021-01-15",
- "lastPaidStatusCenter": "1201",
- "lastPaidStatusDate": "2021-01-15",
- "tierReference": "GOLD",
- "tierExpirationDatetime": "2026-01-15T23:59:59.000Z",
- "customAttributes": {
- "joiningDate": "2021-07-26",
- "confirmationDate": "2021-07-26"
}
}
{- "message": "Member updated",
- "errors": {
- "ExceptionString": [ ]
}, - "data": {
- "accounts": [
- {
- "accountStatus": "Enabled",
- "clubReference": "abc_club",
- "clubTitle": "ABC Club",
- "customAttributes": {
- "memberSinceDate": "2021-07-26",
- "enrolledAtCenter": "Liberty Store",
- "profileCompleted": false
}, - "enrollmentEntity": "demo",
- "enrollmentStatus": true,
- "entityReference": "entity_level_1",
- "loyaltyNumber": "10000147371",
- "paidStatus": false,
- "profileId": "f90a1da5-c072-48b7-a9ea-eb35c5dd506b",
- "redemptionChoice": "Auto",
- "redemptionThreshold": 10,
- "tierExpiryDate": "2022-09-17T14:26:32.192148+00:00",
- "tierExternalReference": "GLD",
- "tierId": 4185,
- "tierTitle": "ClubTier",
- "updatedAt": "2021-11-01 12:15:53.831401+00:00"
}
], - "addressLine1": "10400 NE 4th St",
- "addressLine2": "Suite 505",
- "addressLine3": "",
- "birthdate": "1990-11-16",
- "channelExternalReference": "Web",
- "city": "Austin",
- "country": "US",
- "emailAddress": "user@abc.com",
- "enrollReasonCode": "1234",
- "enrollReasonNote": "Guest",
- "enrollmentTimestamp": "2021-09-14T11:32:55.508949Z",
- "firstName": "John",
- "fullCountry": "United States",
- "fullRegion": "Texas",
- "gender": "Male",
- "lastName": "Wayne",
- "maritalStatus": "None",
- "middleName": "Duke",
- "nationality": "",
- "phoneNumber": "923331234567",
- "postalCode": "98004",
- "prefix": "Mr",
- "region": "TX",
- "sourceExternalReference": "www.abcdemo.com",
- "suffix": "string"
}, - "status": 200
}
Gets the details of all members of a parent company. Results can be narrowed down by using the query parameters. By specifying the loyaltyNumber or the profileId as query parameter, you can get details of a single member.
Note:
1) Member must be already part of the loyalty program.
2) Query parameter used to get results must be part of member information.
OK
Bad request
Unauthorized
{- "message": "Result of requested Members",
- "errors": { },
- "data": {
- "accounts": [
- {
- "accountStatus": "Enabled",
- "clubReference": "abc_club",
- "clubTitle": "ABC Club",
- "customAttributes": {
- "memberSinceDate": "2021-07-26",
- "enrolledAtCenter": "Liberty Store",
- "profileCompleted": false
}, - "enrollmentEntity": "demo",
- "enrollmentStatus": true,
- "entityReference": "entity_level_1",
- "loyaltyNumber": "10000147371",
- "paidStatus": false,
- "profileId": "f90a1da5-c072-48b7-a9ea-eb35c5dd506b",
- "redemptionChoice": "Auto",
- "redemptionThreshold": 10,
- "tierExpiryDate": "2022-09-17T14:26:32.192148+00:00",
- "tierExternalReference": "GLD",
- "tierId": 4185,
- "tierTitle": "ClubTier",
- "updatedAt": "2021-11-01 12:15:53.831401+00:00"
}
], - "addressLine1": "10400 NE 4th St",
- "addressLine2": "Suite 505",
- "addressLine3": "",
- "birthdate": "1990-11-16",
- "channelExternalReference": "Web",
- "city": "Austin",
- "country": "US",
- "emailAddress": "user@abc.com",
- "enrollReasonCode": "1234",
- "enrollReasonNote": "Guest",
- "enrollmentTimestamp": "2021-09-14T11:32:55.508949Z",
- "firstName": "John",
- "fullCountry": "United States",
- "fullRegion": "Texas",
- "gender": "Male",
- "lastName": "Wayne",
- "maritalStatus": "None",
- "middleName": "Duke",
- "nationality": "",
- "phoneNumber": "923331234567",
- "postalCode": "98004",
- "prefix": "Mr",
- "region": "TX",
- "sourceExternalReference": "www.abcdemo.com",
- "suffix": "string"
}, - "status": 200
}
Updates the status of the points from Pending to Active. When setToPending flag is true, the duration in which the points will be in Pending status must be specified between 0-24 hours. When it is 0, the endpoint must be run manually (otherwise, the points earned will remain in Pending status). When the duration is between 1-24 hours, the points stay in Pending status only for the defined period. This endpoint can be configured to run automatically to activate the points. Note: Points in the Pending status reflect in the account balance but they can be redeemed only after they reach the defined threshold value and is in Active status.
OK
Bad request
Unauthorized
{- "profileId": "f90a1da5-c072-48b7-a9ea-eb35c5dd506b",
- "startDate": "2020-02-08 00:00:00",
- "endDate": "2020-02-08 00:00:00"
}
{- "message": "Member points activated",
- "errors": { },
- "data": null,
- "status": 200
}
Allows points adjustment by adding or deducting points from the member’s loyalty account.
Note:
1) Daily cap for adjustment is configurable as per the role requirements.
2) Point adjustments are recorded as a transaction, where a pre-defined reason code must be selected.
OK
Bad request
Unauthorized
{- "profileId": "f90a1da5-c072-48b7-a9ea-eb35c5dd506b",
- "pointType": "Base",
- "billingEntity": "Company_Club",
- "points": 100,
- "reasonCode": "7502",
- "setToPending": false
}
{- "message": "Member points adjusted",
- "errors": { },
- "data": {
- "Message": "100.0 points added",
- "futureDate": false,
- "ExceptionString": "",
- "transactionCode": "78660e74-02e3-11e8-b443-00163e911bd2"
}, - "status": 200
}
Earns and accumulates points based on core (earn and burn) rules, promotional rules, etc. set at the club level. It is possible, for instance, to set rules that a member will earn 10 points for every $100 spent in a purchase transaction, and 10 points are equivalent to $2. Rules are customizable based on the requirement.
Points are categorized as:
1) Base points: Earned in any purchase transaction based on the core rule.
2) Bonus points: Earned as a bonus for example on a large purchase.
3) Promotional Points: Earned as part of promotional events.
4) Restricted Points: Points to be used only on specified stores.
Earn
endpoint uses the following formula for validating Payload:
1) Amount Paid = Gross Amount - Discounts
2) Net Amount = Gross Amount - Taxes - Discounts
3) At the Transaction Item level: Item Price - (Discount/Quantity) = Net Amount / Quantity
4) Total of all Transaction Items' Gross Amount = Total Gross Amount
OK
Bad request
Unauthorized
{- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "entityReference": "Company LIBERTY CENTER",
- "transactionTypeExternalReference": "Supplements",
- "activityTimestamp": "2020-02-08 09:30:26",
- "transactionExternalReference": "123321abc",
- "transactionGrossAmount": 200,
- "checkForDuplicateTransaction": 1,
- "fetchUpdatedMemberPointTotals": 0,
- "totalAmountPaid": 180,
- "discountValue": 20,
- "totalTax": 20,
- "netAmount": 160,
- "issueAuditUser": "Joe",
- "cancelAuditUser": "John",
- "redemptionCode": [
- "67460e74-02e3-11e8-b443-00163e990bdb"
], - "reasonCode": "9393",
- "reasonDescription": "earning item",
- "discounts": [
- {
- "type": "promotion",
- "description": "Black Friday discount",
- "value": 20,
- "id": 23
}
], - "transactionItems": [
- {
- "grossAmount": 200,
- "totalAmountPaid": 200,
- "taxAmount": 20,
- "netAmount": 180,
- "itemName": "demo item",
- "itemPrice": 90,
- "itemQuantity": 2,
- "SKU": "1123455",
- "UOM": "unit",
- "lineNumber": 0,
- "discounts": [
- {
- "type": "promotion",
- "description": "Black Friday discount",
- "id": 2345,
- "value": 0
}
], - "couponCodes": [
- "H4B-1000"
]
}
], - "setToPending": false
}
{- "status": 201,
- "message": "earned",
- "errors": { },
- "data": {
- "transactionCode": "78660e74-02e3-11e8-b443-00163e911bd2",
- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "transactionNumber": "LOYALTY-54321",
- "transactionDateTime": "2020-03-20T14:28:23.382748",
- "activityTimestamp": "2020-03-20T14:28:23.382748",
- "totalAmountPaid": 180,
- "totalTax": 20,
- "transactionNetAmount": 160,
- "points": 16,
- "basePoints": 16,
- "bonusPoints": 0,
- "promotionalPoints": 0,
- "currentPointsBalance": 26,
- "reasonCode": "9393",
- "reasonDescription": "earning item",
- "discounts": [
- {
- "type": "promotion",
- "description": "Black Friday discount",
- "id": 2345,
- "value": 20
}
], - "discountValue": 20,
- "transactionItems": [
- {
- "grossAmount": 200,
- "totalAmountPaid": 200,
- "taxAmount": 20,
- "netAmount": 180,
- "itemName": "demo item",
- "itemPrice": 90,
- "itemQuantity": 2,
- "SKU": "1123455",
- "UOM": "unit",
- "lineNumber": 0,
- "discounts": [
- {
- "type": "promotion",
- "description": "Black Friday discount",
- "id": 2345,
- "value": 0
}
], - "couponCodes": [
- "H4B-1000"
]
}
], - "rewards": [
- {
- "reward_id": 111,
- "core_rule_id": 2,
- "reward_portion": 10
}
], - "issueAuditUser": "Joe",
- "cancelAuditUser": "John",
- "deviceId": "D10626",
- "transactionType": "EARN",
- "transactionActivityType": "BASE_POINTS_EARNED",
- "transactionTypeExternalReference": "PURCHASE",
- "transactionExternalReference": "SHOP-7654321",
- "transactionEntityReference": "Liberty_center_store"
}
}
Gets transactions based on the limit (default: 20) and offset (default: 0) values. This endpoint serves to populate the transaction listing page and as a search function based on the query parameters such as date range, transaction ID, etc.
OK
Bad request
Unauthorized
{- "status": 200,
- "message": "",
- "errors": { },
- "data": [
- {
- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "transactionExternalReference": "LOYALTY-8675309",
- "transactionEntityReference": "Liberty_center_store",
- "transactionCode": "62660e74-02e3-11e8-b443-00163e990abc",
- "transactionTypeExternalReference": "PURCHASE",
- "transactionType": "EARN",
- "transactionActivityType": "BASE_POINTS_EARNED",
- "transactionDateTime": "2020-03-20T14:28:23.382748",
- "totalAmountPaid": 180,
- "totalTax": 20,
- "discounts": [
- {
- "id": 101,
- "value": 20,
- "type": "tier"
}
], - "discountValue": 20,
- "transactionNetAmount": 160,
- "points": 160,
- "currentPointsBalance": 360,
- "basePoints": 260,
- "bonusPoints": 100,
- "promotionalPoints": 0,
- "transactionItems": [
- {
- "grossAmount": 200,
- "totalAmountPaid": 200,
- "taxAmount": 20,
- "netAmount": 180,
- "itemName": "demo item",
- "itemPrice": 90,
- "itemQuantity": 2,
- "SKU": "1123455",
- "UOM": "unit",
- "lineNumber": 0,
- "discounts": [
- {
- "type": "promotion",
- "description": "Black Friday discount",
- "id": 2345,
- "value": 0
}
], - "couponCodes": [
- "H4B-1000"
]
}
], - "activityTimestamp": "2020-02-08 09:30:26",
- "transactionNumber": "LOYALTY-8675309",
- "reasonCode": "9393",
- "reasonDescription": "earning item",
- "deviceId": "D10626",
- "issueAuditUser": "Joe",
- "cancelAuditUser": "John",
- "rewards": [
- {
- "reward_id": 111,
- "core_rule_id": 2,
- "reward_portion": 10
}
]
}
]
}
When a member cancels a purchase transaction or returns an order, this endpoint cancels all the points earned in that transaction.
OK
Bad request
Unauthorized
{- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "entityReference": "LIBERTY_STORE",
- "reverseTransactionExternalRef": "LOYALTY-12345",
- "transactionTypeExternalReference": "RETURN",
- "activityTimestamp": "2020-02-08 09:30:26",
- "transactionExternalReference": "LOYALTY-8675",
- "checkForDuplicateTransaction": 1,
- "fetchUpdatedMemberPointTotals": 1,
- "transactionGrossAmount": -100,
- "discountValue": -20,
- "totalAmountPaid": -80,
- "totalTax": -10,
- "netAmount": -70,
- "discounts": [
- {
- "type": "promotion",
- "description": "Black Friday discount",
- "id": 2345,
- "value": 20
}
], - "issueAuditUser": "Joe",
- "cancelAuditUser": "Mia",
- "redemptionCode": [ ],
- "setToPending": true,
- "reasonCode": "9393",
- "reasonDescription": "returning item",
- "transactionItems": [
- {
- "grossAmount": 100,
- "taxAmount": 10,
- "discounts": [ ],
- "totalAmountPaid": 100,
- "netAmount": 90,
- "categories": [
- "Supplements"
], - "itemName": "demo item",
- "itemPrice": 45,
- "itemQuantity": 2,
- "SKU": "12345",
- "lineNumber": 1,
- "UOM": "unit",
- "couponCodes": [ ]
}
], - "isCompanyUser": false
}
{- "status": 201,
- "message": "earn reversed",
- "errors": { },
- "data": {
- "transactionCode": "62660e74-02e3-11e8-b443-00163e990abc",
- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "transactionNumber": "LOYALTY-8675",
- "transactionDateTime": "2020-03-20T14:28:23.382748",
- "activityTimestamp": "2020-03-20T14:28:23.382748",
- "totalAmountPaid": -80,
- "totalTax": -10,
- "transactionNetAmount": -70,
- "points": -70,
- "basePoints": 70,
- "bonusPoints": 0,
- "promotionalPoints": 0,
- "currentPointsBalance": 500,
- "reasonCode": "9393",
- "reasonDescription": "returning item",
- "discounts": [
- {
- "type": "promotion",
- "description": "Black Friday discount",
- "id": 2345,
- "value": 20
}
], - "discountValue": 20,
- "transactionItems": [
- {
- "grossAmount": 100,
- "taxAmount": 10,
- "discounts": [ ],
- "netAmount": 90,
- "categories": [
- "Supplements"
], - "itemName": "demo item",
- "itemPrice": 45,
- "itemQuantity": 2,
- "SKU": "12345",
- "lineNumber": 1,
- "UOM": "unit",
- "couponCodes": [ ]
}
], - "rewards": [ ],
- "issueAuditUser": "Joe",
- "cancelAuditUser": "Mia",
- "deviceId": "D10626",
- "transactionType": "EARN_REVERSE",
- "transactionActivityType": "TRANS_CANCEL",
- "transactionTypeExternalReference": "RETURN",
- "transactionExternalReference": "LOYALTY-8675",
- "transactionEntityReference": "LIBERTY_STORE"
}
}
Issues a reward certificate based on the member's request or when the points in the member's account reach a configurable threshold.
Note - A single reward is issued at a time.
When the redemptionChoice is set to 'auto', the points are automatically converted to rewards. When the redemptionChoice is 'bank,' the points are converted based on the member's request.
Response of this endpoint includes a redemptionCode, which is required to redeem the reward in the future.
OK
Bad request
Unauthorized
{- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "locationExternalReference": "Company_Club",
- "amountToRedeem": 50,
- "issueAuditUser": "Joe",
- "tierDiscountValue": 0
}
{- "status": 201,
- "message": "Created",
- "errors": { },
- "data": {
- "rewardPointCost": 0.5,
- "rewardValue": 100,
- "rewardName": "Demo Reward",
- "redemptionCode": "c48e8827-2a72-4a0f-a4d2-2347b11b4f34"
}
}
Confirms the redemption and marks the reward as used. This is done based on the redemptionCode that is generated from the response of the 'Issue Variable Rewards' - POST /api/v1/redeem/reward/issue endpoint.
Note:
1) Rewards have to be issued before they can be redeemed.
2) Rewards must be within their expiration date.
OK
Bad request
Unauthorized
{- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "redemptionCode": "04c229d7-03cb-421f-9d77-1c0ff1fc2641",
- "locationExternalReference": "Company_Club",
- "redeemAuditUser": "Joe"
}
{- "status": 200,
- "message": "Redeem Member Reward succeed.",
- "errors": { },
- "data": null
}
Gets status-wise (Active, Cancelled, Redeemed, Reversed, etc.) details of all the rewards of a member.
Note: When the profileId query-param is not specified, this endpoint gets all rewards for all members of a company.
OK
Bad request
Unauthorized
{- "status": 200,
- "message": "",
- "errors": { },
- "data": [
- {
- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "redemptionCode": "04c229d7-03cb-421f-9d77-1c0ff1fc2641",
- "pointsToRedeem": 100,
- "pointCost": 0.5,
- "status": "Redeemed",
- "amountToRedeem": 50,
- "rewardTypeExternalReference": "TYPE_A REWARD",
- "redeemLocationExternalReference": "STORE_A",
- "redeemedTimestamp": "2020-03-20T01:30:08.180856",
- "merchantId": 1234,
- "merchantName": "adam horowitz",
- "issueAuditUser": "john",
- "redeemAuditUser": "john",
- "cancelAuditUser": "",
- "eligibleRevenue": 0,
- "expirationDate": "2020-03-31T23:59:59.000000",
- "activityDate": "2020-03-20T01:30:08.180856"
}
]
}
Converts rewards back to points when the order is cancelled or returned.
Note: Once a reward has been redeemed, it cannot be cancelled. To cancel the rewards (convert back to points) before redemption, use the Cancel Reward
endpoint - POST /api/v1/redeem/cancel.
OK
Bad request
Unauthorized
{- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "redemptionCode": "04c229d7-03cb-421f-9d77-1c0ff1fc2641"
}
{- "status": 200,
- "message": "Reward reversed successfully.",
- "errors": { },
- "data": null
}
Loyalty points that are converted into reward certificates have an expiration date. Members can cancel their rewards if they are unable to use them before expiration or do not want to use them. The endpoint converts the rewards back into points, for future use.
Note: Once the reward is redeemed, it cannot be cancelled. If the member cancels or returns an order, the rewards are reversed back to points using the Reverse Redeemed Reward
endpoint - POST v1/redeem/reverse.
OK
Bad request
Unauthorized
{- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "redemptionCode": "04c229d7-03cb-421f-9d77-1c0ff1fc2641",
- "cancelAuditUser": "Joe"
}
{- "status": 200,
- "message": "Reward cancelled successfully.",
- "errors": { },
- "data": null
}
Gets applicable discounts for a transaction. The discounts are categorized as
1) Transaction-level discounts: Applied on the whole transaction. For example, if the transaction is for $100, the discount is applied by percentage or amount to the whole transaction amount. This category includes tier-specific discounts.
2) Item-level discounts: Applied on specific SKU so that discount percentage or amount is applied to specific product (regardless of the quantity).
3) Miscellaneous discounts - This category captures all other types of discounts.
Ok
Bad request
Unauthorized
{- "profileId": "67460e74-02e3-11e8-b443-00163e990bdb",
- "entityReference": "Company_Club",
- "transactionTimestamp": "2020-02-08 09:30:26",
- "taxAmount": 1,
- "grossAmount": 6,
- "netAmount": 5,
- "transactionItems": [
- {
- "grossAmount": 6,
- "taxAmount": 1,
- "netAmount": 5,
- "categories": [
- "Proteins",
- "Adults"
], - "itemName": "Whey",
- "itemPrice": 5,
- "itemQuantity": 1,
- "SKU": "123456"
}
]
}
{- "status": 200,
- "message": "Created",
- "errors": { },
- "data": [
- {
- "grossAmount": 6,
- "taxAmount": 1,
- "netAmount": 4,
- "discounts": [
- {
- "type": "tier",
- "description": "20.0% discount from tier rule.",
- "value": 1,
- "id": 23,
- "ruleName": "tier-discount-rule",
- "discountPercentage": 20,
- "discountAmount": 1
}
], - "transactionItems": [
- {
- "SKU": "123456",
- "discounts": [ ]
}
], - "miscellaneous": [ ]
}
]
}
Gets all active and pending (excluding expired) member points along with the points breakdown.
OK
Bad request
Unauthorized
{- "status": 200,
- "message": "",
- "errors": { },
- "data": [
- {
- "totalPoints": 300,
- "pointsByType": [
- {
- "pointType": "Base",
- "points": 300,
- "subType": null
}
], - "pointsBalance": {
- "memberPointsEarned": 600,
- "memberPointsDeducted": 100,
- "memberPointsUsed": 100,
- "memberPointsExpired": 100,
- "memberPointsAvailable": 300,
- "memberPointsLocked": 100
}, - "breakdown": {
- "totalPoints": 300,
- "totalCurrencyValue": 150,
- "unrestrictedPoints": {
- "totalPoints": 200,
- "totalCurrencyValue": 100,
- "unrestrictedPointsItems": [
- {
- "points": 200,
- "pointType": "Base"
}
]
}, - "restrictedPoints": {
- "totalPoints": 100,
- "totalCurrencyValue": 50,
- "restrictedPointsItems": [
- {
- "points": 100,
- "pointType": "Base",
- "restrictedLocation": "4321"
}
]
}
}
}
]
}
Gets the redeemable points of a member on a given entity.
When points in the member account reach a defined threshold value, the points are converted to rewards, which can be redeemed in the future purchases.
Note: The points to rewards conversion may be manual or automatic depending on how it is configured.
OK
Bad request
Unauthorized
{- "status": 200,
- "message": "Success",
- "errors": { },
- "data": [
- {
- "totalPoints": 1000
}
]
}
Gets reason codes and reason descriptions based on the actions defined for your business. This serves as a log for tracking and analysis. As an example, an action such as 'points transfer' has a specific code for it and a description such as 'transferring to relative' associated with it. In addition to the predefined actions, custom actions can be added.
OK
Bad request
Unauthorized
{- "status": 200,
- "message": "",
- "errors": "",
- "data": [
- {
- "id": 1001,
- "code": "5726",
- "reason": "Unmerge Accounts with consent of both members",
- "action": "Unmerge Accounts",
- "companyId": 15,
- "codeDescription": ""
}
]
}
Gets all the point types configured for your business. The point types are categorized as:
1) Base points: Earned in any purchase transaction based on the core rule.
2) Bonus points: Earned as a bonus for example on a large purchase.
3) Promotional Points: Earned as part of promotional events.
4) Restricted Points: Points to be used only on specific entity/stores.
Note: You may choose only the point types that apply to your business.
OK
Bad request
Unauthorized
{- "status": 200,
- "message": "Success",
- "errors": { },
- "data": [
- {
- "pointTypeChoices": [
- {
- "pointTypeId": 1,
- "pointTypeName": "BASE"
}
]
}
]
}
Gets all points that will expire within a year starting at 30 days, 60 days, and up to one year.
OK
Bad request
Unauthorized
{- "message": "Success",
- "data": [
- {
- "expiryDuration": 30,
- "unRestrictedTotalPoints": 100,
- "restrictedTotalPoints": 12,
- "totalPoints": 112,
- "pointValue": 112,
- "restrictedPoints": [
- {
- "points": 12,
- "restrictedLocation": "demo_store"
}
], - "expiryDate": "2020-03-20T01:30:08.180856"
}
], - "status": 200,
- "errors": { }
}
Gets expired points of a member for a date range, in UTC format. When date range is not specified, all the expired points are retrieved
OK
Bad request
Unauthorized
{- "status": 200,
- "message": "Success",
- "errors": { },
- "data": [
- {
- "memberExpirations": [
- {
- "expirationTimestamp": "2020-03-20T23:59:59.000000",
- "pointsExpired": 100
}
]
}
]
}