e-Adisyon

API

Entegratör API Endpoint Referansı

Entegratörün doğrudan ERP/API entegrasyonunda kullandığı belge endpointleri, alan sözleşmeleri ve yanıt örnekleri.

Kimlik Doğrulama

POST/api/Account/Token

Oturum token'ı alır. Tüm diğer endpointler bu token'ı VbtAuthorization header'ında bekler.

RequestTokenRequestModel{ Email, Password }
ResponseTokenResponseModel{ Token }

Alan Zorunluluk Matrisi

AlanZorunlu mu?Not
DocumentExternalIdEvetBenzersiz, ERP referansı
ProfileIdEvetEARSIVBELGE
BillTypeCodeEvetADISYON
IssueDateEvetISO 8601
AccountingSupplierPartyGöndermeyinVBT doldurur
AccountingCustomerPartyEvetVKN veya TCKN kimliği
BillLine[]EvetEn az bir kalem
LegalMonetaryTotalEvetKalem toplamlarıyla tutarlı

Ekleme

POST/api/BillApi/AddOutgoingBill

JSON model ile e-Adisyon oluşturur.

RequestOutgoingBillRequestModel
ResponseOutgoingBillAddResponseModelData.{ HasError, Errors, BillNumber, Ettn }
POST/api/BillApi/AddOutgoingBillByUbl

Hazır UBL XML ile e-Adisyon oluşturur.

RequestBillUblRequestModel
ResponseOutgoingBillAddResponseModel
POST/api/BillApi/PreviewOutgoingBill

Kayıt oluşturmadan taslak PDF üretir (dummy UUId/DocumentNumber ile).

RequestOutgoingBillRequestModel
ResponseOutgoingBillPreviewResponseModel.BillPdfFileBytes (doğrudan bu adla tanımlı, override yok)

Güncelleme

POST/api/BillApi/UpdateOutgoingBill

Mevcut belgeyi günceller.

Ön koşulBelge önce detay endpointinden okunmalı; request içinde mevcut Id ve UUId bulunmalıdır.
RequestOutgoingBillRequestModel
ResponseOutgoingBillUpdateResponseModelData.{ HasError, Errors, BillNumber, Ettn }
POST/api/BillApi/UpdateOutgoingBillByUbl

Hazır UBL XML ile günceller.

RequestBillUblRequestModel

İptal

POST/api/BillApi/CancelOutgoingBill

Belgeyi iptal eder. Yalnızca Signed durumdaki belgeler iptal edilebilir.

