Skip to main content

Loyalty API

EVA offers a whitelabel interface which can be integrated with any third-party loyalty points system. The following document describes all necessary configuration, as well as example requests and expected responses form the third-party system.

Required settings

These settings can be configured on the loyalty program itself, when selecting the LOYALTYAPI handler.

SettingDescription
BaseURLYour integration BaseURL.
UserNameBasicAuth UserName
PasswordBasicAuth Password
TimeoutDesired timeout in seconds

Requests and expected responses

[BaseURL]/subscribe

{
"LoyaltyProgramBackendID": "test",
"RequestedLoyaltyID": "test",
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
Response

{
"IsSuccess": true,
"LoyaltyID": "123ab"
}

[BaseURL]/unsubscribe

{
"LoyaltyProgramBackendID": "test",
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"Result": true,
}

[BaseURL]/get-balance

{
"LoyaltyProgramBackendID": "test",
"PreferredCurrencyID": "EUR",
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
"Points": 12,
"PointRegistrations": [
{
"Reference": "ORD-123",
"PendingTill": "01-01-23 12:00:00.000"
"Points": 12
},
...
]
}

[BaseURL]/withdraw

{
"LoyaltyProgramBackendID": "test",
"PreferredCurrencyID": "EUR",
"Points": 1.0,
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"IsSuccess": true,
"TransactionID": "12345667",
"TransactionDate": "01-01-23 12:00:00.000",
"PointsTransferred": 12.0,
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
"NewBalance": {
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
"Points": 12,
"PointRegistrations": [
{
"Reference": "ORD-123",
"PendingTill": "01-01-23 12:00:00.000"
"Points": 12
},
...
]
}
}

[BaseURL]/refund-available

{
"LoyaltyProgramBackendID": "test",
"TransactionID": "123abv",
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"Result": true,
}

[BaseURL]/refund

{
"LoyaltyProgramBackendID": "test",
"TransactionID": "123abv",
"Points": 0.8,
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"IsSuccess": true,
"TransactionID": "12345667",
"TransactionDate": "01-01-23 12:00:00.000",
"PointsTransferred": 12.0,
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
"NewBalance": {
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
"Points": 12,
"PointRegistrations": [
{
"Reference": "ORD-123",
"PendingTill": "01-01-23 12:00:00.000"
"Points": 12
},
...
]
}
}

[BaseURL]/deposit-available

{
"LoyaltyProgramBackendID": "test",
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"Result": true,
}

[BaseURL]/deposit

{
"PreferredCurrencyID": "EUR",
"LoyaltyProgramBackendID": "test",
"TransactionID": "123abv",
"Points": 0.8,
"InternalReference": "ORD-12",
"KeepPendingTill": "01-01-23 12:00:00.000",
"ExpireAfter": "01-01-23 12:00:00.000",
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"IsSuccess": true,
"TransactionID": "12345667",
"TransactionDate": "01-01-23 12:00:00.000",
"PointsTransferred": 12.0,
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
"NewBalance": {
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
"Points": 12,
"PointRegistrations": [
{
"Reference": "ORD-123",
"PendingTill": "01-01-23 12:00:00.000"
"Points": 12
},
...
]
}
}

[BaseURL]/revoke-deposit

{
"LoyaltyProgramBackendID": "test",
"TransactionID": "123abv",
"Points": 0.8,
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"IsSuccess": true,
"TransactionID": "12345667",
"TransactionDate": "01-01-23 12:00:00.000",
"PointsTransferred": 12.0,
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
"NewBalance": {
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
"Points": 12,
"PointRegistrations": [
{
"Reference": "ORD-123",
"PendingTill": "01-01-23 12:00:00.000"
"Points": 12
},
...
]
}
}

[BaseURL]/convert-to-currency

{
"LoyaltyProgramBackendID": "test",
"PreferredCurrencyID": "EUR",
"Points": 0.8,
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"CurrencyID": "EUR,
"CurrencyValue": 1.0,
}

[BaseURL]/convert-to-points

{
"LoyaltyProgramBackendID": "test",
"CurrencyID": "EUR",
"CurrencyValue": 0.8,
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "test@domein.net",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"Result": 1.0
}