Talep ile Aktarım
Teslimat Veri Biçimleri
Talep türüne göre complete gövdesi: cari listesi, ekstre satırları, dönem bakiyeleri.
Son güncelleme: 21 Eylül 2026 · Sözleşme sürümü 1.0.0
Talebin kind alanına göre complete gövdesi. Ekstre satırları complete'ten ÖNCE POST …/statement/rows ile ≤ 20.000'lik parçalar hâlinde sırayla gönderilir; complete yalnız parça sayısını bildirir.
| kind | Talepte ne gelir | Gövde | Alanlar | Tavan / kural |
|---|---|---|---|---|
counterparties | params boş — tüm cari listesi istenir | { "counterparties": [ … ] } | external_id (ERP kodu, zorunlu) · name · tax_number (VKN 10 / TCKN 11 hane) · email · contact_name · notes | ≤ 10.000 (içeride 1.000'lik parçalar; kısmi başarı — reddedilenler delivery.errors[]) |
statement | params.counterparty { external_id, name, tax_number } + period_start / period_end (+ currency) | Önce POST …/statement/rows × N: { "part", "total_parts", "rows": [ … ] } (sıralı parçalar) · sonra complete: { "statement": { "total_parts" } } | satır: date (YYYY-MM-DD) · description · reference_no · amount (işaretli: borç +, alacak −) ya da debit / credit · currency; para birimi talepten (para birimsiz satırlar onu alır) | parça ≤ 20.000 satır ve ≤ 16 MB, toplam ≤ 250.000 satır (elle yüklemeyle aynı) / 128 MB; tüm teslimat talepten itibaren 40 dk içinde; dönem ve cari talepten; satırlar arka planda ayrıştırılıp sihirbaz kartına düşer ("hazırlanıyor" → dosya), iş adı/taraflar/para birimi muhasebe personelinin çerçevesinden |
balances | params.period_date (+ currency) | { "balances": { "records": [ … ], "response_deadline"?, "currency"? } } | kayıt: counterparty { external_id | tax_number } (biri zorunlu; name verilirse rehberde yoksa satır içi oluşturulur; email gönderin — muhasebe personeli tek tek yazmak zorunda kalmasın) · amount (işaretsiz) · direction (debit | credit) | ≤ 5.000; bir kayıt reddedilirse hiçbiri yazılmaz (422 details[]); response_deadline yoksa bugün + 15 gün. Dikkat: name verilen kayıt rehberdeki mevcut bir firmaya denk geliyorsa anahtarda counterparties:write olmalı (yoksa 422 directory_update_requires_scope ve tüm teslimat düşer) — ya bu kapsamı verin ya da yalnız external_id gönderin |
Örnek gövdeler
// kind = statement — 1) POST …/{id}/statement/rows (parça 1..N, her biri kendi Idempotency-Key'iyle)
{ "part": 1, "total_parts": 1, "rows": [
{ "reference_no": "FTR2026000123", "date": "2026-08-14", "description": "Satış faturası", "amount": "12500.00" },
{ "reference_no": "TAH-88", "date": "2026-08-20", "description": "Havale", "debit": "0.00", "credit": "5000.00" }
] }
// kind = statement — 2) POST …/{id}/complete (tüm parçalar gittikten sonra)
{ "statement": { "total_parts": 1 } }
// kind = balances
{ "balances": { "records": [
{ "counterparty": { "external_id": "0001000045" }, "amount": "184250.00", "direction": "debit" }
], "response_deadline": "2026-09-30" } }
// kind = counterparties
{ "counterparties": [
{ "external_id": "0001000045", "name": "Örnek Ticaret A.Ş.", "tax_number": "1234567890", "email": "muhasebe@ornek-ticaret.com.tr" }
] }Not
Tutarlar 2 ondalık haneli string (
"12500.00"); ekstrede amount işaretlidir (borç +, alacak −) ya da debit / credit çifti verilir. Tarihler YYYY-MM-DD. currency boş bırakılan satırlar talebin para birimini alır.