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

# Bankalar

> Türkiye'deki bankaların kataloğu — kod, isim, BKM ID.

Identity servisi, Türkiye'deki tüm aktif bankaların kataloğunu sağlar. Banka kodu, BKM üye numarası ve görüntüleme bilgileri buradan çekilir.

## Endpoint

```http theme={null}
GET /api/v1/lookups/banks
```

Bearer access token gerektirir.

## İstek

```bash theme={null}
curl "https://identity.payven.com.tr/api/v1/lookups/banks?page=1&page_size=50" \
  -H "Authorization: Bearer $PAYVEN_TOKEN"
```

| Query parametresi  | Tip    | Açıklama                                      |
| ------------------ | ------ | --------------------------------------------- |
| `search_term`      | string | İsim veya kodda "içerir" araması              |
| `page`             | int    | Sayfa numarası (varsayılan `1`)               |
| `page_size`        | int    | Sayfa boyutu (1–200, varsayılan `50`)         |
| `include_inactive` | bool   | Pasif bankaları da getir (varsayılan `false`) |

## Yanıt

`200 OK` — sayfalı liste:

```json theme={null}
{
  "items": [
    {
      "id":           "8e3f5c12-...",
      "code":         "GARANTI",
      "name":         "Garanti BBVA",
      "bkm_member_id": "62",
      "swift_code":   "TGBATRIS",
      "is_active":    true,
      "logo_url":     "https://cdn.payven.com.tr/banks/garanti.svg"
    },
    {
      "id":           "9f3d2b8e-...",
      "code":         "AKBANK",
      "name":         "Akbank",
      "bkm_member_id": "46",
      "swift_code":   "AKBKTRIS",
      "is_active":    true,
      "logo_url":     "https://cdn.payven.com.tr/banks/akbank.svg"
    }
  ],
  "page":              1,
  "total_pages":       1,
  "total_count":       28,
  "has_previous_page": false,
  "has_next_page":     false
}
```

## Kullanım örnekleri

* **Checkout sayfasında banka listesi:** Müşteriye hangi bankalardan kart kabul edildiğini göstermek.
* **Raporlama:** İşlemleri banka adına göre gruplamak.
* **Routing kuralları:** Akıllı yönlendirme kurallarında banka seçimi için.

## Caching önerisi

Banka kataloğu **nadiren değişir**. İstemcinizde 24 saatlik cache önerilir:

```javascript theme={null}
const CACHE_TTL_MS = 24 * 60 * 60 * 1000;
let banksCache = null;

async function getBanks() {
  if (banksCache && Date.now() - banksCache.fetchedAt < CACHE_TTL_MS) {
    return banksCache.data;
  }
  const res = await fetch(
    "https://identity.payven.com.tr/api/v1/lookups/banks?page_size=200",
    { headers: { Authorization: `Bearer ${token}` } },
  );
  const data = await res.json();
  banksCache = { data: data.items, fetchedAt: Date.now() };
  return data.items;
}
```
