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.
Setting | Description |
---|---|
BaseURL | Your integration BaseURL. |
UserName | BasicAuth UserName |
Password | BasicAuth Password |
Timeout | Desired timeout in seconds |
Requests and expected responses
[BaseURL]/subscribe
{
"LoyaltyProgramBackendID": "test",
"RequestedLoyaltyID": "test",
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "[email protected]",
"NickName": "test",
"LoyaltyID": "test",
}
}
Response
{
"IsSuccess": true,
"LoyaltyID": "123ab"
}
[BaseURL]/unsubscribe
{
"LoyaltyProgramBackendID": "test",
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "[email protected]",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"Result": true,
}
[BaseURL]/get-balance
{
"LoyaltyProgramBackendID": "test",
"PreferredCurrencyID": "EUR",
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"Result": true,
}
[BaseURL]/refund
{
"LoyaltyProgramBackendID": "test",
"TransactionID": "123abv",
"Points": 0.8,
"User": {
"ID: 1,
"BackendID": "test",
"CustomID": "test",
"EmailAddress": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"NickName": "test",
"LoyaltyID": "test",
}
}
{
"Result": 1.0
}