Reward Points Service

Download OpenAPI specification:Download

Collect reward points and exchange them for coupons.


KeyFeatures:

  • Grant points to customers after they complete an order, or reward chosen customers irrespective of the orders made
  • Define the exchange rate between points and currency when collecting points
  • Points account balance per customer
  • Redeem points in exchange for coupon codes

Key Benefits:

  • Increase customer loyalty
  • Reward customers for their spending
  • Increase customer spending

Redeem Options Management

Creating redemption options

Sets up a reward points redemption option that contains instructions for transforming these points into a coupon. Customers are required to choose this option to convert the reward points and create a coupon based on the pre-established rules.

Note: Only employees have the authority to configure the redemption options.

Required scopes

  • rewardspoints.rewardpoints_manage
SecurityCustomerAccessToken
Request
path Parameters
tenant
required
string

Tenant name.

Request Body schema: application/json
id
string

ID of the redemption option to be used at reward points exchange

type
required
string

Option type, typically 'coupon'.

name
required
string

Name of the redeem option that can be presented to customer

description
string

Description of the redeem option that can be presented to customer

points
required
integer

Points to deduct from customer's account at coupon creation

object (Coupon API)

Coupons describe voucher-like commerce capabilities.

pointsAfterCoupon
integer
object
Responses
200
400

Request syntactically incorrect. Any details will be provided within the response payload.

401
403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

post/{tenant}/redeemOptions
Request samples
application/json
{
  • "type": "coupon",
  • "name": "10 Euro Gutschein",
  • "description": "Für 90 Punkte können Sie sich einen Gutschein über 10 Euro generieren lassen. Diesen Gutschein können Sie auch an Freunde und Bekannte weitergeben.",
  • "points": 90,
  • "coupon": {
    }
}
Response samples
application/json
[
  • {
    }
]

Retrieving redemption options

Retrieves all available reward points redemption options configured for customers to use.

Note: This public API endpoint is accessible to all customers.

SecurityOAuth2
Request
path Parameters
tenant
required
string

Tenant name.

Responses
200

Returns all configured reward points redemption options

401
403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

get/{tenant}/redeemOptions
Request samples
Response samples
application/json
[
  • {
    }
]

Deleting redemption options

Deletes a reward points redemption option for a given tenant.

Note: Only employees have the authority to delete the redemption options.

Required scopes

  • rewardspoints.rewardpoints_manage
SecurityCustomerAccessToken
Request
path Parameters
redeemOptionId
required
string

Unique identifier of a redeem option.

tenant
required
string

Tenant name.

Responses
204

Deletes given redeem option by id

401
403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

delete/{tenant}/redeemOptions/{redeemOptionId}
Request samples
Response samples
application/json
{
  • "fault": {
    }
}

Updating redemption options

Updates a reward points redemption option for a given tenant.

Note: Only employees have the authority to update the redemption options.

Required scopes

  • rewardspoints.rewardpoints_manage
SecurityCustomerAccessToken
Request
path Parameters
redeemOptionId
required
string

Unique identifier of a redeem option.

tenant
required
string

Tenant name.

Request Body schema: application/json
id
string

ID of the redemption option to be used at reward points exchange

type
required
string

Option type, typically 'coupon'.

name
required
string

Name of the redeem option that can be presented to customer

description
string

Description of the redeem option that can be presented to customer

points
required
integer

Points to deduct from customer's account at coupon creation

object (Coupon API)

Coupons describe voucher-like commerce capabilities.

pointsAfterCoupon
integer
object
Responses
200

Updates given redeem option by id

400

Request syntactically incorrect. Any details will be provided within the response payload.

401
403

Given authorization scopes are not sufficient and do not match required scopes.

409

The resource requested for update has changed.

500

Internal error

