Cüzdan
Son Kullanıcılar
Limit Durumu

Limit Durumu

Bu uçları kim çağırır?Dış API (s2s)
Taban yol
/api/v1/wallet
Kimlik
Ed25519 istek imzası — X-Key-Id, X-Date, X-Nonce, Digest (body varsa), X-Signature. Zaman penceresi ±5 dk, nonce tek kullanımlık, anahtarda IP allow-list olabilir.
Yetki
Anahtarınız cüzdan ürününü ve çağrının gerektirdiği cüzdan iznini taşımalıdır; izni olmayan çağrı 403 WALLET_INSUFFICIENT_SCOPE alır. Uç başına izinler: Anahtar izinleri.
Çapraz yüzey
Aynı okuma merchant panelde de vardır; son kullanıcı kendi limitini portaldan okur. Limit şemalarının tanımı yalnız paneldedir. Bu uç için anahtarınızda bir cüzdan okuma izni (wallet:enduser:read) gerekir.
GET /api/v1/wallet/end-users/{id}/limits

Kullanıcının o anki limit kullanımını döner: hangi tavan uygulanıyor, ne kadarı kullanıldı, ne kadarı kaldı. Limitlerin nasıl tanımlandığı ve nasıl sayıldığı Limitler sayfasındadır; bu sayfa yalnız okuma ucunu anlatır.

Sorgu parametreleri

ParametreTipKural ve anlamı
operationTypestringEn fazla 32 karakter; harf, rakam ve _. Büyük/küçük harf fark etmez. Verilirse yalnız bu işlem tipini bağlayan sayaçlar döner (aşağıya bakın). Verilmezse şemanızdaki tüm satırlar döner.
currencystring3–8 harf. Gönderilmezse TRY.

operationType olarak işlem tipi adlarını gönderirsiniz; örneğin W2W_TRANSFER, W2IBAN_WITHDRAW, WITHDRAW_BANK, PAYMENT_BUY, BILL_PAY, TOPUP_CARD. Şemanızdaki cüzdan toplamı satırını (*) görmek için parametreyi göndermeyin; * bu parametrede kabul edilmez.

Hangi satırlar döner

Satırlar, programınıza atanmış limit şemasından, kullanıcının geçerli KYC seviyesi ve istenen para birimi için seçilir.

  • operationType olmadan: şemanızda bu seviye ve para birimi için tanımlı her işlem tipinin kendi satırı (bucket: OPERATION_TYPE) ve cüzdan toplamı satırı varsa iki satır daha döner: para çıkışı toplamı (WALLET_TOTAL_OUTFLOW) ve para girişi toplamı (WALLET_TOTAL_INFLOW). Bu iki satırda operationType değeri *'dır.
  • operationType ile: o tipin kendi satırı (tanımlıysa) ve o tipi bağlayan cüzdan toplamı satırı (tanımlıysa) döner. Bir işlemin geçebilmesi için dönen satırların hepsinde yer olmalıdır.

Para girişi sayılan tipler TOPUP_CARD, TOPUP_TRANSFER, TOPUP_AGENT, TOPUP_REFUND ve REFUND_CREDIT'tir; bunlar WALLET_TOTAL_INFLOW toplamına yazılır. Diğer tüm tipler para çıkışıdır ve WALLET_TOTAL_OUTFLOW toplamına yazılır.

Örnek

