Download OpenAPI specification:Download
Shoutout loyalty for enterprises
Get the list of loyalty users.
skip | number Number of records to skip |
limit | number Number of records to be returned in the response. Defult is 10 |
Success
ShoutOUT Loyalty Service
[- {
- "loyalty_id": "some text",
- "name": "some text",
- "points": 57.32,
- "tier": "some text",
- "tier_points": 77.17
}, - {
- "loyalty_id": "some text",
- "name": "some text",
- "points": 56.08,
- "tier": "some text",
- "tier_points": 70.6
}
]
Create customer with pre-defined and user defined attributes
loyalty_id | string Loyalty id of the customer |
name | string Name of the customer |
mobile_number | string |
string | |
birth_date | string <date-time> |
gender | string Enum: "male" "female" |
location | string |
Customer created
ShoutOUT Loyalty Service
{- "loyalty_id": "some text",
- "name": "some text",
- "mobile_number": "some text",
- "email": "some text"
}
{- "loyalty_id": "some text",
- "name": "some text",
- "points": 3.8,
- "tier": "some text",
- "tier_points": 30.44
}
Get a single customer profile via the loyalty id
loyaltyId required | string loyalty id |
Success
Customer not found
ShoutOUT Loyalty Service
{- "loyalty_id": "some text",
- "name": "some text",
- "points": 87.68,
- "tier": "some text",
- "tier_points": 34.99
}
ShoutOUT Loyalty Service
[- {
- "_id": "5c7cb58fe5cd6a27acff234",
- "name": "Reward1",
- "description": "description",
- "type": "voucher",
- "isRedeemable": true,
- "points": 2500,
- "status": 0,
- "metadata": {
- "totalCount": 0,
- "usedCount": 0,
- "amountPerRedemption": 0,
- "countPerRedemption": 1,
- "couponResult": {
- "fieldCount": 0,
- "affectedRows": 1,
- "insertId": 0,
- "serverStatus": 2,
- "warningCount": 0,
- "message": "",
- "protocol41": true,
- "changedRows": 0
}
}, - "ownerId": "43",
- "createdBy": "43",
- "createdOn": "2019-02-25T05:09:18.628Z"
}
]
Create a new reward
imageUrls required | Array of strings image urls array |
name required | string reward name |
points required | integer number of redeemable points required to redeem the reward |
type required | string Reward type |
metadata | object (Object) JSON type |
userRedeemable required | boolean whether user allowed to redeem the reward |
status required | integer reward published/ unpublished status |
ShoutOUT Loyalty Service
{- "name": "Reward 2",
- "points": "100",
- "type": "voucher",
- "metadata": {
- "amountPerRedemptionSeasonal": [ ],
- "amountPerRedemption": 0,
- "dailyRedemptionLimit": -1
}, - "userRedeemable": true
}
{- "_id": "reward id",
- "imageUrls": [
- "imageurl1",
- "imageurl2"
], - "name": "reward name",
- "points": 0,
- "type": "voucher",
- "metadata": {
- "amountPerRedemptionSeasonal": [ ],
- "amountPerRedemption": 0,
- "dailyRedemptionLimit": -1
}, - "userRedeemable": true,
- "status": 0
}
Get a reward by reward id
rewardId required | string reward id |
ShoutOUT Loyalty Service
{- "_id": "reward id",
- "imageUrls": [
- "imageurl1",
- "imageurl2"
], - "name": "reward name",
- "points": 0,
- "type": "voucher",
- "metadata": {
- "amountPerRedemptionSeasonal": [ ],
- "amountPerRedemption": 0,
- "dailyRedemptionLimit": -1
}, - "userRedeemable": true,
- "status": 0
}
Update a reward by reward id
rewardId required | string reward id |
_id required | string Reward Id |
imageUrls required | Array of strings list of images |
name required | string Reward name |
points required | integer no of redeemable points required to redeem the reward |
type required | string Reward type |
metadata | object (Object) JSON type |
userRedeemable required | boolean Reward is redeemable or not |
status required | integer <int32> Reward published(1)/Unpublished(0) status |
ShoutOUT Loyalty Service
{- "_id": "reward id",
- "imageUrls": [
- "imageurl1",
- "imageurl2"
], - "name": "reward name",
- "points": 0,
- "type": "voucher",
- "metadata": {
- "amountPerRedemptionSeasonal": [ ],
- "amountPerRedemption": 0,
- "dailyRedemptionLimit": -1
}, - "userRedeemable": true,
- "status": 0
}
{- "_id": "reward id",
- "imageUrls": [
- "imageurl1",
- "imageurl2"
], - "name": "reward name",
- "points": 0,
- "type": "voucher",
- "metadata": {
- "amountPerRedemptionSeasonal": [ ],
- "amountPerRedemption": 0,
- "dailyRedemptionLimit": -1
}, - "userRedeemable": true,
- "status": 0
}
Create, update, delete and get products. Products are the list of products in the Point of Sales (PoS) or e-commerce application.
Get list of products
skip | integer Number of records to skip |
limit | integer Number of records to be returned in the response. Defult is 10 |
products list
ShoutOUT Loyalty Service
[- {
- "id": "product id",
- "name": "product name",
- "price": 0,
- "metadata": {
- "sku": "some text"
}
}
]
Create a new product
id required | string product id |
name required | string product name |
price required | integer product price |
metadata | object (Object) JSON type |
Product create/update response
ShoutOUT Loyalty Service
{- "id": "product id",
- "name": "product name",
- "price": 0,
- "metadata": {
- "sku": "some text"
}
}
{- "id": "product id",
- "name": "product name",
- "price": 0,
- "metadata": {
- "sku": "some text"
}
}
Get the product by product id
productId required | string product id |
Product create/update response
ShoutOUT Loyalty Service
{- "id": "product id",
- "name": "product name",
- "price": 0,
- "metadata": {
- "sku": "some text"
}
}
Update the product by product id
productId required | string product id |
id required | string product id |
name required | string product name |
price required | integer product price |
metadata | object (Object) JSON type |
Product create/update response
ShoutOUT Loyalty Service
{- "id": "product id",
- "name": "product name",
- "price": 0,
- "metadata": {
- "sku": "some text"
}
}
{- "id": "product id",
- "name": "product name",
- "price": 0,
- "metadata": {
- "sku": "some text"
}
}
Loyalty configuration updates. Set points, rewards related and product based points, tiers configurations.
ShoutOUT Loyalty Service
{- "points": {
- "alias": "Points",
- "custom_purchasePoint": 0,
- "merchantBonus": 0,
- "minRedeemBalance": 0,
- "rate": 0.002,
- "referralBonus": 0,
- "registrationBonus": 0
}, - "rewards": {
- "merchantName": "merchant name",
- "portalCoverImageUrl": "poratal cover image",
- "portalImageUrl": "portal image",
- "portalName": "Portal name",
- "portalUrl": "portal url"
}, - "tiers": {
- "config": {
- "calculationWindow": 365,
- "immediateTierDowngrade": true,
- "immediateTierUpdate": true
}, - "data": {
- "tierId": {
- "benefits": [
- "benefit 1"
], - "imageUrl": "tier image",
- "name": "tier name",
- "points": 0
}
}
}
}
Update existing configuration. Can be used to update points, rewards and product based points, tiers based configurations.
points | object (Object) JSON type |
rewards | object (Object) JSON type |
tiers | object (Object) JSON type |
ShoutOUT Loyalty Service
{- "points": {
- "alias": "Points",
- "custom_purchasePoint": 0,
- "merchantBonus": 0,
- "minRedeemBalance": 0,
- "rate": 0.002,
- "referralBonus": 0,
- "registrationBonus": 0
}, - "rewards": {
- "merchantName": "merchant name",
- "portalCoverImageUrl": "poratal cover image",
- "portalImageUrl": "portal image",
- "portalName": "Portal name",
- "portalUrl": "portal url"
}, - "tiers": {
- "config": {
- "calculationWindow": 365,
- "immediateTierDowngrade": true,
- "immediateTierUpdate": true
}, - "data": {
- "tierId": {
- "benefits": [
- "benefit 1"
], - "imageUrl": "tier image",
- "name": "tier name",
- "points": 0
}
}
}
}
{- "points": {
- "alias": "Points",
- "custom_purchasePoint": 0,
- "merchantBonus": 0,
- "minRedeemBalance": 0,
- "rate": 0.002,
- "referralBonus": 0,
- "registrationBonus": 0
}, - "rewards": {
- "merchantName": "merchant name",
- "portalCoverImageUrl": "poratal cover image",
- "portalImageUrl": "portal image",
- "portalName": "Portal name",
- "portalUrl": "portal url"
}, - "tiers": {
- "config": {
- "calculationWindow": 365,
- "immediateTierDowngrade": true,
- "immediateTierUpdate": true
}, - "data": {
- "tierId": {
- "benefits": [
- "benefit 1"
], - "imageUrl": "tier image",
- "name": "tier name",
- "points": 0
}
}
}
}
Create a new configuration.
points | object (Object) JSON type |
rewards | object (Object) JSON type |
tiers | object (Object) JSON type |
ShoutOUT Loyalty Service
{- "points": {
- "alias": "Points",
- "custom_purchasePoint": 0,
- "merchantBonus": 0,
- "minRedeemBalance": 0,
- "rate": 0.002,
- "referralBonus": 0,
- "registrationBonus": 0
}, - "rewards": {
- "merchantName": "merchant name",
- "portalCoverImageUrl": "poratal cover image",
- "portalImageUrl": "portal image",
- "portalName": "Portal name",
- "portalUrl": "portal url"
}, - "tiers": {
- "config": {
- "calculationWindow": 365,
- "immediateTierDowngrade": true,
- "immediateTierUpdate": true
}, - "data": {
- "tierId": {
- "benefits": [
- "benefit 1"
], - "imageUrl": "tier image",
- "name": "tier name",
- "points": 0
}
}
}
}
{- "points": {
- "alias": "Points",
- "custom_purchasePoint": 0,
- "merchantBonus": 0,
- "minRedeemBalance": 0,
- "rate": 0.002,
- "referralBonus": 0,
- "registrationBonus": 0
}, - "rewards": {
- "merchantName": "merchant name",
- "portalCoverImageUrl": "poratal cover image",
- "portalImageUrl": "portal image",
- "portalName": "Portal name",
- "portalUrl": "portal url"
}, - "tiers": {
- "config": {
- "calculationWindow": 365,
- "immediateTierDowngrade": true,
- "immediateTierUpdate": true
}, - "data": {
- "tierId": {
- "benefits": [
- "benefit 1"
], - "imageUrl": "tier image",
- "name": "tier name",
- "points": 0
}
}
}
}
Points is a numeric score that is issued to the customer as a measure of their loyalty with the business. Points collected for bill values, are calculated based on a pre-defined conversion rate. Points collected directly via the points amount is directly accumulated to the total points.
Points can be directly redeemed by specifying the points amount.
This method can be used for point collection
userId required | string |
activityData required | object (PointsCollectActivityData) |
Points collected
ShoutOUT Loyalty Service
{- "userId": "some text",
- "activityData": {
- "bill": 47.79,
- "bill_number": "some text",
- "employee": "some text",
- "location": "some text"
}
}
{- "points": 14.22,
- "loyalty_id": "some text",
- "total_points": 60.27,
- "tier_points": 7.69,
- "user_type": "some text"
}
This method can be used for point redemption
userId required | string |
activityData required | object (PointsRedeemActivityData) |
Success
ShoutOUT Loyalty Service
{- "userId": "some text",
- "activityData": {
- "bill_number": "some text",
- "employee": "some text",
- "location": "some text",
- "points": 57.88
}
}
{- "balance_points": 61.24,
- "redeemed_points": 56.53
}
This method can be used for both points earning and redemption
action required | string Enum: "collect" "redeem" Point collection or redemption |
userId required | string |
activityData required | object (PointsUpdateActivityData) |
ShoutOUT Loyalty Service
{- "userId": "some text",
- "activityData": {
- "bill": 19.96,
- "bill_number": "some text",
- "employee": "some text",
- "location": "some text"
}
}
{- "points": 79.99,
- "balance_points": 90.99,
- "loyalty_id": "some text"
}
Get a list of loyalty transactions
skip | number Number of transactions to skip. Default is 0 |
limit | number Number of transactions to limit. Default is 10 |
ShoutOUT Loyalty Service
[- {
- "id": "some text",
- "points": 75.75,
- "bill": 51.07,
- "transactionName": "COLLECT_POINTS",
- "tierPoints": 72.76,
- "loyaltyId": "some text",
- "customerId": "some text",
- "billNumber": "some text"
}, - {
- "id": "some text",
- "points": 32.66,
- "transactionName": "REDEEM_POINTS",
- "tierPoints": 27.85,
- "loyaltyId": "some text",
- "customerId": "some text"
}
]