put/{tenant}/redeemOptions/{redeemOptionId}
Request samples
application/json
{
  • "type": "coupon",
  • "name": "10 Euro Gutschein",
  • "description": "Für 90 Punkte können Sie sich einen Gutschein über 10 Euro generieren lassen. Diesen Gutschein können Sie auch an Freunde und Bekannte weitergeben.",
  • "points": 90,
  • "coupon": {
    },
  • "metadata": {
    }
}
Response samples
application/json
{
  • "type": "about:blank",
  • "title": "Bad Request",
  • "status": 400,
  • "detail": "Invalid request content.",
  • "instance": "/customer/61443563/addPoints"
}

Reward Points Management

Retrieving reward points of all customers

Retrieves a detailed summary of added and redeemed reward points for all customers of a given tenant. The tenant name is selected based on the access token.

Note: Only employees are authorized to perform this action.


Required scopes

  • rewardspoints.rewardpoints_view
SecurityOAuth2
Responses
200
401
403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

get/summaryBatch
Request samples
Response samples
application/json
[
  • {
    }
]

Retrieving reward points of a customer

Fetches the number of reward points for a particular customer of a given tenant. The tenant name is retrieved from the access token.

Note: Only employees are authorized to perform this action.


Required scopes

  • rewardspoints.rewardpoints_view
SecurityOAuth2
Request
path Parameters
customerId
required
string

Unique identifier of a customer, generated when the customer is created through the Customer Service.

Responses
200
400

Request syntactically incorrect. Any details will be provided within the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

get/customer/{customerId}
Request samples
Response samples
application/json
2000

Creating a new reward points entry for a customer

Creates a new reward points entry for a particular customer of a given tenant. The tenant name is retrieved from the access token.


Required scopes

  • rewardspoints.rewardpoints_manage
SecurityOAuth2
Request
path Parameters
customerId
required
string

Unique identifier of a customer, generated when the customer is created through the Customer Service.

query Parameters
siteCode
string
Default: "main"

Site code, defined when a site is created.

Request Body schema: application/json
customerId
string
object (addedPoints)
Responses
200
400

Request syntactically incorrect. Any details will be provided within the response payload.

401
403

Given authorization scopes are not sufficient and do not match required scopes.

409
500

Internal error

post/customer/{customerId}
Request samples
application/json
{
  • "customerId": "C4289081720",
  • "startPoints": {
    }
}
Response samples
application/json
{
  • "type": "about:blank",
  • "title": "Bad Request",
  • "status": 400,
  • "detail": "Invalid request content.",
  • "instance": "/customer/61443563/addPoints"
}

Deleting reward points of a customer

Deletes a reward points entry of a specified customer for a given tenant. The tenant name is retrieved from the access token.


Required scopes

  • rewardspoints.rewardpoints_manage
SecurityOAuth2
Request
path Parameters
customerId
required
string

Unique identifier of a customer, generated when the customer is created through the Customer Service.

Responses
200
401
403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

delete/customer/{customerId}
Request samples
Response samples
application/json
{
  • "fault": {
    }
}

Retrieving a reward points summary for a single customer

Retrieves a detailed summary of added and redeemed reward points of a single specified customer for a given tenant. The tenant name is retrieved from the access token.

Note: Only employees are authorized to perform this action.


Required scopes

  • rewardspoints.rewardpoints_view
SecurityOAuth2
Request
path Parameters
customerId
required
string

Unique identifier of a customer, generated when the customer is created through the Customer Service.

Responses
200
401
403

Given authorization scopes are not sufficient and do not match required scopes.

404

Entity not found.

500

Internal error

get/customer/{customerId}/summary
Request samples
Response samples
application/json
{
  • "customerId": "123",
  • "activePoints": 1153,
  • "summary": {
    }
}

Adding reward points for a customer

Adds reward points to a specific customer's account for a given tenant. The tenant name is retrieved from the access token.

Note: Only employees are authorized to perform this action.


Required scopes

  • rewardspoints.rewardpoints_manage
SecurityOAuth2
Request
path Parameters
customerId
required
string

Unique identifier of a customer, generated when the customer is created through the Customer Service.

