İ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 Parametreleri

AdTipZorunluAciklama
Authorization text Evet v1/auth/token endpointten alınan token

Body Parametreleri

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

Yanit Kodlari

KodAciklama
200