İzibiz Developer Portal
E-Bilet

E-Bilet Gönderme

POST{{baseUrl}}/{{v2}}/etickets/send

JSON gövde ile e-Bilet gönderir. Gönderilen biletler, izibiz tarafından aylık e-Bilet Raporu olarak GİB'e raporlanır; bu nedenle aşağıdaki alanların eksiksiz ve tutarlı doldurulması gerekir.

Sürüm: Yalnızca {{v2}} altında çalışır; {{v1}} ile "Servis kullanılmamaktadır" döner.

Benzersizlik: Her gönderimde content.documentNo ve content.uuid benzersiz olmalıdır. Senaryolardaki değerler örnektir; tekrar gönderirken bu iki alanı değiştirin.

Gönderici (supplierParty): content.supplierParty.identifier alanı, token alınan (oturum açan) hesabın VKN/TCKN değeri ile aynı olmalıdır; aksi halde 10013 hatası döner. Senaryolarda test hesabının VKN'si (4840847211) kullanılmıştır, kendi hesabınızla gönderirken bu alana kendi VKN/TCKN'nizi yazın.

Belge numarası (documentNo): 16 karakter — 3 haneli birim kodu + 4 haneli yıl + 9 haneli müteselsil sıra no (ör. BLT2026000000101). Sıra no her yıl başında 1'den başlar.

Zorunlu alanlar:

  • content.legalMonetaryTotal — lineExtensionAmount (KDV hariç) ve payableAmount (KDV dahil). Boş bırakılamaz.
  • content.taxTotal.taxAmount ve taxTotal.taxSubTotal[].taxableAmount — hem belge hem satır seviyesinde.
  • content.customerParty — firstName, lastName, identifier ve address. Yabancı yolcuda identifier alanına pasaport no yazılır.
  • content.travel.routeFrom, routeTo (güzergâh başlangıç/bitiş) ve car (taşıt/vagon no).
  • content.lines[].typeOfService.type ve description.

Değer listeleri (GİB e-Bilet şeması):

  • paymentMeans[].paymentCode: BANKAKARTI, BEDELSIZ, KREDIKARTI, PUAN, MAHSUP, MAHSUPPUAN, NAKIT, PASS, PROMOSYON, ULASIMKARTI, DIGER. Birden fazla ödeme şeklinde ya en yüksek tutarlı ödeme şekli yazılır ya da DIGER seçilip durum instructionNote alanında açıklanır.
  • lines[].typeOfService.type: SEYAHAT, BAGAJ, YEMEK, KOLTUKSECIMI, IPTALDEGISIKLIKTAZMINATI, CEZA, DIGER. DIGER seçilirse description boş bırakılamaz.
  • travel.travelType: YUTRICI (yurtiçi — API'deki değer bu şekildedir) veya YURTDISI.
  • lines[].seat.passengerGender: KADIN, ERKEK, DIGER. seat.tariff tarife ayrımı (ör. ÖĞRETMEN, 65+ Yaş), seat.class sınıflandırma içindir.

Gider gösterme: Bilet bedelini gider/indirim olarak gösterecek firma content.buyerCustomerParty (name, identifier, address) ile gönderilir. Bilet gönderildikten sonra eklemek/güncellemek için "Gider Gösterme Bilgisi Ekleme/Güncelleme" endpoint'ini kullanın.

Senaryolar: Karayolu satış, ek hizmet, tazminat ve ceza senaryoları ile hatalı istek örnekleri aşağıdaki listededir. "Hatalı istek" senaryoları bilinçli olarak eksik gönderilir ve doğrulama hatası döner.

Sık karşılaşılan hata kodları:

Kod HTTP Açıklama Çözüm
10009 400 Bu belge daha önce yüklenmiş bir belge ile eşleşmektedir (mesajda eşleşen belgenin Belge No ve ETTN değeri yer alır). content.documentNo ve content.uuid alanlarını daha önce kullanılmamış yeni değerlerle gönderin. Senaryolardaki örnek numaralar test ortamında kullanılmış olabilir.
10013 400 Geçersiz istek (NOT_VALID_REQUEST). Zorunlu bir alan eksik ya da hatalı olduğunda döner; hangi alanın sorunlu olduğu error.message içinde belirtilir. Mesajdaki alanı düzeltin. Örnek mesajlar: "Belge gönderen ile oturum açan hesaba ait VKN/TCKN değerleri uyuşmamaktadır" (supplierParty.identifier oturumdaki hesabın VKN/TCKN'si olmalı), "Alıcının Soyadı (lastName) Boş Bırakılamaz" (customerParty.lastName), "Vergi Toplamı (taxTotal) ve Vergi Alt Toplamı (taxSubTotal) bilgileri boş bırakılamaz" (taxTotal.taxSubTotal).

Header Parameters

NameTypeRequiredDescription
Authorization text Yes v1/auth/token endpointten alınan token

Body Parameters

NameTypeRequiredDescription
xsltName text No Görüntüleme şablonu adı
documentAction text No SEND: gönder, DRAFT: taslak olarak kaydet
content object Yes Bilet içeriği: profile (EBILET), documentTypeCode, documentNo, issueDate, reservationNo, expeditionTime, supplierParty, customerParty, paymentMeans, taxTotal, expenseIssuer, travel, lines
└ documentTypeCode text Yes E-Bilet belge tipi. ETKINLIK değeri etkinlik biletleri için kullanılır.
└ profile text Yes E-Bilet profil bilgisi.
└ issueDate date Yes Biletin düzenlenme tarihi. yyyy-MM-dd formatında gönderilir.
└ issueTime text Yes Biletin düzenlenme zamanı. HH:mm:ss formatında gönderilir.
└ reservationNo text Yes Rezervasyon numarası.
└ currencyCode text Yes Belge para birimi.
event object Yes Etkinlik bilgileri. ETKINLIK belge tipinde kullanılır.
└ event.name text Yes Etkinliğin adı.
└ event.type text Yes Etkinlik türü. Örnek: KONSER, TIYATRO, SINEMA, SPOR.
└ event.eventDate text Yes Etkinlik tarihi. yyyy-MM-dd formatında gönderilir.
└ event.eventTime text No Etkinlik saati. HH:mm:ss formatında gönderilir.
└ event.organizerIdentifier text No Etkinliği düzenleyen tarafın VKN/TCKN bilgisi. VKN 10, TCKN 11 hanelidir.
└ event.venue object No Etkinliğin gerçekleştirileceği mekân bilgileri.
└ provinceCode text No
└ district text No
└ municipality text No
└ name text No
└ supplierParty object Yes Bileti düzenleyen/hizmeti sağlayan taraf bilgileri.
└ identifier text No
└ name text No
└ taxOffice text No
└ address object No
└ city text No
└ city text No
└ country text No
customerParty object Yes
└ identifier text No
└ firstName text No
└ lastName text No
paymentMeans array Yes Ödeme yöntemi bilgileri.
└ paymentCode object No
└ paymentDate object No
└ #1 object No
└ paymentCode text Yes Ödeme yöntemi. Geçerli değerler: BANKAKARTI, BEDELSIZ, KREDIKARTI, PUAN, MAHSUP, MAHSUPPUAN, NAKIT, PASS, PROMOSYON, ULASIMKARTI, COKLU, DIGER.
└ paymentDate text No Ödeme tarihi. yyyy-MM-dd formatında gönderilir.

Response Codes

CodeDescription
200