e-Defter

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"
  }
}
Elle oluşturmayın: 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.

JSON kullanımı: Tarihler ISO 8601 biçimindedir. Şube yoksa BranchCode alanını kaldırmayın; 0000 gönderin. Yetkilendirme ve firma bilgileri JSON gövdesine değil, ilgili header'lara yazılır.