☰ Меню · Швидкий старт
Швидкий старт
Створіть тестовий ключ, перевірте його, зареєструйте гостя та проведіть чек. П’ять запитів, близько п’яти хвилин.
- 1Створіть тестовий ключ
У кабінеті закладу відкрийте Розробникам → Ключі API, виберіть Тест і потрібні права. Ключ показується один раз і починається з
sk_test_. Якщо ви робите інтеграцію для багатьох закладів, попросіть кожен заклад створити для вас ключ або напишіть нам, і ми налаштуємо партнерський акаунт. - 2Перевірте ключ
Викличте
GET /v1/account. У відповіді будуть заклад, його програми лояльності та права вашого ключа. Якщо отримуєте401, ключ неправильний або відкликаний. - 3Зареєструйте гостя
Викличте
POST /v1/membersз телефоном, ім’ям іconsent: true. У відповіді буде номер картки та посилання для додавання картки в Apple Wallet або Google Wallet. - 4Проведіть чек
Викличте
POST /v1/transactionsз власним id чека вexternal_id, номером картки та сумою. У відповіді видно, що отримав гість, і новий баланс. - 5Скасуйте його
Викличте
POST /v1/transactions/{external_id}/void. Баланс повернеться до попереднього значення.
1. Перевірте ключ
curl https://loyaltyfy.io/api/v1/account \
-H "Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc"{
"object": "account",
"id": "73267e72-7f6e-4ddd-bfa2-bd6746500794",
"slug": "api-sandbox",
"name": "API Sandbox",
"timezone": "Europe/Chisinau",
"livemode": false,
"key": { "id": "65b6f90b-ba6f-47ce-886f-2deb9be1f087", "scopes": ["*"] },
"programs": [
{
"id": "06af6eba-eaf5-4662-8a5e-2b6b52c65314",
"slug": "default",
"name": "Sandbox Cashback",
"mechanic": "cashback",
"currency": "MDL",
"published": true,
"barcode": "card_code128",
"stamps_required": null,
"cashback_rate": 5
},
{
"id": "1480831a-9331-46dc-b055-90d14c844fb8",
"slug": "stamps",
"name": "Sandbox Stamps",
"mechanic": "stamps",
"currency": "MDL",
"published": true,
"barcode": "card_qr",
"stamps_required": 5,
"cashback_rate": null
}
],
"locations": []
}Зверніть увагу на список programs: заклад може вести кілька програм (наприклад, кешбек для постійних гостей і штампи на каву). Поле mechanic підказує, які показники важливі для учасника: cashback, stamps, visit_discount та інші.
2. Зареєструйте гостя
curl https://loyaltyfy.io/api/v1/members \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 7d1b2c4e-enrol-000123" \
-d '{
"phone": "+37366791102",
"first_name": "Ion",
"last_name": "Popescu",
"card_number": "2000111703779",
"language": "ro",
"consent": true
}'{
"object": "member",
"id": "6dacfe0a-2500-44c6-a37c-05c660b093b4",
"card_number": "2000111703779",
"serial": "b90273b1-10c9-46eb-ba74-8fef48266b5d",
"first_name": "Ion",
"last_name": "Popescu",
"phone": "+37366791102",
"email": null,
"birthday": null,
"language": "ro",
"marketing_consent": false,
"program": {
"id": "06af6eba-eaf5-4662-8a5e-2b6b52c65314",
"name": "Sandbox Cashback",
"mechanic": "cashback",
"barcode": "card_code128"
},
"stamps": null,
"cashback": {
"balance": 1250,
"currency": "MDL",
"earn_rate": 5,
"level": null,
"redeem_max_percent": 30,
"min_amount": 10000,
"expires_at": "2027-01-04T18:17:17.721+00:00"
},
"discount": null,
"visits": 1,
"total_spent": 25000,
"wallet": {
"apple_url": "https://loyaltyfy.io/api/wallet/issue/3832466f-...?platform=apple&t=...",
"google_url": "https://loyaltyfy.io/api/wallet/issue/3832466f-...?platform=google&t=...",
"card_url": "https://loyaltyfy.io/wallet/3832466f-...?t=..."
},
"created_at": "2026-10-06T18:17:15.594+00:00"
}card_number необов’язковий. Якщо його не передати, ми видамо 13-значний номер. Передавайте його, коли каса вже має власні картки й картка в гаманці повинна мати той самий номер.
3. Проведіть чек
curl https://loyaltyfy.io/api/v1/transactions \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"external_id": "CHK-2026-000123",
"member": "2000111703779",
"amount": 25000,
"currency": "MDL",
"register_id": "POS-1",
"closed_at": "2026-10-06T18:17:00+03:00",
"line_items": [
{ "sku": "1001", "name": "Espresso", "quantity": 2, "unit_price": 4000, "category": "Coffee" },
{ "sku": "2005", "name": "Cheesecake", "quantity": 1, "unit_price": 17000, "category": "Desserts" }
]
}'{
"object": "transaction",
"id": "f8acbb16-0b3b-4afc-acbb-e5eabd4dd072",
"external_id": "CHK-2026-000123",
"status": "completed",
"amount": 25000,
"redeem_amount": 0,
"cashback_earned": 1250,
"stamps_earned": 0,
"reward_unlocked": false,
"net_amount": 25000,
"currency": "MDL",
"register_id": "POS-1",
"closed_at": "2026-10-06T15:17:00+00:00",
"livemode": false,
"created_at": "2026-10-06T18:17:17.921+00:00",
"voided_at": null,
"member": {
"object": "member",
"id": "6dacfe0a-2500-44c6-a37c-05c660b093b4",
"card_number": "2000111703779",
"cashback": { "balance": 1250, "currency": "MDL", "earn_rate": 5, ... },
...
}
}4. Скасуйте його
curl -X POST https://loyaltyfy.io/api/v1/transactions/CHK-2026-000123/void \
-H "Authorization: Bearer sk_test_..."sk_test_, позначається як livemode: false. Тестові учасники та чеки є справжніми записами в акаунті закладу, тому використовуйте тестовий заклад або прибирайте за собою. Докладніше в розділі Тестування.