RequestBillCancelRequestModel{ Id, BillExternalId, Ettn, BillNumber, EArchiveStatus, EArchiveCancelDescription } (kayıt Id/BillExternalId/Ettn/BillNumber'dan ilk eşleşenle bulunur)
Responsebool
Notİmzalanmamış belge iptali BLL0024, zaten iptal edilmiş belge BLL0025 döner. Bildirim e-postası gönderilmez.
{
  "Ettn": "6b60c576-7ed9-4bf1-9f90-3c97747b7470",
  "EArchiveStatus": 2
}

Sorgulama & Görüntüleme

GET/api/BillApi/GetOutgoingBill?id={ettn}

ETTN ile belge detayını getirir.

ResponseOutgoingBillResponseModel
POST/api/BillApi/GetOutgoingBillList

Özet liste sorgular.

RequestSearchRequestModel<OutgoingBillGetRequestModel>
FiltrelerETTN, taraf VKN/TCKN/adı, belge no, dış referans, tarih, e-Arşiv/mail/rapor/iptal-rapor durumları
ResponseSearchResponseModel<OutgoingBillSummaryResponseModel>
POST/api/BillApi/GetOutgoingBillPdf

Bir veya daha fazla e-Adisyon'un PDF çıktısını getirir.

RequestBillPdfRequestModelEttns[] (JSON alanı BillEttns)
ResponseBillPdfResponseModel.BillPdfFileBytes — JSON içinde base64 olarak taşınır. (C# property adı FileBytes'tır, JsonProperty ile tel adı BillPdfFileBytes'a zorlanır.)
{
  "BillEttns": ["6b60c576-7ed9-4bf1-9f90-3c97747b7470"]
}
POST/api/BillApi/GetOutgoingBillDocumentPackage

Portal görüntüleme/indirme senaryosunda kullanılan belge paketini döner.

RequestGlobalDocumentPreviewRequestModel
ResponseDocumentPreviewResponseModel
POST/api/BillApi/GetOutgoingBillXmlList

Belgelerin UBL XML çıktılarını toplu olarak getirir (Excel değil, XML).

RequestOutgoingBillXmlRequestModel{ BillEttns: [] }
ResponseOutgoingBillXmlResponseModel

Alt Modeller

OutgoingBillRequestModel

AlanTipNot
IdintGüncellemede kullanılır
DocumentExternalIdstringERP dış referansı, zorunlu
DocumentNumberstringBelge no; boşsa VBT üretir
ProfileIdstringEARSIVBELGE
BillTypeCodestringADISYON
UUIdstringETTN; boşsa VBT üretir
DocumentCurrencyCodestringISO 4217
IssueDateDateTimeISO 8601
LineCountNumericdecimalKalem sayısı
AccountingSupplierPartySupplierPartyRequestModelVBT doldurur, göndermeyin
AccountingCustomerPartyCustomerPartyRequestModelAlıcı taraf
TaxTotalList<TaxTotalRequestModel>Belge seviyesi vergi toplamları
WithholdingTaxTotalList<TaxTotalRequestModel>Tevkifat bilgileri
LegalMonetaryTotalMonetaryTotalRequestModelBelge parasal toplamları
BillLineList<OutgoingBillLineRequestModel>Kalemler
EArchiveMailTostringÇoklu adres ; ile ayrılır
ChannelCodestringUygulama kodu
Not: Yukarıdaki tablo sık kullanılan alanları kapsar; model ayrıca AllowanceCharge, OrderReference, BillingReference, DespatchDocumentReference, ReceiptDocumentReference, OriginatorDocumentReference, ContractDocumentReference, BuyerCustomerParty, SellerSupplierParty, TaxRepresentativeParty, Delivery, PaymentMeans, PaymentTerms, döviz kuru alanları ve Barcode gibi UBL uyumlu opsiyonel alanlar da taşır.

OutgoingBillLineRequestModel

AlanTipNot
IdstringKalem sıra no
CreditedQuantityQuantityRequestModelMiktar + birim kodu
LineExtensionAmountdecimalKalem tutarı
TaxTotalTaxTotalRequestModelKalem vergi bilgisi
WithholdingTaxTotalList<TaxTotalRequestModel>Kalem tevkifatı
ItemItemRequestModelMal/hizmet adı
PricedecimalBirim fiyat

AccountingCustomerParty / AccountingSupplierParty

Ortak Vbt.Core.Ubl taraf modeli kullanılır: Party.PartyIdentifications[] (SchemeId: VKN|TCKN, Value), Party.PartyName, Party.PostalAddress (CityName, Country.Name vb.).

Enum Değerleri

AlanDeğerAnlam
OutgoingBillStatusBillAndXmlCreatedBelge ve UBL XML oluşturuldu, imzalama bekliyor
Signedİmzalandı; GİB gönderimine ve iptale hazır
ProfileIdEARSIVBELGEGİB e-Arşiv belge profili
BillTypeCodeADISYONe-Adisyon belge tipi

Response — Belge Detay

İşlemModelÖnemli alanlar
EklemeOutgoingBillAddResponseModelHasError, Errors[], BillNumber, Ettn
GüncellemeOutgoingBillUpdateResponseModelHasError, Errors[], BillNumber, Ettn
DetayOutgoingBillResponseModelBelgenin tüm alanları
ListeSearchResponseModel<OutgoingBillSummaryResponseModel>UUID, taraf, tarih, tutarlar, durumlar
PDFBillPdfResponseModelBillPdfFileBytes

Başarılı oluşturma yanıtı

{
  "RefreshToken": "",
  "Data": {
    "HasError": false,
    "Errors": [],
    "BillNumber": "ADS2026000000001",
    "Ettn": "6b60c576-7ed9-4bf1-9f90-3c97747b7470"
  }
}

İçerik doğrulama yanıtı

{
  "RefreshToken": "",
  "Data": {
    "HasError": true,
    "Errors": [
      { "ErrorCode": "BLL0020", "ErrorMessage": "ExternalId zorunludur." }
    ],
    "BillNumber": null,
    "Ettn": null
  }
}