Shoutout Enterprise Loyalty Admin (1.0.0)

Download OpenAPI specification:Download

Shoutout loyalty for enterprises

Authentication

APIKey

Security Scheme Type HTTP
HTTP Authorization Scheme bearer

Users

User is a loyalty user which is the primary entity in the loyalty platform.

Get users list

Get the list of loyalty users.

Authorizations:
query Parameters
skip
number

Number of records to skip

limit
number

Number of records to be returned in the response. Defult is 10

Responses

200

Success

get /users

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/users

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

Create user

Create customer with pre-defined and user defined attributes

Request Body schema: application/json
loyalty_id
string

Loyalty id of the customer

name
string

Name of the customer

mobile_number
string
email
string
birth_date
string <date-time>
gender
string
Enum: "male" "female"
location
string

Responses

201

Customer created

post /users

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/users

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "loyalty_id": "some text",
  • "name": "some text",
  • "mobile_number": "some text",
  • "email": "some text"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "loyalty_id": "some text",
  • "name": "some text",
  • "points": 3.8,
  • "tier": "some text",
  • "tier_points": 30.44
}

Get user

Get a single customer profile via the loyalty id

Authorizations:
path Parameters
loyaltyId
required
string

loyalty id

Responses

200

Success

404

Customer not found

get /users/{loyaltyId}

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/users/{loyaltyId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "loyalty_id": "some text",
  • "name": "some text",
  • "points": 87.68,
  • "tier": "some text",
  • "tier_points": 34.99
}

Rewards

Digital, Voucher based rewards which can be redeemed for redeemable points.

Get rewards

Get list of all rewards

Authorizations:

Responses

200

return rewards as an array

get /rewards

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/rewards

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create reward

Create a new reward

Authorizations:
Request Body schema: application/json
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

Responses

201
post /rewards

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/rewards

Request samples

Content type
application/json
Copy
Expand all Collapse all
{}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "reward id",
  • "imageUrls":
    [
    ],
  • "name": "reward name",
  • "points": 0,
  • "type": "voucher",
  • "metadata":
    {
    },
  • "userRedeemable": true,
  • "status": 0
}

Get reward

Get a reward by reward id

Authorizations:
path Parameters
rewardId
required
string

reward id

Responses

200
get /rewards/{rewardId}

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/rewards/{rewardId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "reward id",
  • "imageUrls":
    [
    ],
  • "name": "reward name",
  • "points": 0,
  • "type": "voucher",
  • "metadata":
    {
    },
  • "userRedeemable": true,
  • "status": 0
}

Update reward

Update a reward by reward id

Authorizations:
path Parameters
rewardId
required
string

reward id

Request Body schema: application/json
_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

Responses

200
put /rewards/{rewardId}

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/rewards/{rewardId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "reward id",
  • "imageUrls":
    [
    ],
  • "name": "reward name",
  • "points": 0,
  • "type": "voucher",
  • "metadata":
    {
    },
  • "userRedeemable": true,
  • "status": 0
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "reward id",
  • "imageUrls":
    [
    ],
  • "name": "reward name",
  • "points": 0,
  • "type": "voucher",
  • "metadata":
    {
    },
  • "userRedeemable": true,
  • "status": 0
}

Delete reward

Delete a reward by reward id

Authorizations:
path Parameters
rewardId
required
string

reward id

Responses

200

empty response

delete /rewards/{rewardId}

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/rewards/{rewardId}

Products

Create, update, delete and get products. Products are the list of products in the Point of Sales (PoS) or e-commerce application.

Get products

Get list of products

Authorizations:
query Parameters
skip
integer

Number of records to skip

limit
integer

Number of records to be returned in the response. Defult is 10

Responses

200

products list

get /products

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/products

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create product

Create a new product

Authorizations:
Request Body schema: application/json
id
required
string

product id

name
required
string

product name

price
required
integer

product price

metadata
object (Object)

JSON type

Responses

201

Product create/update response

