curl -X GET "https://staging-api.loyalty.lt/en/shop/loyalty-cards?per_page=10&is_active=true" \
-H "X-API-Key: your_api_key" \
-H "X-API-Secret: your_api_secret"
const response = await fetch(
'https://staging-api.loyalty.lt/en/shop/loyalty-cards?per_page=10&is_active=true',
{
method: 'GET',
headers: {
'X-API-Key': 'your_api_key',
'X-API-Secret': 'your_api_secret'
}
}
);
const data = await response.json();
console.log(`Found ${data.meta.total} loyalty cards`);
data.data.forEach(card => {
console.log(`${card.title.en}: ${card.points_per_currency} points per €${card.currency_amount}`);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://staging-api.loyalty.lt/en/shop/loyalty-cards?per_page=10&is_active=true',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: your_api_key',
'X-API-Secret: your_api_secret'
]
]);
$response = curl_exec($curl);
curl_close($curl);
$data = json_decode($response, true);
echo "Total cards: " . $data['meta']['total'];
{
"success": true,
"data": [
{
"id": 1,
"partner_id": 45,
"title": {
"lt": "Kavos mėgėjo kortelė",
"en": "Coffee Lover Card"
},
"description": {
"lt": "Rink taškus už kiekvieną pirkinį ir gauk nemokamą kavą!",
"en": "Collect points with every purchase and get free coffee!"
},
"card_design": {
"background_color": "#2D1810",
"text_color": "#FFFFFF",
"logo_url": "https://staging-api.loyalty.lt/storage/logos/coffee-card.png"
},
"is_active": true,
"shop_ids": [],
"auto_assign": true,
"points_enabled": true,
"initial_bonus_points": 50,
"points_expiration_days": 365,
"points_per_currency": 10,
"currency_amount": 1.00,
"round_points_up": true,
"min_points_per_purchase": 1,
"max_points_per_purchase": 500,
"points_per_visit": 5,
"points_redemption_enabled": true,
"points_per_currency_redemption": 100,
"currency_amount_redemption": 1.00,
"min_points_for_redemption": 100,
"max_points_per_redemption": 1000,
"terms_conditions": {
"lt": "Taškai galioja 1 metus nuo gavimo datos.",
"en": "Points are valid for 1 year from earning date."
},
"qr_code": "CARD-001-ABC123",
"partner": {
"id": 45,
"name": "Coffee Paradise",
"logo": "https://staging-api.loyalty.lt/storage/logos/coffee-paradise.png"
},
"created_at": "2024-01-01T10:00:00.000Z",
"updated_at": "2024-06-15T14:30:00.000Z"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 10,
"total": 1
}
}
{
"message": "Partner not authenticated"
}
Loyalty Cards
List Loyalty Cards
Get paginated list of partner’s loyalty card templates
GET
/
{locale}
/
shop
/
loyalty-cards
curl -X GET "https://staging-api.loyalty.lt/en/shop/loyalty-cards?per_page=10&is_active=true" \
-H "X-API-Key: your_api_key" \
-H "X-API-Secret: your_api_secret"
const response = await fetch(
'https://staging-api.loyalty.lt/en/shop/loyalty-cards?per_page=10&is_active=true',
{
method: 'GET',
headers: {
'X-API-Key': 'your_api_key',
'X-API-Secret': 'your_api_secret'
}
}
);
const data = await response.json();
console.log(`Found ${data.meta.total} loyalty cards`);
data.data.forEach(card => {
console.log(`${card.title.en}: ${card.points_per_currency} points per €${card.currency_amount}`);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://staging-api.loyalty.lt/en/shop/loyalty-cards?per_page=10&is_active=true',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: your_api_key',
'X-API-Secret: your_api_secret'
]
]);
$response = curl_exec($curl);
curl_close($curl);
$data = json_decode($response, true);
echo "Total cards: " . $data['meta']['total'];
{
"success": true,
"data": [
{
"id": 1,
"partner_id": 45,
"title": {
"lt": "Kavos mėgėjo kortelė",
"en": "Coffee Lover Card"
},
"description": {
"lt": "Rink taškus už kiekvieną pirkinį ir gauk nemokamą kavą!",
"en": "Collect points with every purchase and get free coffee!"
},
"card_design": {
"background_color": "#2D1810",
"text_color": "#FFFFFF",
"logo_url": "https://staging-api.loyalty.lt/storage/logos/coffee-card.png"
},
"is_active": true,
"shop_ids": [],
"auto_assign": true,
"points_enabled": true,
"initial_bonus_points": 50,
"points_expiration_days": 365,
"points_per_currency": 10,
"currency_amount": 1.00,
"round_points_up": true,
"min_points_per_purchase": 1,
"max_points_per_purchase": 500,
"points_per_visit": 5,
"points_redemption_enabled": true,
"points_per_currency_redemption": 100,
"currency_amount_redemption": 1.00,
"min_points_for_redemption": 100,
"max_points_per_redemption": 1000,
"terms_conditions": {
"lt": "Taškai galioja 1 metus nuo gavimo datos.",
"en": "Points are valid for 1 year from earning date."
},
"qr_code": "CARD-001-ABC123",
"partner": {
"id": 45,
"name": "Coffee Paradise",
"logo": "https://staging-api.loyalty.lt/storage/logos/coffee-paradise.png"
},
"created_at": "2024-01-01T10:00:00.000Z",
"updated_at": "2024-06-15T14:30:00.000Z"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 10,
"total": 1
}
}
{
"message": "Partner not authenticated"
}
List Loyalty Cards
Retrieve a paginated list of loyalty card templates (partner cards) configured for your partner account. These are the card designs and configurations that users can receive.This endpoint requires Shop API authentication (X-API-Key and X-API-Secret headers).
Path Parameters
Language code for localized content (e.g.,
en, lt)Query Parameters
Number of items per page (max 50)
Page number for pagination
Filter by active status
true- Only active cardsfalse- Only inactive cards
Filter cards applicable to specific shop
Filter by card type
third_party- External integrated cardsloyalty- Standard loyalty cards
Search by card name or card number
Authentication
API key from Partners Portal
API secret from Partners Portal
Response
Indicates if the request was successful
Array of partner card objects
Show Partner Card Object
Show Partner Card Object
Unique card template identifier
Partner’s unique identifier
Localized card title (JSON object with language keys)
{ "lt": "Lojalumo kortelė", "en": "Loyalty Card" }
Localized card description (JSON object)
Card visual design configuration (colors, logos, etc.)
Whether the card template is active
Array of shop IDs this card applies to (empty = all shops)
Whether to automatically assign this card to new users
Whether points earning is enabled
Points awarded when user receives the card
Days until earned points expire (0 = never)
Points earned per currency unit spent
Currency amount that earns
points_per_currency pointsWhether to round calculated points up
Minimum points awarded per transaction
Maximum points awarded per transaction
Bonus points per visit/transaction
Whether points can be redeemed for discounts
Points required per currency unit discount
Currency discount per redemption unit
Minimum points required to redeem
Maximum points per redemption
Localized terms and conditions (JSON object)
QR code identifier for the card template
Partner information
ISO 8601 creation timestamp
ISO 8601 last update timestamp
curl -X GET "https://staging-api.loyalty.lt/en/shop/loyalty-cards?per_page=10&is_active=true" \
-H "X-API-Key: your_api_key" \
-H "X-API-Secret: your_api_secret"
const response = await fetch(
'https://staging-api.loyalty.lt/en/shop/loyalty-cards?per_page=10&is_active=true',
{
method: 'GET',
headers: {
'X-API-Key': 'your_api_key',
'X-API-Secret': 'your_api_secret'
}
}
);
const data = await response.json();
console.log(`Found ${data.meta.total} loyalty cards`);
data.data.forEach(card => {
console.log(`${card.title.en}: ${card.points_per_currency} points per €${card.currency_amount}`);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://staging-api.loyalty.lt/en/shop/loyalty-cards?per_page=10&is_active=true',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: your_api_key',
'X-API-Secret: your_api_secret'
]
]);
$response = curl_exec($curl);
curl_close($curl);
$data = json_decode($response, true);
echo "Total cards: " . $data['meta']['total'];
{
"success": true,
"data": [
{
"id": 1,
"partner_id": 45,
"title": {
"lt": "Kavos mėgėjo kortelė",
"en": "Coffee Lover Card"
},
"description": {
"lt": "Rink taškus už kiekvieną pirkinį ir gauk nemokamą kavą!",
"en": "Collect points with every purchase and get free coffee!"
},
"card_design": {
"background_color": "#2D1810",
"text_color": "#FFFFFF",
"logo_url": "https://staging-api.loyalty.lt/storage/logos/coffee-card.png"
},
"is_active": true,
"shop_ids": [],
"auto_assign": true,
"points_enabled": true,
"initial_bonus_points": 50,
"points_expiration_days": 365,
"points_per_currency": 10,
"currency_amount": 1.00,
"round_points_up": true,
"min_points_per_purchase": 1,
"max_points_per_purchase": 500,
"points_per_visit": 5,
"points_redemption_enabled": true,
"points_per_currency_redemption": 100,
"currency_amount_redemption": 1.00,
"min_points_for_redemption": 100,
"max_points_per_redemption": 1000,
"terms_conditions": {
"lt": "Taškai galioja 1 metus nuo gavimo datos.",
"en": "Points are valid for 1 year from earning date."
},
"qr_code": "CARD-001-ABC123",
"partner": {
"id": 45,
"name": "Coffee Paradise",
"logo": "https://staging-api.loyalty.lt/storage/logos/coffee-paradise.png"
},
"created_at": "2024-01-01T10:00:00.000Z",
"updated_at": "2024-06-15T14:30:00.000Z"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 10,
"total": 1
}
}
{
"message": "Partner not authenticated"
}
Points Calculation Example
Given the following card configuration:points_per_currency: 10currency_amount: 1.00points_per_visit: 5round_points_up: true
- Base points: (15.50 / 1.00) × 10 = 155 points
- Plus visit bonus: 155 + 5 = 160 points
Related Endpoints
Get Card Details
Get specific card template details
Get Loyalty Card Info
Get user’s card by number or ID
Create Transaction
Award points via transaction
⌘I