API
Entegrasyon API Endpoint Referansı
Client, kullanıcı arayüzü ve API arasındaki aktarım, oluşturma, onay, durum ve GİB sonucu sözleşmeleri.
Bu sayfadaki endpointler tek bir çağrıda yasal defter sonucunu üretmez. Aktarım, rapor, üretim, onay, imza ve GİB sonucu birbirinden ayrı aşamalardır. Her çağrıdan sonra hem ServiceResponse hem güncel özet durumu kontrol edilmelidir.
Önerilen Çağrı Sırası
| Sıra | Çağrı | Ön koşul | Başarı kanıtı | Sonraki adım |
|---|---|---|---|---|
| 1 | Session/Login | Yetkili kullanıcı | Token ve firma UUID'si alındı. | Header'ları oluşturun. |
| 2 | LedgerState/TransferParsedFile | VBT Client analizi başarılı | Parça özet kaydıyla ilişkilendirildi. | Kalan parçaları aktarın. |
| 3 | LedgerState/GetProcessReport | Tüm parçalar aktarıldı | IsReadyForLedgerCreation=true, teşhis listesi boş ve toplamlar tutarlı. | Defter üretimini başlatın. |
| 4 | LedgerState/CreateLedger | Rapor üretime hazır | İstek kabul edildi; özet WaitingForApprove durumuna ilerledi. | Önizleme ve mutabakat yapın. |
| 5 | LedgerApproval/LedgerApproval | Güncel özet WaitingForApprove | Özet WaitingForSign durumuna ilerledi. | İmza sonucunu izleyin. |
| 6 | LedgerGib/BulkSendGibQueue | Özet WaitingForSendingToGib | Gönderim isteği kabul edildi; mevcut Uuid ilerliyor. | Paket ve özet durumunu sorgulayın. |
| 7 | LedgerGib/GetBatchStatus / ReceiveFile | Platformun döndürdüğü gerçek paket adı | GİB sonucu olumlu ve onaylı dosya alınabilir. | İmzalı defter ve onaylı beratları arşivleyin. |
VBT Client → API
POST/api/LedgerState/TransferParsedFile
Analiz edilmiş tek defter parçasını firma ve dönem kimliğiyle aktarır. Çok parçalı kaynaklarda her parça ayrı çağrılır.
| Request | TransferParsedLedgerPart — Credentials, ParsedFile.Key, ParsedFile.Value |
| Response | ServiceResponse<LedgerSummaryViewModel> |
| Tekilleştirme | Aynı firma, şube, ay ve gerçek parça adı kullanılır. |
| Başarı sonrası | Son parça aktarılana kadar üretim çağrılmaz. |
POST/api/LedgerState/GetProcessReport
Aktarımın sayısal özetini, teşhis mesajlarını ve oluşturma hazır bilgisini döndürür.
| Request | FirmCredentials |
| Response | ServiceResponse<TempLedger_ProcessReport> |
| Kontrol | Descriptive, DiagnoseMessages, AccountTransactions ve IsReadyForLedgerCreation birlikte değerlendirilir. |
| Başarısızsa | Teşhis mesajındaki parça, fiş ve satır bilgisi kaynak kayıtla eşleştirilir; CreateLedger çağrılmaz. |
Client sözleşmesi:
TransferParsedFile doğrudan kaynak muhasebe JSON'u kabul etmez. ParsedFile, VBT Client'ın ürettiği ad/Base64 byte çifti olarak taşınır.Kullanıcı Arayüzü → API
POST/api/LedgerState/CreateLedger
Hazır aktarım için aylık yevmiye, kebir ve berat üretimini başlatır.
| Request | LedgerCredentials |
| Response | ServiceResponse<bool> |
| Ön koşul | Süreç raporu üretime hazır ve teşhis listesi boş olmalıdır. |
| Başarı anlamı | Data=true isteğin kabul edildiğini gösterir; üretimin bittiğini göstermez. |
POST/api/LedgerApproval/LedgerApproval
Kontrol edilen tek bir defter özetini onaylar ve imza aşamasına taşır.
| Request | LedgerSummaryViewModel |
| Response | ServiceResponse<bool> |
| Ön koşul | Yevmiye, kebir, berat, dönem ve mali toplamlar mutabık; durum WaitingForApprove. |
| Model kaynağı | Güncel GetEntity veya özet cevabındaki Data nesnesinin tamamı. |
Durum ve GİB Sonucu
| Metot | Endpoint | Amaç |
|---|---|---|
| GET | /api/LedgerSummary/GetEntity?Uuid={uuid} | Tek bir dönem özetini ve güncel durumu alır. |
| POST | /api/LedgerSummary/GetCurrentLedgerSumary | Firma/şube için güncel dönem özetini döndürür. |
| POST | /api/LedgerSummary/GetPreviousLedgerSummary | Bir önceki dönem özetini döndürür. |
| POST | /api/LedgerGib/BulkSendGibQueue | LedgerCredentials ile hazır dönemin GİB gönderim sürecini başlatır. |
| POST | /api/LedgerGib/GetBatchStatus | GetBatchStatusRequestModel içindeki gerçek FileName için GİB durumunu döndürür. |
| POST | /api/LedgerGib/ReceiveFile | ReceiveDocumentRequestModel ile GİB onaylı dosyayı alır. |
Çağrı sırası: GİB gönderimi yalnız
WaitingForSendingToGib durumunda başlatılır. Aynı dönem için yeni gönderim açmadan önce güncel özet ve paket durumu kontrol edilir.Belirsiz Sonuç ve Güvenli Tekrar
| Olay | Yapılmaması gereken | Güvenli kontrol |
|---|---|---|
| Parça aktarımında timeout | Dosya adını değiştirip yeni parça gibi göndermek | Güncel özeti ve süreç raporundaki parça/fiş sayılarını kontrol edin. |
CreateLedger cevabı alınamadı | Aynı dönemi doğrudan yeniden oluşturmak | GetCurrentLedgerSumary veya GetEntity ile durum ve Uuid'yi doğrulayın. |
| Onay cevabı alınamadı | Eski özet gövdesiyle tekrar onay vermek | Güncel özeti alın; durum hâlâ WaitingForApprove ise güncel Data nesnesini kullanın. |
| GİB gönderim sonucu belirsiz | Yeni paket veya yeni dönem oluşturmak | Aynı Uuid, gerçek paket adı ve güncel durum üzerinden sorgulayın. |