> ## Documentation Index
> Fetch the complete documentation index at: https://docs.banka.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# Veri kuralları

> Tutarlar, para birimleri, bakiye, zaman ve hareket durumu nasıl temsil edilir.

## Tutarlar

Parasal değerler iki ondalıklı **metin** olarak döner: `"125000.50"`, `"-450.00"`. Kayan noktalı sayıya (`float`, JavaScript `Number`) çevirmeyin; kuruş kaybı yaşanabilir. Dilinizin ondalık tipini kullanın (Python `Decimal`, PHP `bcmath`, Java `BigDecimal`, C# `decimal`) ya da tutarı kuruş cinsinden tam sayıya çevirin.

```python theme={null}
from decimal import Decimal

amount = Decimal(transaction["amount"])  # "1250.75" → Decimal("1250.75")
```

Hareketteki kur (`exchangeRate`), hareket para biriminin bir biriminin TRY karşılığıdır ve altı ondalıklı metin olarak döner: `"1.000000"`.

## Para birimleri

* Kodlar üç harflidir (`TRY`, `USD`, `EUR`, `XAU` …). Sabit bir liste yoktur; tanımadığınız bir kod gelebileceğini varsayın.
* Kaynakta para birimi boş olan hesap ve hareketler `TRY` döner.
* Eski kayıtlardaki `TL`, `ERU` ve `GPD` kodları sırasıyla `TRY`, `EUR` ve `GBP` olarak normalize edilir. Filtrelerde de bu kodları kullanabilirsiniz.
* **Farklı para birimleri hiçbir zaman tek toplamda birleştirilmez.** Özet uçları her para birimi için ayrı satır döner; siz de toplamları para birimi bazında tutun.

## Bakiye

| Değer | Anlamı |
| - | - |
| `"balance": "0.00"`, `"balanceKnown": true` | Banka bakiyeyi açıkça sıfır bildirdi |
| `"balance": null`, `"balanceKnown": false` | Bakiye bilinmiyor |

Bilinmeyen bakiyeyi sıfır gibi göstermeyin ya da toplama katmayın. Özet uçlarında `knownAccountCount` ve `unknownAccountCount` alanları toplamın kaç hesabı kapsadığını söyler; bilinen hiç hesap yoksa toplam `null` olur.

Hareket listesinde ve detayında işlem sonrası bakiye (`balance`) yalnız banka o hareket için bakiye bildirdiyse ve anahtarda **Hesaplar** (`baAccounts`) yetkisi de varsa döner; aksi halde `null`'dır.

## Zaman

* Yanıttaki bütün zamanlar UTC ve ISO-8601 biçimindedir: `"2026-09-08T20:00:00.000Z"`.
* Tarih filtrelerine (`startDate`, `endDate`) yalnız tarih (`2026-09-01`) verirseniz **İstanbul saatiyle** günün başı ve sonu kullanılır. Kesin bir an için saat ve ofset verin: `2026-09-01T00:00:00Z` veya `2026-09-01T03:00:00+03:00`.
* `startDate` ve `endDate` sınırları aralığa dahildir; `startDate`, `endDate`'ten sonra olamaz.

## Hareket yönü ve durumu

`direction` hareketin yönüdür: `incoming` (gelen) veya `outgoing` (giden).

`status` hareketin sizin tarafınızdaki işlenme durumudur:

| Değer | Anlamı |
| - | - |
| `0` | Bekliyor |
| `1` | İşlendi |
| `2` | Yok sayıldı |

Durum ve not, BankaPro uygulamasıyla ortaktır: API'den yaptığınız değişiklik uygulamada da görünür, uygulamada yapılan değişiklik de [artımlı eşitlemeyle](/artimli-esitleme) size ulaşır. Notlar düz metindir ve en çok 2.000 karakter olabilir.

## Kimlikler

Hesap ve hareket kimlikleri 24 karakterlik onaltılık metinlerdir (`64f000000000000000000101`). Sisteminizde eşleştirme anahtarı olarak bu kimliği saklayın.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.