☰ Menü · İşlemler
API referansı

İşlemler

Kasanın gönderdiği kapanmış fiş. Kazandırır, cashback harcatabilir, iptal edilebilir.

İşlem nesnesi

external_idstring
Sizin fiş numaranız. İşletme bazında benzersizdir.
statusstring
completed veya voided.
amountinteger
Fiş toplamı, en küçük para biriminde.
redeem_amountinteger
Cashback ile ödenen kısım.
net_amountinteger
amount − redeem_amount.
cashback_earned, stamps_earnedinteger
Fişin kazandırdıkları.
reward_unlockedboolean
Bu fiş bir damga kartını tamamladı.
currency, register_id, closed_atstring
Gönderildiği gibi.
membernesne
Fişten sonraki haliyle, yeni bakiyesiyle üye.
amount_refundedinteger
Şu ana kadar yapılan kısmi iadelerin toplamı.
displaynesne
Misafirin dilinde, basılmaya hazır cashier_text ve receipt_lines.
POST/v1/transactions
İzin: transactions:write

Kapanmış bir fişi işler. Aynı external_id tekrar gönderilirse kayıtlı sonuç 200 ile döner. card_number ve gross_amount, member ve amount alanlarının eşdeğeri olarak kabul edilir.

external_idstring, zorunlu
Sizin fiş numaranız, en fazla 128 karakter.
memberstring, zorunlu
Kart numarası, okunan değer, seri numarası, üye id'si veya telefon.
amountinteger, zorunlu
Cashback düşülmeden önceki fiş toplamı, en küçük para biriminde, sıfırdan büyük.
redeem_amountinteger
Misafirin bu fişte kullandığı cashback. Varsayılan 0. Bakiye ve programın redeem_max_percent değeriyle sınırlıdır.
currencystring
ISO 4217. Varsayılan: programın para birimi.
closed_atdatetime
Fişin kapandığı zaman, saat dilimi farkıyla ISO 8601. Varsayılan: şimdi.
register_idstring
Kasanızın veya şubenizin id'si. Raporlarda gösterilir.
hold_iduuid
redeem_amount göndermek yerine bu rezervasyonu onaylayın.
line_itemsdizi
En fazla 500 adet {sku, name, quantity, unit_price, category}. İşletmenin ürün raporları için fişle birlikte saklanır. Misafirin kazancını değiştirmez: programlar fiş tutarını esas alır.
curl
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" }
    ]
  }'
Yanıt · 201
{
  "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, ... },
    ...
  }
}
GET/v1/transactions/{external_id}
İzin: transactions:write

Fiş numaranıza göre tek bir işlemi döndürür.

POST/v1/transactions/{external_id}/void
İzin: transactions:write

Fişi geri alır: kazanılan cashback ve damgalar geri alınır, harcanan cashback iade edilir. İki kez iptal etmek zarar vermez.

curl
curl -X POST https://loyaltyfy.io/api/v1/transactions/CHK-2026-000123/void \
  -H "Authorization: Bearer sk_test_..."
Yanıt · 200
{
  "object": "transaction",
  "id": "f8acbb16-0b3b-4afc-acbb-e5eabd4dd072",
  "external_id": "CHK-2026-000123",
  "status": "voided",
  "amount": 25000,
  "cashback_earned": 1250,
  "voided_at": "2026-10-06T18:17:21.003+00:00",
  "member": {
    "object": "member",
    "id": "6dacfe0a-2500-44c6-a37c-05c660b093b4",
    "card_number": "2000111703779",
    "cashback": { "balance": 0, "currency": "MDL", "earn_rate": 5, ... },
    ...
  },
  ...
}
POST/v1/transactions/{external_id}/refunds
İzin: transactions:write

Cashback fişinin bir kısmını iade eder. O kısım için kazanılan cashback geri alınır, misafirin o kısım için ödediği cashback ise amount ile orantılı olarak iade edilir. İadenin kendi external_id değerini gönderin. Tekrar göndermek güvenlidir. Bir fiş için birden fazla iade yapılabilir, son iade kuruş farklarını kapatır. Damga ve ziyaret fişleri void ile tamamen iade edilir.

curl
# the guest returns 50.00 of a 200.00 check
curl https://loyaltyfy.io/api/v1/transactions/CHK-2026-000124/refunds \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "external_id": "RET-2026-000017", "amount": 5000 }'
Yanıt · 201
{
  "object": "refund",
  "id": "c41d2f7a-3b9e-4c11-8e0f-6a2d5b7c9e13",
  "external_id": "RET-2026-000017",
  "transaction": "CHK-2026-000124",
  "amount": 5000,
  "cashback_reversed": 200,
  "redeem_restored": 1000,
  "livemode": false,
  "created_at": "2026-10-06T18:40:02.000+00:00",
  "transaction_after": { "object": "transaction", "amount_refunded": 5000, "member": { ... }, ... }
}
GET/v1/transactions
İzin: transactions:write

İşlemleri en yeniden eskiye listeler. ?member= ile filtreleyin. Sayfalıdır.

Entegrasyonla ilgili sorularınız için: api@loyaltyfy.io. Bir iş günü içinde yanıt veriyoruz.