Ödüller
Ödül tanımları veritabanında değildir; financial modülündeki REWARDS listesindedir. Her tanım bir id, bir code, tutar, isteğe bağlı depo, tarih aralığı ve isActive taşır. Bitiş tarihi boşsa süre sınırsızdır.
Hareket her zaman TransactionType.REWARD (artı bakiye) olarak yazılır. Açıklama tanımın name alanıdır; transactionTypeCode tanımın id değeridir. Aynı id bir kullanıcıya ikinci kez yazılmaz.
Ortak kurallar
| Kural | Anlamı |
|---|---|
dependsOn | Bu ödül ancak belirtilen id daha önce verilmişse yazılır. |
groupId | Aynı gruptaki tanımlardan ömür boyu yalnızca biri verilir. |
warehouseId | Kayıt ve geri kazanım gibi siparişsiz ödüllerde hangi depo carisi. Sipariş ödüllerinde depo siparişten alınır. |
minOrderCount / inactivityDays | Yalnız tarama (cron) ödüllerinde: en az bu kadar teslim edilmiş sipariş, son teslimden bu kadar gün geçmiş. |
Ödül hata verirse asıl iş (kayıt, teslim) yine tamamlanır; hata loglanır.
Aktif tanımlar
Tüm kampanyaların startDate değeri 2026-08-26. Bitiş yok. Depo 1 olanlar o depo carisine yazar.
| id | Kod | Tutar | Tetik | Koşul |
|---|---|---|---|---|
BUYER_SIGNUP_REWARD_2026_08 | BUYER_SIGNUP | 300 | Yeni alıcı kaydı | Grup NEW_MEMBER_WELCOME |
FIRST_ORDER_REWARD_2026_08 | FIRST_ORDER | 500 | 1. teslim | Kayıt ödülüne bağlı |
SECOND_ORDER_REWARD_2026_08 | SECOND_ORDER | 700 | 2. teslim | Kayıt ödülüne bağlı |
WIN_BACK_TIER_3_REWARD_2026_08 | WIN_BACK | 300 | Günlük tarama | ≥ 3 teslim, 30 gün sessizlik |
WIN_BACK_TIER_5_REWARD_2026_08 | WIN_BACK | 500 | Günlük tarama | ≥ 5 teslim, 30 gün sessizlik |
WIN_BACK_TIER_10_REWARD_2026_08 | WIN_BACK | 750 | Günlük tarama | ≥ 10 teslim, 30 gün sessizlik |
Geri kazanım kademeleri aynı WIN_BACK_TIERS grubundadır: eşleşen en yüksek kademe bir kez verilir.
Kayıt ödülü
Alıcı kaydı tamamlanınca auth buyer.signup-reward olayını yayınlar. financial dinler ve grantSignupReward çalışır. Satıcı / yetkili / yönetici kaydı bu yolu çağırmaz.
Bildirim gönderilmez; yalnız cari hareketi yazılır. Akışın geri kalanı: Kayıt ve giriş.
İlk ve ikinci alışveriş
Sipariş DELIVERED olunca buyer-order.changed dinleyicisi, alıcının o andaki teslim sayısına bakar (sayaç henüz artmadan):
- Birinci teslim →
FIRST_ORDER - İkinci teslim →
SECOND_ORDER
Kayıt ödülü daha önce yazılmamışsa bu iki ödül de atlanır (dependsOn). Bildirim yok.
Geri kazanım (Sizi Özledik)
Üretimde her gün 09:00 (Europe/Istanbul) grantWinBackRewards çalışır. Teslim sayısı eşiğini geçen ve son teslimi en az 30 gün önce olan alıcılar taranır.
Bu ödül bir sohbet mesajı da gönderir: konuşma adı Sizi Özledik, tip ANNOUNCEMENT. Push gövdesinde gönderen kişi adı yoktur; kurum duyurusu gibi görünür. Gönderen yine de gerçek depo yöneticisinin kullanıcı kimliğidir (admin.userId), böylece alıcı cevap yazabilsin.
Kapalı kampanya
NO_ORDER (hiç siparişi olmayan eski üyelere hoş geldin bakiyesi) tanımı ve 09:30 cron’u kodda yorum satırına alınmıştır. Aynı NEW_MEMBER_WELCOME grubunu kayıt ödülüyle paylaşırdı; ikisinden biri alınabilirdi. Yeniden açılacaksa tanım ve cron birlikte açılır.
Sepette hediye bakiyesi
Sipariş önizlemesinde cari bakiyesi artı olan alıcıya, son 8 cari hareket taranarak “hediye bakiyeniz vardır” mesajı kurulabilir. 1 ₺ altı artık gösterilmez. Bakiye eksi ise bu tarama yapılmaz; yalnız borç mesajı kalır.
Ne ödül değildir?
- Yetkilinin elle yazdığı
REWARDhareketi aynı tiptir ama kampanya listesinden geçmez. - İade talebi tamamlanınca yazılan tutar
REFUND_BALANCE_FOR_RETURNtipindedir; ödül değildir. Hazırlık ve teslimat. - Tavsiye bakiyesi (
REFERRAL_REWARD_AMOUNT) alıcı modülündedir;REWARDSlistesinde değildir.
Cari şema: Cari ve fatura. Modül: Para ve fatura.