query Parameters
siteCode
string
Default: "main"

Site code, defined when a site is created.

Request Body schema: application/json
id
string
reference-id
string or null

Order Id for which the points were created

description
string

Auto-generated description

points
required
integer

Number of points added in the operation

createdAt
string <date-time>
validUntil
string <date-time>

The date until when the points can be redeemed

allPointsAfterCreation
integer

Number of points after creation

usedPoints
integer

Number of points already used

usedWith
Array of strings
Responses
201
400

Request syntactically incorrect. Any details will be provided within the response payload.

401
403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

post/customer/{customerId}/addPoints
Request samples
application/json
{
  • "id": "12345fee-0b83-48aa-95dc-11e3dcf84aaa",
  • "reference-id": "123456",
  • "description": "points added",
  • "points": 123,
  • "createdAt": "2023-10-24T14:15:22Z",
  • "allPointsAfterCreation": 56778,
  • "usedPoints": 5,
  • "validUntil": "2029-08-24T14:15:22Z",
  • "usedWith": [
    ]
}
Response samples
application/json
{
  • "type": "about:blank",
  • "title": "Bad Request",
  • "status": 400,
  • "detail": "Invalid request content.",
  • "instance": "/customer/61443563/addPoints"
}

Redeeming reward points of a customer

Redeems reward points for a specified customer for a given tenant without generating a coupon. The tenant name is retrieved from the access token.

Note: Only employees are authorized to perform this action.


Required scopes

  • rewardspoints.rewardpoints_manage
SecurityOAuth2
Request
path Parameters
customerId
required
string

Unique identifier of a customer

Request Body schema: application/json
id
string

Identifier of the redeemed points

description
string

A comment for the redeem operation

points
required
integer

The amount of the redeemed points

createdAt
string <date-time>

Timestamp when the points were redeemed

allPointsAfterCreation
integer

Number of points after creation

Responses
201
400

Request syntactically incorrect. Any details will be provided within the response payload.

401
403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

post/customer/{customerId}/redeemPoints
Request samples
application/json
{
  • "description": "points redeemed",
  • "points": 50
}
Response samples
application/json
{
  • "type": "about:blank",
  • "title": "Bad Request",
  • "status": 400,
  • "detail": "Invalid request content.",
  • "instance": "/customer/61443563/addPoints"
}

Signed-In Customer Reward Points

Retrieving reward points of a signed-in customer

Fetches the number of reward points of a currently signed-in customer.

Note: This public API endpoint is accessible to all customers.

SecurityCustomerAccessToken
Responses
200
401
403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

get/public/customer
Request samples
Response samples
application/json
1153

Retrieving a reward points summary of a signed-in customer

Retrieves a detailed summary of added and redeemed reward points of a signed-in customer.

Note: This public API endpoint is accessible to all customers.

SecurityCustomerAccessToken
Responses
200
401
403

Given authorization scopes are not sufficient and do not match required scopes.

500

Internal error

get/public/customer/summary
Request samples
Response samples
application/json
{
  • "customerId": "123",
  • "activePoints": 1153,
  • "summary": {
    }
}

Redeeming a logged-in customer's reward points for a coupon code

Gets the logged-in customer's reward points, swaps them for a coupon code by using the given redemption option ID, and returns a coupon code.

Note: This public API endpoint is accessible to all customers and is meant to be used on the storefront.

SecurityCustomerAccessToken
Request
query Parameters
siteCode
string
Default: "main"

Site code, defined when a site is created.

Request Body schema: application/json
id
required
string

The ID of the redeem option used to convert points into a coupon.

Responses
200
400

Request syntactically incorrect. Any details will be provided within the response payload.

403

Given authorization scopes are not sufficient and do not match required scopes.

404

Entity not found.

500

Internal error

post/public/customer/redeem
Request samples
application/json
{
  • "id": "575937654bf757001d8496c9"
}
Response samples
application/json
{
  • "code": "LLS-232394"
}