post /products

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/products

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "product id",
  • "name": "product name",
  • "price": 0,
  • "metadata":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "product id",
  • "name": "product name",
  • "price": 0,
  • "metadata":
    {
    }
}

Get product

Get the product by product id

Authorizations:
path Parameters
productId
required
string

product id

Responses

200

Product create/update response

get /products/{productId}

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/products/{productId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "product id",
  • "name": "product name",
  • "price": 0,
  • "metadata":
    {
    }
}

Update product

Update the product by product id

Authorizations:
path Parameters
productId
required
string

product id

Request Body schema: application/json
id
required
string

product id

name
required
string

product name

price
required
integer

product price

metadata
object (Object)

JSON type

Responses

200

Product create/update response

put /products/{productId}

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/products/{productId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "product id",
  • "name": "product name",
  • "price": 0,
  • "metadata":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "product id",
  • "name": "product name",
  • "price": 0,
  • "metadata":
    {
    }
}

Delete product

Delete the product by product id

Authorizations:
path Parameters
productId
required
string

product id

Responses

200

empty response

delete /products/{productId}

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/products/{productId}

Config

Loyalty configuration updates. Set points, rewards related and product based points, tiers configurations.

Get configuration

Get the current configuration

Authorizations:

Responses

200
get /config

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/config

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "points":
    {
    },
  • "rewards":
    {
    },
  • "tiers":
    {
    }
}

Update configuration

Update existing configuration. Can be used to update points, rewards and product based points, tiers based configurations.

Authorizations:
Request Body schema: application/json
points
object (Object)

JSON type

rewards
object (Object)

JSON type

tiers
object (Object)

JSON type

Responses

200
put /config

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/config

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "points":
    {
    },
  • "rewards":
    {
    },
  • "tiers":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "points":
    {
    },
  • "rewards":
    {
    },
  • "tiers":
    {
    }
}

Create configuration

Create a new configuration.

Authorizations:
Request Body schema: application/json
points
object (Object)

JSON type

rewards
object (Object)

JSON type

tiers
object (Object)

JSON type

Responses

201
post /config

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/config

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "points":
    {
    },
  • "rewards":
    {
    },
  • "tiers":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "points":
    {
    },
  • "rewards":
    {
    },
  • "tiers":
    {
    }
}

Delete configuration

Delete current configuration.

Authorizations:

Responses

200

Empty response

delete /config

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/config

Points

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.

Collect points

This method can be used for point collection

Authorizations:
Request Body schema: application/json
userId
required
string
activityData
required
object (PointsCollectActivityData)

Responses

200

Points collected

post /pointscollect

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/pointscollect

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "userId": "some text",
  • "activityData":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "points": 14.22,
  • "loyalty_id": "some text",
  • "total_points": 60.27,
  • "tier_points": 7.69,
  • "user_type": "some text"
}

Redeem points

This method can be used for point redemption

Authorizations:
Request Body schema: application/json
userId
required
string
activityData
required
object (PointsRedeemActivityData)

Responses

200

Success

post /pointsredeem

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/pointsredeem

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "userId": "some text",
  • "activityData":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "balance_points": 61.24,
  • "redeemed_points": 56.53
}

Collect or redeem points Deprecated

This method can be used for both points earning and redemption

query Parameters
action
required
string
Enum: "collect" "redeem"

Point collection or redemption

Request Body schema: application/json
userId
required
string
activityData
required
object (PointsUpdateActivityData)

Responses

200
post /points

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/points

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "userId": "some text",
  • "activityData":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "points": 79.99,
  • "balance_points": 90.99,
  • "loyalty_id": "some text"
}

Transactions

Transactions are the point collections and point redemptions of the customers

Get transactions

Get a list of loyalty transactions

query Parameters
skip
number

Number of transactions to skip. Default is 0

limit
number

Number of transactions to limit. Default is 10

Responses

200
get /transactions

ShoutOUT Loyalty Service

https://api.getshoutout.com/loyaltyservice2/transactions

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]