Api Documentation
Rewards | Bluetrino (1.6.2)
Download OpenAPI specification:Download
Welcome to Rewards API Documentation
This documentation provides comprehensive guidance on the Rewards API.
Get Api Key summary
Fetches a summary of information that is linked to the API key, including the org it is linked to as well as the obfuscated API Key
Authorizations:
Responses
Response samples
- 200
- 401
- 403
{- "id": "string",
- "org": "string",
- "apiKey": "string",
- "access": { },
- "campaignId": "string",
- "currency": "string",
- "logo": "string",
- "favicon": "string"
}
Search Products
Search Products, returns a paginated subset of products based on the search criteria
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
search | string Search Terms |
categoryId | string Category ID |
bookingRequired | boolean Booking Required |
category | string Category Name |
isAvailable | boolean Is Available |
longitude | number Example: longitude=28.0473 Geofence Longitude, use in conjuction with latitude |
latitude | number Example: latitude=-33.9897179 Geofence Latitude, use in conjuction with longitude |
radius | number Default: 10 Radius in KMs, use in conjuction with longitude and latitude |
tierId | string Tier ID |
tierPrecedence | number Tier Precedence Lower Numbers indicate higher priority, eg: Platinum > Gold this, Platinum = 5 and Gold = 4 |
tierPrecedenceOp | string (Operators) Enum: "gt" "lt" "gte" "lte" "eq" Tier Precedence Operator, available operators are gt, lt, gte, lte, eq Used in conjuction with tierPrecedence, eg: tierPrecedence=1&tierPrecedenceOp=gt will return all tiers with precedence greater than 1 |
sort | string Default: 10 Example: sort=name:asc Sort Parameter, fields available are name, category, price |
Responses
Response samples
- 200
- 401
- 403
{- "data": [
- {
- "id": "string",
- "name": "string",
- "shortDescription": "string",
- "description": "string",
- "bookInAdvance": true,
- "tags": [
- "string"
], - "category": "string",
- "primaryImage": "string",
- "secondaryImages": [
- "string"
], - "variants": [
- {
- "id": "string",
- "name": "string",
- "category": "string",
- "description": "string",
- "offerDetails": "string",
- "termsAndConditions": "string",
- "available": true,
- "price": 0,
- "tier": {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
}
], - "currency": "string",
- "website": "string",
- "weekdays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "branches": [
- {
- "id": "string",
- "name": "string",
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "addressLine3": "string",
- "suburb": "string",
- "city": "string",
- "province": "string",
- "country": "string",
- "postalCode": "string",
- "longitude": 0,
- "latitude": 0
}, - "contactDetails": {
- "contactName": "string",
- "email": "string",
- "phoneNumber": "string"
}, - "distance": 0
}
]
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
Find Products based on a distance Vector
Find Product Recommendations based on a distance vector, Request Permissions from Kamiokash
Authorizations:
Request Body schema: application/jsonrequired
limit required | number Limit |
vector required | string Vector Array |
Responses
Request samples
- Payload
{- "limit": 0,
- "vector": "string"
}
Response samples
- 200
- 401
- 403
[- {
- "id": "string",
- "name": "string",
- "shortDescription": "string",
- "description": "string",
- "bookInAdvance": true,
- "tags": [
- "string"
], - "category": "string",
- "primaryImage": "string",
- "secondaryImages": [
- "string"
], - "variants": [
- {
- "id": "string",
- "name": "string",
- "category": "string",
- "description": "string",
- "offerDetails": "string",
- "termsAndConditions": "string",
- "available": true,
- "price": 0,
- "tier": {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
}
], - "currency": "string",
- "website": "string",
- "weekdays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "branches": [
- {
- "id": "string",
- "name": "string",
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "addressLine3": "string",
- "suburb": "string",
- "city": "string",
- "province": "string",
- "country": "string",
- "postalCode": "string",
- "longitude": 0,
- "latitude": 0
}, - "contactDetails": {
- "contactName": "string",
- "email": "string",
- "phoneNumber": "string"
}, - "distance": 0
}
], - "distance": 0
}
]
Find Product
Find Product by ID
Authorizations:
path Parameters
id required | string |
Responses
Response samples
- 200
- 401
- 403
{- "id": "string",
- "name": "string",
- "shortDescription": "string",
- "description": "string",
- "bookInAdvance": true,
- "tags": [
- "string"
], - "category": "string",
- "primaryImage": "string",
- "secondaryImages": [
- "string"
], - "variants": [
- {
- "id": "string",
- "name": "string",
- "category": "string",
- "description": "string",
- "offerDetails": "string",
- "termsAndConditions": "string",
- "available": true,
- "price": 0,
- "tier": {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
}
], - "currency": "string",
- "website": "string",
- "weekdays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "branches": [
- {
- "id": "string",
- "name": "string",
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "addressLine3": "string",
- "suburb": "string",
- "city": "string",
- "province": "string",
- "country": "string",
- "postalCode": "string",
- "longitude": 0,
- "latitude": 0
}, - "contactDetails": {
- "contactName": "string",
- "email": "string",
- "phoneNumber": "string"
}, - "distance": 0
}
]
}
Find Product Recommendations
Find Product Recommendations based on another product
Authorizations:
path Parameters
id required | string |
query Parameters
limit required | number |
Responses
Response samples
- 200
- 401
- 403
[- {
- "id": "string",
- "name": "string",
- "shortDescription": "string",
- "description": "string",
- "bookInAdvance": true,
- "tags": [
- "string"
], - "category": "string",
- "primaryImage": "string",
- "secondaryImages": [
- "string"
], - "variants": [
- {
- "id": "string",
- "name": "string",
- "category": "string",
- "description": "string",
- "offerDetails": "string",
- "termsAndConditions": "string",
- "available": true,
- "price": 0,
- "tier": {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
}
], - "currency": "string",
- "website": "string",
- "weekdays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "branches": [
- {
- "id": "string",
- "name": "string",
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "addressLine3": "string",
- "suburb": "string",
- "city": "string",
- "province": "string",
- "country": "string",
- "postalCode": "string",
- "longitude": 0,
- "latitude": 0
}, - "contactDetails": {
- "contactName": "string",
- "email": "string",
- "phoneNumber": "string"
}, - "distance": 0
}
]
}
]
Find Product Suggestions Deprecated
Find products based on search queries, returns a list of suggestions based on the search criteria
Authorizations:
query Parameters
q required | string |
Responses
Response samples
- 200
- 401
- 403
{- "tags": [
- {
- "id": "string",
- "name": "string"
}
], - "products": [
- {
- "id": "string",
- "name": "string",
- "shortDescription": "string",
- "description": "string",
- "bookInAdvance": true,
- "tags": [
- "string"
], - "category": "string",
- "primaryImage": "string",
- "secondaryImages": [
- "string"
], - "variants": [
- {
- "id": "string",
- "name": "string",
- "category": "string",
- "description": "string",
- "offerDetails": "string",
- "termsAndConditions": "string",
- "available": true,
- "price": 0,
- "tier": {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
}
], - "currency": "string",
- "website": "string",
- "weekdays": {
- "mon": true,
- "tue": true,
- "wed": true,
- "thu": true,
- "fri": true,
- "sat": true,
- "sun": true
}, - "branches": [
- {
- "id": "string",
- "name": "string",
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "addressLine3": "string",
- "suburb": "string",
- "city": "string",
- "province": "string",
- "country": "string",
- "postalCode": "string",
- "longitude": 0,
- "latitude": 0
}, - "contactDetails": {
- "contactName": "string",
- "email": "string",
- "phoneNumber": "string"
}, - "distance": 0
}
]
}
], - "categories": [
- {
- "id": "string",
- "name": "string"
}
]
}
Find All Tiers
Find All Tiers
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
name | string Tier Name |
precedence | integer The tier precedence |
Responses
Response samples
- 200
- 401
- 403
{- "data": [
- {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
Find Categories
Find categories based on search queries, returns a list of categories based on the search criteria
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
categoryId | string Category ID |
Responses
Response samples
- 200
- 401
- 403
{- "data": [
- {
- "id": "string",
- "name": "string"
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
Search Orders
Search Orders, returns a paginated subset of orders based on the search criteria
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
ownerId | string Member Exteral Id |
includeLines | boolean Include Lines |
Responses
Response samples
- 200
- 401
- 403
{- "data": [
- {
- "id": "string",
- "date": "2019-08-24T14:15:22Z",
- "owner": "string",
- "total": 0,
- "lines": [
- {
- "id": "string",
- "productId": "string",
- "orderId": "string",
- "variantId": "string",
- "requiresBooking": true,
- "cost": 0,
- "qty": 0,
- "total": 0,
- "codes": [
- {
- "code": "string",
- "redeemed": true
}
], - "booking": {
- "id": "string",
- "dateRequested": "2019-08-24T14:15:22Z",
- "status": "REQUESTED",
- "meta": { },
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}, - "meta": { }
}
]
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
Create a new Order
Create a new Order
Authorizations:
Request Body schema: application/jsonrequired
reference | string External ID or your reference to this order, use this to identify the order in your system, if not provided a random one will be generated |
owner required | string |
meta | object Metadata to be stored with the order |
required | Array of objects (CreateOrderLineDto) |
Responses
Request samples
- Payload
{- "reference": "string",
- "owner": "string",
- "meta": { },
- "lines": [
- {
- "productId": "string",
- "variantId": "string",
- "reference": "string",
- "quantity": 0,
- "booking": {
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}, - "meta": { }
}
]
}
Response samples
- 200
- 401
- 403
{- "id": "string",
- "date": "2019-08-24T14:15:22Z",
- "owner": "string",
- "total": 0,
- "lines": [
- {
- "id": "string",
- "productId": "string",
- "orderId": "string",
- "variantId": "string",
- "requiresBooking": true,
- "cost": 0,
- "qty": 0,
- "total": 0,
- "codes": [
- {
- "code": "string",
- "redeemed": true
}
], - "booking": {
- "id": "string",
- "dateRequested": "2019-08-24T14:15:22Z",
- "status": "REQUESTED",
- "meta": { },
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}, - "meta": { }
}
]
}
Get order by id
Find Order by ID
Authorizations:
path Parameters
id required | string The ID of the order |
query Parameters
ownerId | string The owner of the order |
Responses
Response samples
- 200
- 401
- 403
{- "id": "string",
- "date": "2019-08-24T14:15:22Z",
- "owner": "string",
- "total": 0,
- "lines": [
- {
- "id": "string",
- "productId": "string",
- "orderId": "string",
- "variantId": "string",
- "requiresBooking": true,
- "cost": 0,
- "qty": 0,
- "total": 0,
- "codes": [
- {
- "code": "string",
- "redeemed": true
}
], - "booking": {
- "id": "string",
- "dateRequested": "2019-08-24T14:15:22Z",
- "status": "REQUESTED",
- "meta": { },
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}, - "meta": { }
}
]
}
Decrypts the line
Decrypts the line
Authorizations:
path Parameters
id required | string |
lineId required | string |
query Parameters
decrypt required | boolean |
Responses
Response samples
- 200
- 401
- 403
{- "id": "string",
- "productId": "string",
- "orderId": "string",
- "variantId": "string",
- "requiresBooking": true,
- "cost": 0,
- "qty": 0,
- "total": 0,
- "codes": [
- {
- "code": "string",
- "redeemed": true
}
], - "booking": {
- "id": "string",
- "dateRequested": "2019-08-24T14:15:22Z",
- "status": "REQUESTED",
- "meta": { },
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}, - "meta": { }
}
Create a new Order with a random product
Create a new Order with a random product, the product will be selected from the campaign and determined by weight This is used in conjunction with the Short Term Campaigns to create a random order for the user to redeem.
Authorizations:
Request Body schema: application/jsonrequired
reference | string External ID or your reference to this order, use this to identify the order in your system, if not provided a random one will be generated |
owner required | string Member Exteral Id |
cost | number Default: 1 Cost of the order |
meta | object Additional Metadata |
Responses
Request samples
- Payload
{- "reference": "string",
- "owner": "string",
- "cost": 1,
- "meta": { }
}
Response samples
- 200
- 401
- 403
{- "id": "string",
- "date": "2019-08-24T14:15:22Z",
- "owner": "string",
- "total": 0,
- "lines": [
- {
- "id": "string",
- "productId": "string",
- "orderId": "string",
- "variantId": "string",
- "requiresBooking": true,
- "cost": 0,
- "qty": 0,
- "total": 0,
- "codes": [
- {
- "code": "string",
- "redeemed": true
}
], - "booking": {
- "id": "string",
- "dateRequested": "2019-08-24T14:15:22Z",
- "status": "REQUESTED",
- "meta": { },
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}, - "meta": { }
}
]
}
Find Bookings
Find bookings based on search queries, returns a list of bookings based on the search criteria
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
id | string Booking ID |
ownerId | string Member Exteral Id |
Responses
Response samples
- 200
- 401
- 403
{- "data": [
- {
- "id": "string",
- "dateRequested": "2019-08-24T14:15:22Z",
- "status": "REQUESTED",
- "meta": { },
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
Get a single Booking
Get a single booking based on the booking id
Authorizations:
path Parameters
id required | string |
Responses
Response samples
- 200
- 401
- 403
{- "id": "string",
- "dateRequested": "2019-08-24T14:15:22Z",
- "status": "REQUESTED",
- "meta": { },
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}
Update Booking
Update a booking status or booking date
Authorizations:
path Parameters
id required | string |
Request Body schema: application/jsonrequired
status | string (BookingStatus) Enum: "REQUESTED" "PENDING" "CONFIRMED" "UNSUCCESSFUL" "CANCELLED" |
date | string <date-time> Date of the booking |
pax | number Number of People in the booking |
notes | string Additional Notes |
Responses
Request samples
- Payload
{- "status": "REQUESTED",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}
Response samples
- 200
- 401
- 403
{- "id": "string",
- "dateRequested": "2019-08-24T14:15:22Z",
- "status": "REQUESTED",
- "meta": { },
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}
Create Booking
Create a booking
Authorizations:
path Parameters
redemptionId required | string |
Request Body schema: application/jsonrequired
firstName required | string First Name |
lastName required | string Last Name |
string Email Address | |
phone | string Phone Number |
branch | string Branch ID |
date required | string <date-time> Date of the booking |
pax | number Number of People in the booking |
notes | string Additional Notes |
Responses
Request samples
- Payload
{- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}
Response samples
- 200
- 400
- 401
- 403
{- "id": "string",
- "dateRequested": "2019-08-24T14:15:22Z",
- "status": "REQUESTED",
- "meta": { },
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "branch": "string",
- "date": "2019-08-24T14:15:22Z",
- "pax": 0,
- "notes": "string"
}
Find All Members
Find All Members
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
Responses
Response samples
- 200
- 401
- 403
{- "data": [
- {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "status": "active",
- "meta": { },
- "communicationPreferences": {
- "general": {
- "channels": [
- "email",
- "sms"
]
}, - "marketing": {
- "channels": [
- "email",
- "sms"
]
}, - "booking": {
- "channels": [
- "email",
- "sms"
]
}, - "earn": {
- "channels": [
- "email",
- "sms"
]
}, - "order": {
- "channels": [
- "email",
- "sms"
]
}
}
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
Create Member
Create Member
Authorizations:
Request Body schema: application/jsonrequired
firstName required | string |
lastName | string |
string | |
phone | string |
status | string (MemberStatus) Enum: "active" "inactive" |
idp | string Default: "reference" Identity Provider, 'reference' is the default value and used if you are generating and storing your own user ids and links |
userId required | string The external ID of the member, an identifier from your system to locate the member. |
externalId required | string |
meta | object |
object (CommunicationPreferences) |
Responses
Request samples
- Payload
{- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "status": "active",
- "idp": "cognito",
- "userId": "member_123",
- "externalId": "string",
- "meta": { },
- "communicationPreferences": {
- "general": {
- "channels": [
- "email",
- "sms"
]
}, - "marketing": {
- "channels": [
- "email",
- "sms"
]
}, - "booking": {
- "channels": [
- "email",
- "sms"
]
}, - "earn": {
- "channels": [
- "email",
- "sms"
]
}, - "order": {
- "channels": [
- "email",
- "sms"
]
}
}
}
Response samples
- 200
- 401
- 403
{- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "status": "active",
- "meta": { },
- "communicationPreferences": {
- "general": {
- "channels": [
- "email",
- "sms"
]
}, - "marketing": {
- "channels": [
- "email",
- "sms"
]
}, - "booking": {
- "channels": [
- "email",
- "sms"
]
}, - "earn": {
- "channels": [
- "email",
- "sms"
]
}, - "order": {
- "channels": [
- "email",
- "sms"
]
}
}
}
Find Member By IDP
Find Member by IDP and ID
Authorizations:
path Parameters
idp required | string The Identity Provider |
id required | string The User ID from the Identity Provider |
Responses
Response samples
- 200
- 401
- 403
{- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "status": "active",
- "meta": { },
- "communicationPreferences": {
- "general": {
- "channels": [
- "email",
- "sms"
]
}, - "marketing": {
- "channels": [
- "email",
- "sms"
]
}, - "booking": {
- "channels": [
- "email",
- "sms"
]
}, - "earn": {
- "channels": [
- "email",
- "sms"
]
}, - "order": {
- "channels": [
- "email",
- "sms"
]
}
}
}
Find Member
Find Member by ID
Authorizations:
path Parameters
id required | string |
Responses
Response samples
- 200
- 401
- 403
{- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "status": "active",
- "meta": { },
- "communicationPreferences": {
- "general": {
- "channels": [
- "email",
- "sms"
]
}, - "marketing": {
- "channels": [
- "email",
- "sms"
]
}, - "booking": {
- "channels": [
- "email",
- "sms"
]
}, - "earn": {
- "channels": [
- "email",
- "sms"
]
}, - "order": {
- "channels": [
- "email",
- "sms"
]
}
}
}
Update Member
Updates a Member
Authorizations:
path Parameters
id required | string |
Request Body schema: application/jsonrequired
firstName | string |
lastName | string |
string | |
phone | string |
status | string (MemberStatus) Enum: "active" "inactive" |
idp | string Default: "reference" Identity Provider, 'reference' is the default value and used if you are generating and storing your own user ids and links |
userId | string The external ID of the member, an identifier from your system to locate the member. |
externalId | string |
meta | object |
object (CommunicationPreferences) |
Responses
Request samples
- Payload
{- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "status": "active",
- "idp": "cognito",
- "userId": "member_123",
- "externalId": "string",
- "meta": { },
- "communicationPreferences": {
- "general": {
- "channels": [
- "email",
- "sms"
]
}, - "marketing": {
- "channels": [
- "email",
- "sms"
]
}, - "booking": {
- "channels": [
- "email",
- "sms"
]
}, - "earn": {
- "channels": [
- "email",
- "sms"
]
}, - "order": {
- "channels": [
- "email",
- "sms"
]
}
}
}
Response samples
- 200
- 401
- 403
{- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "status": "active",
- "meta": { },
- "communicationPreferences": {
- "general": {
- "channels": [
- "email",
- "sms"
]
}, - "marketing": {
- "channels": [
- "email",
- "sms"
]
}, - "booking": {
- "channels": [
- "email",
- "sms"
]
}, - "earn": {
- "channels": [
- "email",
- "sms"
]
}, - "order": {
- "channels": [
- "email",
- "sms"
]
}
}
}
Delete Member
Deletes a Member
Authorizations:
path Parameters
id required | string |
Responses
Response samples
- 200
- 401
- 403
{- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "status": "active",
- "meta": { },
- "communicationPreferences": {
- "general": {
- "channels": [
- "email",
- "sms"
]
}, - "marketing": {
- "channels": [
- "email",
- "sms"
]
}, - "booking": {
- "channels": [
- "email",
- "sms"
]
}, - "earn": {
- "channels": [
- "email",
- "sms"
]
}, - "order": {
- "channels": [
- "email",
- "sms"
]
}
}
}
Find Tags
Find tags based on search queries, returns a list of tags based on the search criteria
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
tagId | string Tag ID |
Responses
Response samples
- 200
- 401
- 403
{- "data": [
- {
- "id": "string",
- "name": "string"
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
Get All Wallets
Get All Wallets
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
externalId | string |
Responses
Response samples
- 200
- 400
- 401
- 403
[- {
- "data": [
- {
- "id": "string",
- "currency": "string",
- "name": "string",
- "balance": 0,
- "tier": {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
]
Create a Wallet
Create a Wallet
Authorizations:
Request Body schema: application/jsonrequired
externalId | string The external ID of the wallet, an identifier from your system to locate the wallet. |
name | string |
owner required | string The Owner of the wallet, the Member Identifier. |
Responses
Request samples
- Payload
{- "externalId": "wallet_123",
- "name": "string",
- "owner": "UUID"
}
Response samples
- 201
- 400
- 401
- 403
{- "id": "string",
- "currency": "string",
- "name": "string",
- "balance": 0,
- "tier": {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
}
Get a Wallet
Get a Wallet by ID
Authorizations:
path Parameters
id required | string |
Responses
Response samples
- 200
- 400
- 401
- 403
{- "id": "string",
- "currency": "string",
- "name": "string",
- "balance": 0,
- "tier": {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
}
Update a Wallet
Update a Wallet
Authorizations:
path Parameters
id required | string |
Request Body schema: application/jsonrequired
name | string |
Responses
Request samples
- Payload
{- "name": "string"
}
Response samples
- 200
- 400
- 401
- 403
{- "id": "string",
- "currency": "string",
- "name": "string",
- "balance": 0,
- "tier": {
- "id": "string",
- "name": "string",
- "precedence": 0,
- "benefits": [
- "string"
], - "imageUrl": "string"
}
}
Get All Transactions
Get All Transactions
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
walletId | string |
dateFrom | string <date-time> |
dateTo | string <date-time> |
type | Array of strings (TransactionType) Items Enum: "EARN" "BURN" "EXPIRY" |
Responses
Response samples
- 200
- 400
- 401
- 403
{- "data": [
- {
- "id": "string",
- "date": "2019-08-24T14:15:22Z",
- "description": "string",
- "comment": "string",
- "externalId": "string",
- "type": "EARN",
- "amount": 0,
- "currency": "string",
- "walletId": "string"
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
Get a Transaction
Get a Transaction by ID
Authorizations:
path Parameters
id required | string |
Responses
Response samples
- 200
- 400
- 401
- 403
{- "id": "string",
- "date": "2019-08-24T14:15:22Z",
- "description": "string",
- "comment": "string",
- "externalId": "string",
- "type": "EARN",
- "amount": 0,
- "currency": "string",
- "walletId": "string"
}
Create a BURN Transaction
Create a BURN Transaction
Authorizations:
Request Body schema: application/jsonrequired
date | string <date-time> Date of the transaction (uses current date if not provided) |
description required | string |
comment | string |
externalId required | string |
amount required | number |
walletId required | string |
meta | object |
Responses
Request samples
- Payload
{- "id": "test123",
- "amount": 1000,
- "date": "2019-01-01T00:00:00.000Z",
- "description": "The Answer to life, the universes, and everything",
- "comment": "42",
- "externalId": "MY_EXTERNAL_ID",
- "walletId": "MY_EXTERNAL_WALLET_ID"
}
Response samples
- 200
- 400
- 401
- 402
- 403
{- "id": "string",
- "date": "2019-08-24T14:15:22Z",
- "description": "string",
- "comment": "string",
- "externalId": "string",
- "type": "EARN",
- "amount": 0,
- "currency": "string",
- "walletId": "string"
}
Create an EARN Transaction
Create an EARN Transaction
Authorizations:
Request Body schema: application/jsonrequired
id required | string The unique identifier for this transaction |
amount required | number The value this transaction represents |
date required | string <date-time> The date of the transaction |
walletId required | string The wallet ID of the wallet this transaction is associated with |
description | string A description of the transaction |
comment | string A comment on the transaction [Internal Use] |
meta | object Any additional metadata associated with the transaction |
Responses
Request samples
- Payload
{- "id": "test123",
- "amount": 1000,
- "walletId": "EXTERNAL_ID",
- "date": "2019-01-01T00:00:00.000Z",
- "description": "Test Transaction",
- "comment": "Test Comment",
- "meta": {
- "test": "test",
- "bool": true,
- "meta": {
- "test": "test",
- "bool": true
}
}
}
Response samples
- 202
- 400
- 401
- 403
{- "status": "accepted",
- "requestId": "string",
- "statusCheckUrl": "string",
- "message": "string"
}
Get Leaderboard
Get Leaderboard, sorted by points, refreshes every 5 minutes
Authorizations:
query Parameters
page | number >= 1 Default: 1 Page number |
limit | number [ 0 .. 100 ] Default: 10 Items per page, set to zero for just a count of items |
Responses
Response samples
- 200
- 401
- 403
{- "data": [
- {
- "id": "string",
- "displayName": "string",
- "points": 0
}
], - "total": 0,
- "currentPage": 0,
- "pageSize": 0,
- "totalPages": 0
}
Search Reviews
Search Reviews, returns a paginated subset of reviews based on the search criteria
Authorizations:
Request Body schema: application/jsonrequired
memberId required | string ID of the member creating the review |
voucherId required | string ID of the voucher being reviewed |
partnerId required | string ID of the partner being reviewed |
rating required | number [ 1 .. 5 ] Rating given by the member |
reviewText required | string Text of the review |
Responses
Request samples
- Payload
{- "memberId": "string",
- "voucherId": "string",
- "partnerId": "string",
- "rating": 1,
- "reviewText": "string"
}
Response samples
- 201
- 401
- 403
{- "id": "string",
- "rating": 0,
- "reviewText": "string",
- "profanityScore": 0,
- "memberId": "string",
- "voucherId": "string",
- "reportedById": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
Report Review
Report a review, sets the review as reported.
Authorizations:
path Parameters
reviewId required | string |
Request Body schema: application/jsonrequired
reporterId required | number ID of the member reporting the review |
Responses
Request samples
- Payload
{- "reporterId": 0
}
Response samples
- 200
- 401
- 403
{- "id": "string",
- "rating": 0,
- "reviewText": "string",
- "profanityScore": 0,
- "memberId": "string",
- "voucherId": "string",
- "reportedById": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}