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
| Metot | POST |
| Adres | https://mutabakat.ai/api/v1/erp-requests/{id}/statement/rows |
| Kapsam | statements:write |
| Idempotency-Key | Zorunlu |
| dry_run | Destekleniyor (?dry_run=true) |
İstek Parametreleri
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| id (yol) | string (uuid) | Evet | Talep kimliği |
| dry_run (sorgu) | "true" | Hayır | true ise hiçbir şey yazılmaz; doğrulama + "ne olacak" raporu döner (yalnız bu yazım). |
| Idempotency-Key (başlık) | string | Hayır | Aynı 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.
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| part | integer | Evet | Parça sırası (1'den başlar, ardışık) |
| total_parts | integer | Evet | Toplam parça sayısı (1–64; ilk parçada sabitlenir) |
| rows | object[] | Evet | Bu parçanın satırları (≤20.000) |
| rows[].reference_no | string | null | Hayır | |
| rows[].date | string | Evet | |
| rows[].description | string | null | Hayır | |
| rows[].amount | string | Hayır | |
| rows[].debit | string | Hayır | |
| rows[].credit | string | Hayır | |
| rows[].currency | string | Hayı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ı
| Alan | Tür | Açıklama |
|---|---|---|
| data | ErpRequest | |
| part | object | |
| part.stage_id | string | Hazırlanan dosya kimliği |
| part.part | integer | |
| part.received_parts | integer | |
| part.expected_parts | integer | |
| part.row_count | integer | Şimdiye kadar alınan toplam satır |
| request_id | RequestId |
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"}]}'