> ## 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.

# Artımlı eşitleme

> Hareketleri sisteminize kayıpsız ve tekrarsız aktarın; gerektiğinde bankayı hemen sorgulatın.

BankaPro banka hesaplarınızı düzenli olarak kendisi sorgular. API'de webhook veya canlı bağlantı yoktur; güncel veriyi REST istekleriyle çekersiniz. Önerilen akış:

<Steps>
  <Step title="İlk aktarım">
    Başlangıç tarihinden itibaren bütün hareketleri sayfa sayfa çekin ve hareket `id` değeriyle sisteminize kaydedin.

    ```bash theme={null}
    curl "https://api.banka.pro/v1/bank-transactions?startDate=2026-01-01&pageSize=100&page=1" \
      -u "$BANKAPRO_API_KEY_ID:$BANKAPRO_API_SECRET"
    ```

    İstekten **önce** o anki UTC zamanı bir eşitleme imleci olarak saklayın.
  </Step>

  <Step title="Değişiklikleri çekin">
    Sonraki çalışmalarda `updatedSince` ile yalnız son imleçten sonra eklenen veya güncellenen hareketleri isteyin. Durum ve not değişiklikleri de bu sorguyla gelir.

    ```bash theme={null}
    curl "https://api.banka.pro/v1/bank-transactions?updatedSince=2026-09-08T19:55:00Z&pageSize=100" \
      -u "$BANKAPRO_API_KEY_ID:$BANKAPRO_API_SECRET"
    ```
  </Step>

  <Step title="Kimliğe göre güncelleyin">
    Gelen her hareketi `id` ile **ekle ya da güncelle** (upsert) mantığıyla yazın. Böylece aynı hareketin iki kez gelmesi sorun yaratmaz.
  </Step>
</Steps>

<Tip>
  İmleci birkaç dakika geriden başlatın (ör. son imleç − 5 dakika). Sınırdaki güncellemeleri kaçırmazsınız; tekrar gelen kayıtları upsert zaten tekilleştirir.
</Tip>

<Note>
  Liste `updatedAt`'e göre değil, hareket tarihine göre sıralanır. Sayfaları gezerken yeni bir güncelleme gelirse bir kaydı iki kez görebilirsiniz; bu da kimliğe göre upsert ile çözülür.
</Note>

## Bankayı hemen sorgulatma

Düzenli sorguyu beklemeden güncel veri gerekiyorsa `POST /v1/bank-queries` ile manuel sorgu başlatın. Anahtarda **Banka sorgusu** (`baSync`) yetkisi gerekir.

<CodeGroup>
  ```bash Tek hesap theme={null}
  curl -X POST https://api.banka.pro/v1/bank-queries \
    -u "$BANKAPRO_API_KEY_ID:$BANKAPRO_API_SECRET" \
    -H "Content-Type: application/json" \
    -d '{"data":{"scope":"account","accountId":"64f000000000000000000101"}}'
  ```

  ```bash Bütün hesaplar theme={null}
  curl -X POST https://api.banka.pro/v1/bank-queries \
    -u "$BANKAPRO_API_KEY_ID:$BANKAPRO_API_SECRET" \
    -H "Content-Type: application/json" \
    -d '{"data":{"scope":"current_company_all"}}'
  ```
</CodeGroup>

* Gövde zorunludur; boş gövde "bütün hesaplar" anlamına gelmez.
* `current_company_all` firmanın uygun hesaplarını **sırayla** sorgular; yanıt sorgular bitince döner. İstemci zaman aşımınızı buna göre ayarlayın.
* Aynı hesap için zaten süren bir sorgu varsa o hesabın sonucu `skipped` olur. Bütün hesaplar `skipped` olsa bile yanıt başarılıdır.
* Anahtar başına dakikada en çok 6 sorgu isteği kabul edilir.

```json 200 OK theme={null}
{
  "success": true,
  "data": {
    "total": 2,
    "triggered": 1,
    "succeeded": 1,
    "failed": 0,
    "skipped": 1,
    "results": [
      { "accountId": "64f000000000000000000101", "status": "success" },
      { "accountId": "64f000000000000000000102", "status": "skipped" }
    ],
    "ranAt": "2026-09-08T20:00:00.000Z"
  },
  "meta": { "requestId": "9cc0d3d1-1e63-4c90-b08f-90b6332e70ca", "timestamp": "2026-09-08T20:00:05.000Z" }
}
```

Sorgu yanıtı hareket taşımaz. Sonuçları almak için ardından `updatedSince` ile hareketleri çekin.


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