Ekstre satırlarını parça parça teslim et▾
Talep ile Aktarım

Ekstre satırlarını parça parça teslim et(deliverErpStatementPart)

POST/erp-requests/{id}/statement/rows

Ekstre satırlarını parça parça teslim et

Son güncelleme: 21 Eylül 2026 · Sözleşme sürümü 1.0.0

Parçalı ekstre teslimatı: statement talebinin satırları bu uca ≤20.000'lik parçalar hâlinde, sırayla (part = 1, 2, …, total_parts) bırakılır; ardından POST …/complete { statement: { total_parts } } bitirir. İlk parça hazırlanan dosyayı açar ve talebe bağlar (talep in_progress kalır); total_parts sonraki parçalarda değiştirilemez (422 total_parts_mismatch); sırasız parça 409 part_out_of_order; aynı parça numarası tekrar gönderilirse veri yazılmaz, mevcut sayaç döner; parça 20.000 satırı, toplam 250.000 satırı (elle yükleme ile aynı tavan) ya da toplam 128 MB parça verisini aşarsa 413; paketin tek dosya satır tavanını aşan ilk parça 402 quota_exceeded (parça yazılmadan). Satır biçimi Ekstre dosyaları bölümündeki satırla aynı; para birimsiz satırlar talebin para birimini alır (muhasebe personeli sihirbazın 2. adımında seçer); talepte yoksa hücre boş kalır ve iş açılırken işin para birimi uygulanır — gövdede para birimi alanı yoktur. Bir parça gövdesi 16 MB'ı aşamaz (uzun açıklamalarda parçayı küçültün). Tüm teslimat (parçalar + complete) talebin oluşturulmasından itibaren 40 dakika içinde bitmelidir — veriyi ERP'den ÖNCE hazırlayın, sonra parçaları art arda gönderin. Kalıcı ret (400/402/413/422) talebi failed yapar; geçici hata (429/5xx/ağ) rezervasyonu bırakır — aynı Idempotency-Key ile sonraki turda aynı parçayı yeniden gönderin (parça başına farklı anahtar kullanın). Küçük ekstre de tek parça olarak bu yoldan gider.

Servis

MetotPOST
Adreshttps://mutabakat.ai/api/v1/erp-requests/{id}/statement/rows
Kapsamstatements:write
Idempotency-KeyZorunlu
dry_runDestekleniyor (?dry_run=true)

İstek Parametreleri

AlanTürZorunluAçıklama
id (yol)string (uuid)EvetTalep kimliği
dry_run (sorgu)"true"Hayırtrue ise hiçbir şey yazılmaz; doğrulama + "ne olacak" raporu döner (yalnız bu yazım).
Idempotency-Key (başlık)stringHayırAynı anahtar + aynı gövde 24 saat boyunca aynı yanıtı verir (Idempotency-Replayed: true); aynı anahtar farklı gövde 409. Toplu yazma uçlarında zorunlu.

İstek Gövdesi

İçerik türü application/json.

AlanTürZorunluAçıklama
partintegerEvetParça sırası (1'den başlar, ardışık)
total_partsintegerEvetToplam parça sayısı (1–64; ilk parçada sabitlenir)
rowsobject[]EvetBu parçanın satırları (≤20.000)
rows[].reference_nostring | nullHayır
rows[].datestringEvet
rows[].descriptionstring | nullHayır
rows[].amountstringHayır
rows[].debitstringHayır
rows[].creditstringHayır
rows[].currencystringHayır

Örnek gövde

{
  "part": 1,
  "total_parts": 2,
  "rows": [
    {
      "date": "2026-02-14",
      "reference_no": "FTR2026000123",
      "description": "Şubat satış faturası",
      "amount": "12500.00"
    },
    {
      "date": "2026-03-20",
      "description": "Havale",
      "debit": "0.00",
      "credit": "5000.00"
    }
  ]
}

Yanıt

200Parça alındı

AlanTürAçıklama
dataErpRequest
partobject
part.stage_idstringHazırlanan dosya kimliği
part.partinteger
part.received_partsinteger
part.expected_partsinteger
part.row_countintegerŞimdiye kadar alınan toplam satır
request_idRequestId

Hata Kodları

Bu uç için dönebilecek HTTP durumları: 400 · 401 · 402 · 403 · 404 · 409 · 413 · 422 · 429 · 500 · 503. Zarf biçimi ve kod listesi için Hata Kodları sayfasına bakın.

Örnek İstek

curl -X POST https://mutabakat.ai/api/v1/erp-requests/<id>/statement/rows \
  -H "Authorization: Bearer $MAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"part":1,"total_parts":2,"rows":[{"date":"2026-02-14","reference_no":"FTR2026000123","description":"Şubat satış faturası","amount":"12500.00"},{"date":"2026-03-20","description":"Havale","debit":"0.00","credit":"5000.00"}]}'