Shoutout Enterprise Loyalty API (1.0.0)

Download OpenAPI specification:Download

Shoutout for enterprises

Authentication

APIKey

Security Scheme Type HTTP
HTTP Authorization Scheme bearer

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 API

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 (RewardMetadata)

JSON type

userRedeemable
required
boolean

whether user allowed to redeem the reward

status
required
integer

reward published/ unpublished status

Responses

201

Created Reward

post /rewards

ShoutOUT API

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": "some text",
  • "imageUrls":
    [
    ],
  • "name": "some text",
  • "points": 73,
  • "type": "some text",
  • "metadata": { },
  • "userRedeemable": true,
  • "status": 71
}

Get reward

Get a reward by reward id

Authorizations:
path Parameters
rewardId
required
string

reward id

Responses

200

Reward

get /rewards/{rewardId}

ShoutOUT API

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

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "some text",
  • "imageUrls":
    [
    ],
  • "name": "some text",
  • "points": 86,
  • "type": "some text",
  • "metadata": { },
  • "userRedeemable": true,
  • "status": 67
}

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 (RewardMetadata)

JSON type

userRedeemable
required
boolean

Reward is redeemable or not

status
required
integer <int32>

Reward published(1)/Unpublished(0) status

Responses

200

Updated Reward

put /rewards/{rewardId}

ShoutOUT API

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": "some text",
  • "imageUrls":
    [
    ],
  • "name": "some text",
  • "points": 25,
  • "type": "some text",
  • "metadata": { },
  • "userRedeemable": true,
  • "status": 84
}

Delete reward

Delete a reward by reward id

Authorizations:
path Parameters
rewardId
required
string

reward id

Responses

200

empty response

delete /rewards/{rewardId}

ShoutOUT API

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

Config

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

Get configuration

Get the current configuration

Authorizations:

Responses

200

Loyalty configuration

get /config

ShoutOUT API

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 (RewardMetadata)

JSON type

rewards
object (RewardMetadata)

JSON type

tiers
object (RewardMetadata)

JSON type

Responses

200

Updated configuration

put /config

ShoutOUT API

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": { }
}

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 or redeem points

This method can be used for both points earning and redemption

Authorizations:
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

Updated Points

post /points

ShoutOUT API

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": 64.78,
  • "balance_points": 26.95,
  • "loyalty_id": "some text"
}

Transactions

Transactions are the point collections and point redemptions of the customers

Get transactions

Get a list of loyalty transactions

Authorizations:
query Parameters
skip
number

Number of transactions to skip. Default is 0

limit
number

Number of transactions to limit. Default is 10

userId
string

Loyalty id of a user

Responses

200

Transactions

get /transactions

ShoutOUT API

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

Response samples

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

Activities

Activities are the actions performed by the customers. Loyalty platform automatically generates activities for the major loyalty events like registration, points collection and redemption, reward redemption etc

Users

Users are the customers who are enrolled in the loyalty program

Get users

Get loyalty users list

Authorizations:
query Parameters
skip
integer

Number of users to be skipped to get the response

limit
integer

Number of users to be returned in the response

Responses

200

Users list

500

Internal error

get /users

ShoutOUT API

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

Response samples

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

Create User

Enroll user for the loyalty program

Authorizations:
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

User created

400

Bad request

500

Internal error

post /users

ShoutOUT API

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

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "loyalty_id": "510010002345",
  • "name": "John Smith",
  • "mobile_number": "94771234567",
  • "email": "john@test.com",
  • "birth_date": "1988-02-10T09:30Z",
  • "gender": "male",
  • "location": "Colombo"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "loyalty_id": "510010002345",
  • "name": "John Smith",
  • "mobile_number": "94771234567",
  • "email": "john@test.com",
  • "birth_date": "1988-02-10T09:30Z"<