curl "https://api-gateway.lunixi.com/api/v1/wallet/end-users/8d4c2a1f-3b6e-4f7a-9c5d-2e8b1a0f6c34/limits?operationType=W2W_TRANSFER&currency=TRY" \
  -H "X-Key-Id: …" -H "X-Date: …" -H "X-Nonce: …" -H "X-Signature: …"
{
  "status": "success",
  "code": "SUCCESS",
  "message": "…",
  "data": {
    "statuses": [
      {
        "operationType": "W2W_TRANSFER",
        "bucket": "OPERATION_TYPE",
        "currency": "TRY",
        "kycLevel": "LOW",
        "schemeId": "a41c7e2b-9d3f-4b8a-8e5c-2f1d6b9a0c37",
        "singleMax": "500000",
        "daily": {
          "amountLimit": "1000000",
          "amountUsed": "125000",
          "amountRemaining": "875000",
          "countLimit": 20,
          "countUsed": 3,
          "countRemaining": 17
        },
        "monthly": {
          "amountLimit": "3000000",
          "amountUsed": "410000",
          "amountRemaining": "2590000",
          "countLimit": null,
          "countUsed": 11,
          "countRemaining": null
        }
      },
      {
        "operationType": "W2W_TRANSFER",
        "bucket": "WALLET_TOTAL_OUTFLOW",
        "currency": "TRY",
        "kycLevel": "LOW",
        "schemeId": "a41c7e2b-9d3f-4b8a-8e5c-2f1d6b9a0c37",
        "singleMax": null,
        "daily": {
          "amountLimit": "2000000",
          "amountUsed": "180000",
          "amountRemaining": "1820000",
          "countLimit": null,
          "countUsed": 5,
          "countRemaining": null
        },
        "monthly": {
          "amountLimit": "5000000",
          "amountUsed": "650000",
          "amountRemaining": "4350000",
          "countLimit": null,
          "countUsed": 19,
          "countRemaining": null
        }
      }
    ],
    "sharedCaps": []
  },
  "requestId": "…"
}

statuses[] alanları

AlanTipAnlamı
operationTypestringSatırın ait olduğu işlem tipi; cüzdan toplamı satırlarında * (operationType olmadan sorgulandığında) ya da sorguladığınız tip.
bucketstringSayacın türü: OPERATION_TYPE (tipe özel sayaç), WALLET_TOTAL_OUTFLOW (tüm para çıkışlarının ortak toplamı), WALLET_TOTAL_INFLOW (tüm para girişlerinin ortak toplamı).
currencystringSayacın para birimi.
kycLevelstringHesapta kullanılan geçerli KYC seviyesi (NONE, LOW, SUBSTANTIAL, HIGH).
schemeIdUUIDUygulanan limit şeması.
singleMaxstring | nullTek işlemde izin verilen en yüksek tutar (minor-unit). null = tek işlem tavanı yok.
daily, monthlynesneGünlük ve aylık pencere.
….amountLimitstring | nullPenceredeki tutar tavanı (minor-unit). null = bu pencerede tutar tavanı yok.
….amountUsedstringPencerede kullanılan tutar (minor-unit).
….amountRemainingstring | nullKalan tutar. Tavan yoksa null.
….countLimitsayı | nullPenceredeki işlem adedi tavanı. null = adet tavanı yok.
….countUsedsayıPencerede yapılan işlem adedi.
….countRemainingsayı | nullKalan adet. Tavan yoksa null.

Kullanılan tutar ve adet, başlamış ama henüz sonuçlanmamış işlemlerin rezervasyonlarını da içerir; ayrıntı: Limitler — Rezervasyon ve işlem ömrü.

sharedCaps[] — kanal-üstü ortak tavan

Programınızda seçili çıkış kanallarının paylaştığı bir üst tavan açıksa, kullanımı sharedCaps listesinde döner. Açık değilse liste boştur.

AlanTipAnlamı
capCodestringTavanın kodu.
descriptionstring | nullAçıklama.
membersstring[]Bu tavanı birlikte dolduran işlem tipleri.
currency, kycLevel, schemeIdstringstatuses[] ile aynı anlamda.
daily, monthlynesnestatuses[] ile aynı alanlar.

Kullanıcı tutarı girerken kalan limiti gösterin. Bir para hareketinden önce kesin sonuç için ilgili quote ucunu çağırın: quote yanıtındaki limitBlocked alanı, işlemin limit nedeniyle başlatılamayacağını bildirir.

Hatalar

HTTPKodNe zaman
400VALIDATION_ERRORoperationType ya da currency biçime uymuyor
400—{id} UUID değil
403WALLET_INSUFFICIENT_SCOPEAnahtarda cüzdan okuma izni yok
404WALLET_NOT_FOUNDKullanıcı yok ya da size ait değil
503WALLET_LIMIT_UNAVAILABLELimit sayaçları o an okunamadı; kısa bir süre sonra yeniden deneyin