e-Gider Pusulası, VUK 509 sıra numaralı Genel Tebliğ kapsamında kağıt gider pusulasının elektronik ortamda düzenlenen halidir. İzibiz üzerinden REST API veya SOAP webservis ile entegre olabilirsiniz; iki kanal da aynı belge yapısını kullanır.
Belge yapısı
Belge, UBL-TR şemasında CreditNote kök elemanı ile hazırlanır (Invoice değil).
| Alan | Değer |
|---|---|
cbc:CustomizationID |
TR1.2.1 |
cbc:ProfileID |
GIDERPUSULASI |
cbc:CreditNoteTypeCode |
SATIS veya IADE |
cbc:ID |
16 karakter: 3 karakter seri öneki + 4 haneli yıl + 9 haneli sıra numarası |
cbc:UUID |
Belgenin evrensel tekil numarası (ETTN) |
SATIŞ tipi, mükellef olmayan kişiden yapılan mal/hizmet alımlarında düzenlenir. İADE tipi, satılan malın iadesinde düzenlenir ve ek olarak cac:BillingReference bloğu içerir.
İşlemlerden önce: TOKEN ve SESSION_ID alınması
Her iki kanalda da belge işlemlerine başlamadan önce kimlik doğrulaması yapılması zorunludur. Doğrulama yapılmadan gönderilen istekler 10004 — Full authentication is required hatası ile reddedilir.
REST API — accessToken
Kimlik Doğrulama başlığı altındaki Oturum Açma (POST /v1/auth/token) metodunu çağırın. İstek gövdesi kullanıcı adı ve şifreden oluşur:
{
"username": "{{username}}",
"password": "{{password}}"
}
Dönen yanıttaki data.accessToken değerini, sonraki tüm isteklerde Authorization başlığında taşıyın:
Authorization: Bearer {{accessToken}}
Yanıttaki validity alanı token'ın geçerlilik bitiş zamanını verir. Süre dolduğunda yeni token alın veya Token Uzatma metodunu kullanın.
SOAP webservis — SESSION_ID
AuthenticationWS servisinin Login metodunu çağırın. Dönen oturum bilgisini, sonraki tüm SOAP isteklerinde REQUEST_HEADER içinde gönderin:
<REQUEST_HEADER>
<SESSION_ID>{{SESSION_ID}}</SESSION_ID>
<CLIENT_TXN_ID>trace-id-1098765</CLIENT_TXN_ID>
<APPLICATION_NAME>AppName-v1.0</APPLICATION_NAME>
<COMPRESSED>N</COMPRESSED>
</REQUEST_HEADER>
Bu portaldeki örneklerde {{accessToken}} ve {{SESSION_ID}} ortam değişkeni olarak tanımlıdır; sağ üstteki ortam seçicisinden değerlerini girebilirsiniz.
Servis uçları
| Kanal | Adres |
|---|---|
| REST | {{baseUrl}}/{{v2}}/evouchers/send |
| SOAP | https://efaturatest.izibiz.com.tr/EVoucherWS/EVoucher (WSDL için ?wsdl) |
SOAP tarafında beş metot bulunur: SendDocument (gönderme), LoadDocument (taslak yükleme), GetDocument (listeleme), GetDocumentStatus (durum sorgulama), CancelDocument (iptal).
İade senaryolarında kullanılan alanlar
| Bilgi | Alan |
|---|---|
| İadeye konu belge türü | cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID/@schemeID → EARSIV_FATURA, SATIS_FISI veya BELGESIZ |
| Doğrulama sağlayıcısı | cac:Contact/cac:OtherCommunication/cbc:ChannelCode/@name → SMS_PROVIDER veya IADE_PROVIDER |
| Doğrulama kodu | Alıcının cac:Contact bloğunda cbc:ID (kod), cbc:Name (SMS veya IADEKODU), cbc:Telephone |
| İade eden kişi alıcıdan farklıysa | Ayrıca cac:BuyerCustomerParty bloğu eklenir, doğrulama bilgisi bu blokta yer alır |
| Kargo/kurye ile iade | cac:Delivery/cac:DeliveryParty ve cbc:IndustryClassificationCode name="YETKIBELGENO" |
Her senaryonun çalışan tam örneği için REST API ve SOAP-WS başlıkları altındaki numaralı kayıtlara bakınız.