Cüzdan
Panel Kılavuzu
Raporlar

Panel — Raporlar

Bu uçları kim çağırır?Merchant panel
Taban yol
/api/panel/v1/wallet
Kimlik
Panel oturumu (JWT) — Authorization: Bearer <panel access token>. Token panel girişinden gelir; s2s imza anahtarı bu uçları AÇMAZ.
Yetki
RBAC izin kodu: wallet:report:read · wallet:fee:manage · wallet:terminal:read · wallet:bulk:create
Çapraz yüzey
Bu sayfadaki uçların s2s API'de karşılığı YOKTUR; kendi panelinizden çağıramazsınız. Bu yetenekler yalnız merchant panelde, panel oturumuyla kullanılabilir.
GET reports/overview        # genel bakış (programId, tarih aralığı)
GET reports/operations      # operasyon hacmi ve kırılımı
GET reports/fees            # ücret ve vergi geliri
GET reports/campaigns       # kampanya etkisi ve bütçe tüketimi
GET reports/terminals       # terminal bazlı işlem
GET reports/custody         # emanet — tutulan toplam müşteri parası

Ayrıca listeleme uçlarından dışa aktarma yapabilirsiniz: operations/export, bulk-payout-statements/period.

Emanet (custody) raporu

GET reports/custody          # programId, asOf

Programda tutulan toplam müşteri parasını gösterir. Uyum ve mutabakat açısından en kritik rapordur: bu tutar, karşılık hesabınızdaki bakiyeyle örtüşmelidir.

asOf — rapor bir AN'dır, dönem değil

Custody raporu bir stoktur, akış değil. Bir stoğun dönemi olmaz, anı olur — bu yüzden uç from/to değil asOf (ISO8601) kabul eder. Dönem içi akışı görmek istiyorsanız reports/operations kullanın.

asOf boş bırakılırsa anlık/kümülatif pozisyon döner (varsayılan davranış).

⚠️

Bloke kolonları asOf taşıyamaz. Nakit çekim ve kart otorizasyonu nedeniyle bloke edilmiş tutarlar geçmiş bir ana geri taşınamaz; rapor bunu saklamaz, söyler: yanıttaki blockedBasis alanı

  • CURRENT — asOf verilmedi; her şey aynı anın fotoğrafı.
  • CURRENT_NOT_AS_OF — asOf verildi, ama bloke kolonları GÜNCEL değerdedir.

Geçmişe dönük bir mutabakat yaparken CURRENT_NOT_AS_OF gördüyseniz bloke kolonlarını o tarihin verisi sanmayın; mutabakat farkını bu kolonlarla açıklamaya çalışmak yanlış sonuç verir.

⚠️

Emanet tutarı ile banka tarafındaki karşılık arasındaki farkı düzenli olarak kontrol edin. Fark; askıda fonlar, mutabakat bekleyen çıkışlar (AWAITING_RECON) veya tutulan işlemler (HELD) ile açıklanabilmelidir. Açıklanamayan bir fark araştırılmalıdır.

Ücret raporu

GET reports/fees

Ücret ve vergi kırılımını gösterir. Beklenmedik bir tutar gördüğünüzde:

  1. İlgili operasyonun scheduleVersionId alanına bakın.
  2. O sürümün matrisinde hangi eşik dalına düşüldüğünü kontrol edin (appliedThreshold, appliedTimeKey).
  3. Şema sürümünün ne zaman aktifleştiğini kontrol edin.

Şema sürümü değiştiğinde raporda "aynı işlem tipi için iki farklı ücret" görünmesi normaldir; sürüm sınırında karşılaştırma yapıyorsanız scheduleVersionId ile ayırın.

Kampanya raporu

GET reports/campaigns
GET campaigns/:id/report

Kaç işlemin kampanyadan yararlandığı ve ne kadar bütçe harcandığı. Kampanya duraklamışsa (bütçe koruması) rapordaki eğri düzleşir — bunu bir talep düşüşü sanmayın.

Operasyon raporu

GET reports/operations

Tip, durum ve dönem bazında hacim. Mutabakat için:

BakılacakNeden
AWAITING_RECON sayısıArtıyorsa banka tarafında bir sorun vardır
FAILED oranıAni artış, limit/kapı yapılandırma hatasına işaret eder
HELD sayısıRisk kuralları çok sıkı olabilir
EXPIRED oranıKullanıcılar onay adımını tamamlamıyor — arayüz sorunu olabilir

Bu dört metriği düzenli izleyin. Cüzdan sorunlarının çoğu, kullanıcı şikâyeti gelmeden önce bu eğrilerde görünür.

Terminal raporu

GET reports/terminals

Mağaza kodu, terminal durumu ve tarih aralığıyla filtrelenir. Terminal alanlarını tutarlı doldurmadıysanız bu rapor işe yaramaz — bkz. Panel — QR & Terminaller.

Mutabakat disiplini

  1. Emanet raporunu günlük karşılaştırın. Fark açıklanabilir olmalı.
  2. AWAITING_RECON kuyruğunu boş tutun. Birikiyorsa banka tarafında çözülmemiş bir sorun vardır.
  3. Ücret gelirini şema sürümüyle eşleştirin. Sürüm sınırlarında karşılaştırma yanıltır.
  4. Kampanya bütçesini izleyin. Duraklamış kampanya sessizdir; raporda görünür.
  5. Dışa aktarmayı dar tarih aralığıyla alın. Geniş aralıklar hem yavaştır hem de analiz edilmesi zordur.