API
İşlem Örnekleri
Kimlik, dönem, oluşturma, rapor ve durum sorguları için tam ve kopyalanabilir JSON örnekleri.
Oturum Açma
POST /api/Session/Login
{
"Email": "entegrasyon@example.com",
"Password": "GuvenliParolaniz"
}Başarılı cevapta alınan token ve firma kimliği sonraki çağrıların header'larında kullanılır; parola yeniden gönderilmez.
VBT Client Tarafından Üretilen Aktarım
POST /api/LedgerState/TransferParsedFile
{
"Credentials": {
"IdentificationNumber": "1234567890",
"BranchCode": "0000",
"PeriodStart": "2026-03-01T00:00:00",
"PeriodEnd": "2026-03-31T00:00:00"
},
"ParsedFile": {
"Key": "client-uretimli-parca-000001.json",
"Value": "BASE64_ENCODED_CLIENT_PART"
}
}ParsedFile.Value, VBT Client'ın ayrıştırıp sıkıştırdığı gerçek parça içeriğinin Base64 karşılığıdır. Bu örnek yalnız JSON serileştirme biçimini gösterir.Rapor ve Defter Üretimi
POST /api/LedgerState/GetProcessReport
{
"IdentificationNumber": "1234567890",
"BranchCode": "0000"
}Data.IsReadyForLedgerCreation değeri true, Data.DiagnoseMessages listesi boş ve sayısal özet kaynak kayıtlarla tutarlı olmalıdır.
POST /api/LedgerState/CreateLedger
{
"IdentificationNumber": "1234567890",
"BranchCode": "0000",
"PeriodStart": "2026-03-01T00:00:00",
"PeriodEnd": "2026-03-31T00:00:00"
}Başarılı yanıt
{
"Data": true,
"Messages": [],
"StackTrace": null,
"StatusCode": 200,
"TotalRows": 0,
"TotalPages": 0,
"IsSuccessful": true
}Data=true üretim isteğinin kabul edildiğini gösterir. Nihai sonuç güncel özet durumundan izlenir.
Durum ve Onay
POST /api/LedgerSummary/GetCurrentLedgerSumary
{
"IdentificationNumber": "1234567890",
"BranchCode": "0000"
}Endpoint adındaki Sumary yazımı API route sözleşmesinin mevcut biçimidir.
POST /api/LedgerApproval/LedgerApproval
Request gövdesi, GetEntity veya güncel özet cevabındaki Data nesnesinin tamamıdır. Alanları elle azaltmayın; özellikle Uuid, firma/şube, dönem ve CurrentStatus değerlerini güncel cevaptan koruyun.
{
"Uuid": "22222222-2222-2222-2222-222222222222",
"SecurityFirmUuid": "11111111-1111-1111-1111-111111111111",
"IdentificationNumber": "1234567890",
"BranchCode": "0000",
"BranchDescription": "Merkez",
"IsBranch": false,
"PeriodStart": "2026-03-01T00:00:00",
"PeriodEnd": "2026-03-31T00:00:00",
"PartCount": 1,
"HeaderCount": 125,
"FirstHeader": 1,
"LastHeader": 125,
"DetailCount": 420,
"FirstDetail": 1,
"LastDetail": 420,
"SourceApplication": "ERP",
"SourceMethod": "Client",
"SourceUser": "entegrasyon",
"CurrentStatus": "WaitingForApprove",
"PreviousStatus": "WaitingForLedgerCreation",
"PeriodYear": 2026,
"PeriodMonth": 3,
"FailDescription": null,
"IsFirmSummaryUpdatable": false,
"FirmLastUniqueNumber": "125",
"StatusDescription": "Defter Onayı Bekleniyor",
"LedgerFileSize": 204800,
"TotalDebit": 150000.25,
"TotalCredit": 150000.25
}GİB Durumu ve Onaylı Dosya
POST /api/LedgerGib/BulkSendGibQueue
{
"IdentificationNumber": "1234567890",
"BranchCode": "0000",
"PeriodStart": "2026-03-01T00:00:00",
"PeriodEnd": "2026-03-31T00:00:00"
}Başarılı yanıt
{
"Data": true,
"Messages": [],
"StackTrace": null,
"StatusCode": 200,
"TotalRows": 0,
"TotalPages": 0,
"IsSuccessful": true
}Data=true gönderim isteğinin kabul edildiğini gösterir; GİB'in paketi onayladığını göstermez. Aynı Uuid üzerindeki CurrentStatus ve paket sonuçları izlenir.
POST /api/LedgerGib/GetBatchStatus
{
"FileName": "1234567890-202603-YB-000000"
}Örnek yanıt
{
"Data": {
"StatusDescription": "GİB TARAFINDAN İŞLENDİ",
"StatusCode": "PAKET_DURUM_KODU",
"FileName": "1234567890-202603-YB-000000"
},
"Messages": [],
"StackTrace": null,
"StatusCode": 200,
"TotalRows": 0,
"TotalPages": 0,
"IsSuccessful": true
}Data.StatusCode, Data.StatusDescription ve Data.FileName birlikte değerlendirilir. GİB durum kodu ve açıklaması örnekte temsili gösterilmiştir; entegrasyon gerçek yanıttaki değerleri kullanır.
POST /api/LedgerGib/ReceiveFile
{
"FileName": "1234567890-202603-YB-000000"
}Başarılı yanıt
{
"Data": {
"FileName": "GIB-1234567890-202603-YB-000000.xml",
"FileByte": "UEsDBBQAAAAI..."
},
"Messages": [],
"StackTrace": null,
"StatusCode": 200,
"TotalRows": 0,
"TotalPages": 0,
"IsSuccessful": true
}Data.FileName dosya adını, Data.FileByte ise JSON içinde Base64 olarak serileştirilen dosya içeriğini taşır. Request'teki FileName değerine uzantı eklemeyin; platform kaydında bulunan gerçek paket kimliğini aynen kullanın.
BranchCode alanını kaldırmayın; 0000 gönderin. Yetkilendirme ve firma bilgileri JSON gövdesine değil, ilgili header'lara yazılır.