GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon :



Benzer belgeler
GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon :

e-fatura Uygulaması (Sistem Yanıtı) Ağustos 2013 Versiyon : 1.3 2/20

e-fatura UYGULAMASI (Entegrasyon Kılavuzu) Şubat 2010 ANKARA e-fatura Uygulaması (Entegrasyon Kılavuzu) Şubat 2010 Versiyon : 1.

e-fatura UYGULAMASI (Entegrasyon Kılavuzu) Ağustos 2013 ANKARA e-fatura Uygulaması (Entegrasyon Kılavuzu) Ağustos 2013 Versiyon : 1.

e-logo e-fatura Özel Entegratör Sistemi

e-fatura UYGULAMASI (Test Planı) Haziran 2013 ANKARA GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı

Açıklama Bölüm Kılavuzun ilk yayım tarihi

UBL-TR Temel Fatura Senaryosu Mart 2011 Versiyon : 1.2 2/13

AÇIKLAMALARI SEBEP ÇÖZÜM

SİRKÜLER İstanbul, Sayı: 2015/ 051 Ref: 4/051. Konu: ELEKTRONİK DEFTER UYGULAMASININ WEBSERVİS KILAVUZUNDA GÜNCELLEME YAPILMIŞTIR

(Entegrasyon Kılavuzu)

SİRKÜLER İstanbul, Sayı: 2015/015 Ref: 4/015. Konu: E-FATURA UYGULAMASINA DAİR DUYURULAR YAYINLANMIŞTIR

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu

*1000 *1100 ZARF İŞLENİYOR. İlgili hata sonucunda yapılması gereken GIB DURUM KODLARI AÇIKLAMALARI SEBEP ÇÖZÜM

UYGULAMASI ELEKTRONİK

e-fatura UYGULAMASI (Başvuru Kılavuzu) Ağustos 2013 ANKARA e-fatura Uygulaması Başvuru Kılavuzu Ağustos 2013 Versiyon : 1.3 1/9

PAKET TRANSFER SİSTEMİ

VIDEOCELL API. Versiyon 1.0.0

e-fatura UYGULAMASI (Test Planı) Aralık 2017 ANKARA GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı

BSOFTefat E-FATURA ÇÖZÜMÜ

EK2 PortalPLUS Doğrudan Bağlantı (GİB veya Özel Entegratöre ) kullanım kılavuzu

TÜİK e-vt. Web Servis Kılavuzu

TC KİMLİK NO SMS GÖNDERİM SOAP API

ÇÖZÜM MARKET. LOGO e-fatura ile Kağıtsız Şirketlere Doğru...

TEMEL KAVRAMLAR. Bütünlük ve değişmezlik - Integrity Elektronik belgenin oluşturulmasından sonraki aşamalarda orijinal halini muhafaza etmesidir.

UBL-TR Ticari Fatura Senaryosu Mart 2011 Versiyon : 1.2 2/37

PAKET TRANSFER SİSTEMİ

Tel : 0(532) Web : E-Posta : info@kayikcioglugrup.com. İLETİ PAKETİ API (Entegrason) Dökümanı

e-fatura UYGULAMASI (Elektronik Başvuru Rehberi ve Kılavuzu - v 1.0) Temmuz 2015

PAKET TRANSFER SİSTEMİ

HAVAYOLU ELEKTRONİK BİLET RAPORU

UYUMSOFT İ-DÖNÜŞÜM PORTALI FATURA HATA KILAVUZU

Medula Eczane Reçete ve Rapor Web Servisleri Kullanım Kılavuzu

e-fatura Uygulaması (Zarf Yapısı) Versiyon : 1.4 2/10

6 Ocak İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler : E-Fatura

UBL UBL Türkiye Özelleştirmesi TEMEL BİLGİLER

ELEKTRONİK ARŞİV KILAVUZU

PAKET TRANSFER SİSTEMİ

SĐRKÜLER Đstanbul, Sayı: 2013/195 Ref: 4/195

1. Temel Tanımlar. 1.1 Şematron Kontrolü Nedir? 1.2 Zarf Nedir? 1.3 Uygulama Yanıtı Nedir? 1.4 Sistem Yanıtı Nedir? 1.5 Durum Kodu Nedir?

%20dolor%20sit%20amet&receipents= , &sender=PROAKTIF

e-fatura Başvuru Açıklamalar

UBL-2.1 Standardına Uygun olarak e-fatura Düzenleme Kılavuzu

um%20dolor%20sit%20amet&receipents= , &sender=ILETICELL İstekte gönderilen parametrelerin açıklamaları aşağıdaki gibidir:

LOGO e-fatura ile Kağıtsız Şirketlere Doğru...

e-fatura UYGULAMASINDA ÖZEL ENTEGRASYON YÖNTEMİ

TÜRKİYE ELEKTRONİK FON ALIM SATIM PLATFORMU WEB SERVİS İŞLEMLERİ

PAKET TRANSFER SİSTEMİ

e-fatura UYGULAMASI (Gümrük İşlemleri Kılavuzu) Aralık 2015 ANKARA e-fatura Uygulaması (Yolcu Beraber Eşya Kılavuzu) Ağustos 2015 Versiyon : 1.

E - ARŞİV. Belgelerin Elektronik Ortamda Oluşturulması

(Entegrasyon Kılavuzu)

PAKET TRANSFER SİSTEMİ

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

Dış Kurum Entegrasyonları TURKPOS API. Yardım Dokümanı

E- FATURA UYGULAMASI BAŞVURU

E-FATURA GÖRÜNTÜLEYİCİ

SĐRKÜLER Đstanbul, Sayı: 2013/209 Ref: 4/209. Konu: E-FATURA PORTAL VE E-FATURA ENTEGRASYON KILAVUZLARINDA GÜNCELLEME YAPILMIŞTIR

Dolayısıyla fatura düzenlemek veya fatura almak isteyen mükelleflerin karşılıklı olarak sistemde tanımlı olmaları gerekmektedir.

T.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu

SOAP API. Mobildev Toplu Mesajlaşma API

3G Sms&MMS GateWay Xml Interface

TODAİE edevlet MERKEZİ UYGULAMALI E-İMZA SEMİNERİ KASIM E-imza Teknolojisi. TODAİE Sunumu

Arşivleme maliyetleri, kâğıt, posta vb. giderleriniz büyük oranda düşecektir.

E-FATURA /E-DEFTER / E-ARŞİV ÇÖZÜMLERİ

e-fatura UYGULAMASINDA ÖZEL ENTEGRASYON YÖNTEMİ

Online Protokol Üretim Projesi

ÜLKEMİZDE E-FATURA EFKS E-FATURA UYGULAMASI. Mart

KAPSAM YEMİNLİ MALİ MÜŞAVİRLİK LTD. ŞTİ.

e-faturada GÜNCEL SORU VE SORUNLAR

ICE BİLİŞİM TEKNOLOJİLERİ WEB SERVİS KILAVUZU. SERVİS LİNK: DÜZENLEME TABLOSU

Eczane İlaç Satış Onay Bildirimi Web Servislerinin Kullanım Kılavuzu

e-fatura UYGULAMASI (Zarf Şema Yapısı) Mart 2011 ANKARA e-fatura Uygulaması (Zarf Yapısı) Mart 2011 Versiyon : 1.2 1/10

3G SMS & MMS GateWay Xml Interface

TÜİK e-vt Teknik Kılavuz

DEVLET PLANLAMA TEŞKİLATI BİLGİ TOPLUMU DAİRESİ BAŞKANLIĞI. e-yazışma Projesi. Paket Yapısı

JAVA API v2.0 Belge sürümü: 2.0.2

Mali Mühür. Mesut ŞENEL / Serbest Muhasebeci Mali Müşavir. İSTANBUL İkitelli KOSGEB 15 Ekim 2015

denetim mali müşavirlik hizmetleri

TEK PENCERE SİSTEMİ E-FATURA UYGULAMASI GÜMRÜK İŞLEMLERİ KILAVUZU

efatura UYGULAMASI HAKKINDA

T.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu

Online Protokol Üretim Projesi. Yazılım Geliştirici Kılavuzu. Sürüm 1.8

ERTÜRK YEMİNLİ MALİ MÜŞAVİRLİK VE BAĞIMSIZ DENETİM A.Ş. SİRKÜLER 2013/44

İHRACAT E-FATURA SIKÇA SORULAN SORULAR. Yeni sistemde yurtdışındaki firmalara nasıl fatura kesilecek? Kur nasıl belirlenecek?

T.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu

YENİ NESİL ÖDEME KAYDEDİCİ CİHAZLARA AİT ELEKTRONİK KAYIT, AKTİVASYON VE YETKİLİ SERVİS LİSTELERİ TEKNİK KILAVUZU

Kargo Modülü. Diğer modüller ile entegre çalışan Kargo modülü ile satış irsaliyesifaturasıoluşturduktan

e-defter Müşteri Web Servisi Dokümanı

SİRKÜLER 2013/ tarihli Resmi Gazetede yayımlanan 424 sıra no.lu Vergi Usul Kanunu Genel tebliğiyle;

efinans e-fatura Başvuru Kılavuzu

MOBILEPAX ENTERPRISE API (WEB SERVİS)

Sıkça Sorulan Sorular (SSS)

Online Protokol Üretim Projesi. Yazılım Geliştirici Kılavuzu. Sürüm 2.2

T.C. SAĞLIK BAKANLIĞI ĐLAÇ VE ECZACILIK GENEL MÜDÜRLÜĞÜ

Xml Arayüzleri. 6. Sms To Multisenders (Farklı Mesajların Farklı Numaralara Yollanması)

Doküman JETSMS XML Mesaj Đşlemleri Yardım Dokümanı Tarih Sürüm 1.1.0

SĐRKÜLER Đstanbul, Sayı: 2014/072 Ref: 4/072

BAY.t ENTEGRE PRO e-fatura ÇÖZÜMÜ

T.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-reçete Web Servisleri Kullanım Kılavuzu

e-yazışma Projesi TBD Kamu-BİB Aylık Bilgilendirme Toplantısı

Transkript:

e-fatura UYGULAMASI (Yazılım Standartları ve Nesne Yapısı) Ağustos 2014 E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 ANKARA Versiyon : 1.0 1/15

GELİR İDARESİ BAŞKANLIĞI Uygulama ve Veri Yönetimi Daire Başkanlığı E-Fatura Uygulaması (Yazılım Standartları ve Nesne Yapısı) Ocak 2010 Versiyon : 1.0 2/15

Versiyon Yayım Tarihi Eklenen/Silinen/Değişen Bölüm Açıklama 1.0 05.03.2010 -- Kılavuzun ilk yayım tarihi 1.1 26.04.2010 3 XAdES 3. XMLDsign bölümü tamamen kaldırılarak XAdES olarak değiştirildi. 1.2 14.03.2011 3 XAdES 4 Sıkıştırma Formatı, 6 SSL Mekanizması 7.7 DocumentType Sınıfı Metodları 8 Dönülen Aykırı Durum Kodları Açıklamalar genişletildi. Kullanılan Metot ve Sınıf 7 Kullanılan Metot ve Sınıf 1.3 19.08.2013 Yapıları bölümüne açıklama Yapıları eklendi. 1.3 19.08.2013 8 Dönülen Aykırı Durum Kodları Yeni durum kodu eklendi. 1.4 31.08.2014 7.2.2 getapplicationresponse 1.4 31.08.2014 8 Dönülen Aykırı Durum Kodları Metodun entegratörler tarafından nasıl gerçekleştireceği anlatımı eklendi. 2007 Durum kodunun Hata Açıklaması değiştirildi. Versiyon : 1.3 3/15

1 Giriş... 5 2 MTOM (Message Transmission Optimization Mechanism)... 5 3 XAdES... 6 4 Sıkıştırma Standardı... 8 5 Mesaj Özeti Standardı... 8 6 SSL Mekanizması... 8 7 Kullanılan Metot ve Sınıf Yapıları... 8 7.1 Metot Özetleri... 9 7.2 Metot Detayları... 9 7.2.1 senddocument... 9 7.2.2 getapplicationresponse... 9 7.3 Kullanılan Sınıf Özetleri... 11 7.4 DocumentRequest Sınıfı Metotları... 11 7.5 DocumentResponce Sınıfı Metotları... 12 7.6 DocumentReturnType Sınıfı Metotları... 12 7.7 DocumentType Sınıfı Metotları... 12 7.8 GetAppRespRequest Sınıfı Metotları... 13 7.9 GetAppRespRequestType Sınıfı Metotları... 13 7.10 GetAppRespResponse Sınıfı Metotları... 14 7.11 GetAppRespResponseType Sınıfı Metotları... 14 8 Dönülen Aykırı Durum(Exception) Kodları... 14 Versiyon : 1.3 4/15

1 Giriş Bu kılavuz, Elektronik Fatura Uygulamasına entegre olmak isteyenler ile uygulamaya ilişkin yazılım geliştireceklerin uymak zorunda oldukları yazılım standartları ve nesne yapısı hakkında bilgi vermek amacıyla hazırlanmıştır. Elektronik Fatura Uygulamasının genel özellikleri aşağıda yer almaktadır. Uygulama içerisinde teknolojik iletişim altyapısı olarak Web servis kullanılmıştır. Web servis iletişim altyapısı SOAP mesajları ile sağlanmaktadır. SOAP metotları için iki tür kodlama metodu bulunmaktadır. Bunlar RPC ve DOC kodlamalarıdır. Uygulamada performans açısından DOC kodlaması benimsenmiştir. SOAP mesajlarının iletiminde büyük dosyalar söz konusu olduğundan MTOM (Message Transmission Optimization Mechanism) mekanizması kullanılmıştır. Web Servis belirtiminin diğer web servis gerçekleştirimleri ile sorunsuz çalışabilmesi için WS-I ve WS-I Basic Profile standartları web servis gerçekleştiriminde dikkate alınmıştır. Kılavuzun ilk bölümünde MTOM mekanizması genel olarak tanıtılacak, sonraki bölümlerde ise tanımlanan Web Servis metotları ve metotların kullandığı parametre, dönüş değeri ve nesneler ile ilgili bilgilere yer verilecektir. 2 MTOM (Message Transmission Optimization Mechanism) MTOM ikilik verilerin etkin bir biçimde web servislerden veya web servislere gönderimini sağlayan bir metottur. İkilik veriyi göndermek için XOP(XML-binary Optimized Packaging) kullanır. MTOM büyük miktarda ikilik veriyi SOAP mesajıyla gönderme imkânı sağlamakta olup aşağıda sıralanan 3 önemli yararı bulunmaktadır. Güvenlik: MTOM, güvenlikle oluşur, verilerin güvenliği SOAP mesaj kadar iyi korunur. Ayrıca DIME'nin desteklemediği bazı güvenlik seviyeleri de MTOM Versiyon : 1.3 5/15

ile desteklenmektedir. (Örneğin: TCP analizi DIME ile yapılan transferde gerçekleştirilirse, dosyanın görüldüğü görünür ancak MTOM, dosya içine SOAP mesajına uygulanan güvenliği uygulayabilmektedir.) Dosya Boyutunun Korunması: MTOM sayesinde hat üzerinde ekstra yük oluşmaz ve böylece dosya boyutu korunmuş olur. Basit Programlama Modeli: MTOM desteği etkinleştirilerek servisteki bütün byte transferleri otomatik olarak şifrelenir. MTOM in web servis ile uygulamaları çeşitli web servis gerçekleştirim ürünleriyle sağlanmıştır. Bunlara örnek axis2 ve Microsoft web servisleri örnek verilebilir. 3 XAdES XAdES, Elektronik Fatura Uygulaması kapsamında gönderilecek olan belgelerin (Fatura veya Uygulama Yanıtı) imzalanması veya onaylanmasında kullanılmaktadır. XAdES imzalamada minimum olarak XAdES-BES kullanılmaktadır. XML imzalama için Enveloped tekniği kullanılmalıdır. Enveloping ve Detached teknikleri kabul edilmeyecektir. e-fatura onaylama işleminde bir faturanın XML imza olarak minimum aşağıdaki XML etiketlerini kullanması gerekmektedir. <ds:signature Id="Signature"> <ds:signedinfo Id="SignedInfo"> <ds:canonicalizationmethod/> <ds:signaturemethod/> <ds:reference URI="" > <ds:transforms> <ds:transform/> </ds:transforms> <ds:digestmethod/> <ds:digestvalue/> </ds:reference> <ds:reference URI="#SignedProperties" > <ds:digestmethod /> <ds:digestvalue /> </ds:reference> </ds:signedinfo> <ds:signaturevalue/> Versiyon : 1.3 6/15

<ds:keyinfo> <ds:keyvalue/> <ds:x509data> <ds:x509subjectname/> <ds:x509certificate/> </ds:x509data> </ds:keyinfo> <ds:object> <xades:qualifyingproperties Target="Signature"> <xades:signedproperties Id="SignedProperties"> <xades:signedsignatureproperties> <xades:signingtime/> <xades:signingcertificate> <xades:cert> <xades:certdigest> <ds:digestmethod/> <ds:digestvalue/> </xades:certdigest> <xades:issuerserial> <ds:x509issuername/> <ds:x509serialnumber/> </xades:issuerserial> </xades:cert> </xades:signingcertificate> <xades:signerrole> <xades:claimedroles> <xades:claimedrole/> </xades:claimedroles> </xades:signerrole> </xades:signedsignatureproperties> </xades:signedproperties> </xades:qualifyingproperties> </ds:object> </ds:signature> Mesaj özetlerinin güvenlik açısından SHA256 olması önerilmektedir. Yukarda verilen XAdES xml imza iskeletinde bulunan alanlar mutlaka kullanılmalıdır. İskelette verilen nitelik(attribute) değerleri örnek teşkil etmesi amacıyla verilmiştir. XML imzanın (mali mühür) doğrulanması için kullanılabilecek web siteleri ile çeşitli yazılımlar mevcut olup, entegrasyon çalışması yapan mükellefler bu kaynaklar yardımı ile XML imza (Mali Mühür) kontrolünü yapabilirler. Versiyon : 1.3 7/15

4 Sıkıştırma Standardı Hazırlanan zarflar zip formatı ile sıkıştırılmalıdır. Zip dosyası sıkıştırma algoritması standart zip formatı olmalıdır. Gzip, rar gibi formatlar kullanılmamalıdır. 5 Mesaj Özeti Standardı Elektronik Fatura Uygulaması aracılığı ile gönderilecek olan belgelerin Zarf XML i içerisine konulması gerekmektedir. Bu XML, zip formatında sıkıştırıldıktan sonra Web servis aracılığı ile gönderilecektir. Web servis ile bu zip belgesine ait mesaj özeti de (hash) gönderilmesi uygulama içerisinde beklenen bir durumdur. Mesaj özeti standardı olarak MD5 standardına uyulacaktır. Alınan ve gönderilen belgelere ait özet değerleri hesaplanacak ve gelen değerler ile karşılaştırılacaktır. Özet değerleri 32 karakter uzunluğunda olacaktır. 6 SSL Mekanizması Web servis iletişimi HTTPS protokolü üzerinden SSL mekanizması ile sağlanacaktır. Buna göre istemci uygulaması SSL sunucu uygulamasının kimliğini doğrular. Bu durumda Elektronik Fatura Uygulamasında bulunan birimlerin güvenilir sunucu sertifikası temin etmeleri ihtiyaçtır. Mükelleflerin SSL sunucu sertifikalarını Verisign, GlobalSign gibi güvenilir sertifika sağlayıcılarından almaları gerekmektedir. e-fatura Uygulamasına entegre olacak kurumların uygulamaları SSL sunucu sertifikası ile çalışmalıdır. Temin edilen sertifikalar ile web servis yazılımının uyumu ve çalışabilirliği sağlanmalıdır. 7 Kullanılan Metot ve Sınıf Yapıları Bu bölümde anlatılan metot ve sınıf yapıları Java programlama dili ve axis2 gerçekleştirimi ile oluşmuş örnek yapılardır. Oluşacak metot ve sınıf yapıları değişik programlama dilleri ve web servis gerçekleştirimleri ile değişebilir. Web servis için kullanılacak WSDL belgesine www.efatura.gov.tr adresinde yer alan e-fatura Paketinden ulaşılabilir. Entegratör kurumlar geliştirecekleri web servis uygulamalarındaki hem istemci hem de sunucu yazılımlarını bu WSDL e göre geliştirmek zorundadırlar. Versiyon : 1.3 8/15

7.1 Metot Özetleri DocumentResponse senddocument(documentrequest request) Kullanıcının zarfların göndereceği metottur. GetAppRespResponse getapplicationresponse(getappresprequest request) Kullanıcının zarfların durumunu sorguladığı metottur. 7.2 Metot Detayları 7.2.1 senddocument public DocumentResponse senddocument(documentrequest request) throws EFaturaFaultMessage Kullanıcının zarfların gönderileceği metottur. İkilik veriyi(binary Data), dosya adını ve ikilik verinin özetini içeren DocumentRequest nesnesi alır ve kendi hesapladığı özet değeri ile mesajı içeren DocumentResponse nesnesini döner. Throws: EFaturaFaultMessage 7.2.2 getapplicationresponse public GetAppRespResponse getapplicationresponse(getappresprequest request) throws EFaturaFaultMessage Kullanıcının zarfların durumunu sorguladığı metottur. Zarf ID yi içeren GetAppRespRequest nesnesini alır ve sistem yanıtını içeren GetAppRespResponse nesnesini döner. Throws: EFaturaFaultMessage Bu metodu Merkez Birimi dışında, e-fatura sistemine entegre olan entegratörler de kendi sunucu yazılımlarına gerçekleştirmelidirler. Entegratörler zarfların durumunu Merkez Biriminden sorgulayabilmektedirler. Benzer şekilde bu metod aracılığıyla Merkez Birim de entegratörlerin sistemine düşen zarfların durumunu sorgulayabilecektir. Versiyon : 1.3 9/15

Merkez Birimi belirli aralıklarla, entegratörlerin almış olduğu fakat sistem yanıtı dönmediği zarfların (merkezdeki durumu 1220 olan zarflar) entegratörlerdeki durumunu entegratörlerin sisteminden sorgulayacaktır. Entegratörlerden gelecek olan sistem yanıtına göre zarfın merkezdeki durumu güncellenecektir. Ardından bu sistem yanıtı zarfların göndericilerine de iletilecektir. Merkez Birimi sorgulama işlemini GetAppRespRequestType sınıfını kullanarak yapacaktır. Sorgulanacak zarfın numarası instanceidentifier sınıf değişkeni kullanılarak iletilecektir. Sorgulama sonucu GetAppRespResponseType tipinde nesne dönülmelidir. Dönülen bu nesnenin applicationresponse sınıf değişkeni, sorgulanan zarfa ait sistem yanıtı içeren zarfın XML'i (String tipinde) olmalıdır. Dönülmesi gereken applicationresponse değerinin bir XML formatındaki bir örneği http://www.efatura.gov.tr/efaturamevzuat.html adresindeki e-fatura Paketi içerisinde mevcuttur. (1_SISTEM_YANITI_POSTA_KUTUSU.xml) Bu metotun entegratörler tarafından geliştirimi şu şekilde olmalıdır: public GetAppRespResponseType getapplicationresponse(getappresprequesttype request) throws EFaturaFaultMessage { String instanceidentifier = request.getinstanceidentifier(); String appresponsestr = "<?xml version='1.0' encoding='utf-8'?>"+ "<sh:standardbusinessdocumentheader>"+ "<sh:headerversion>1.0</sh:headerversion>"; "<sh:sender>"+... "<cac:response>"+ "<cbc:referenceid>bd0a35bd-2578-4eaa-9f94-e7906e196771</cbc:referenceid>"+ "<cbc:responsecode>1200</cbc:responsecode>"+ "<cbc:description>...</cbc:description>"+ "</cac:response>"+... "</ElementList>"+ "</Elements>"+ "</ef:package>"+ "</sh:standardbusinessdocument>"; GetAppRespResponseType t = new GetAppRespResponseType(); t.setapplicationresponse(appresponsestr); return t; } Sorgulama sonucu dönülen applicationresponse değerinin sistem yanıtlarından bir farkı yoktur. Entegratörler sistem yanıtlarını hazırlarken dikkat ettikleri kurallara bu metodun geliştirimini yaparken de dikkat etmelilerdir. Versiyon : 1.3 10/15

7.3 Kullanılan Sınıf Özetleri DocumentRequest senddocument metoduna parametre olarak verilen sınıftır. DocumentResponse senddocument metodundan dönülen sınıftır. DocumentReturnType Mesaj ve özet niteliklerini içeren sınıftır. DocumentType İkili veri, dosya adı ve özet niteliklerini içeren sınıftır. GetAppRespRequest getapplicationresponse metoduna parametre olarak verilen sınıftır. GetAppRespRequestType getapplicationresponse metodundan dönülen sınıftır. GetAppRespResponse Zarf id niteliğini içeren sınıftır. GetAppRespResponseType Sistem Uygulama Yanıtını içeren sınıftır. 7.4 DocumentRequest Sınıfı Metotları DocumentType getdocumentrequest() DocumentType nesnesini döner. void setdocumentrequest(documenttype param) DocumentType nesnesine parametre ile verilen nesneyi atar. Versiyon : 1.3 11/15

7.5 DocumentResponce Sınıfı Metotları DocumentReturnType getdocumentresponse() DocumentReturnType nesnesini döner. Void setdocumentresponse(documentreturntype param) DocumentReturnType nesnesine parametre ile verilen nesneyi atar. 7.6 DocumentReturnType Sınıfı Metotları String gethash() İkili verinin özet değerini döner. String getmsg() Mesajı döner. void sethash(string param) param ile verilen değeri Hash e atar. void setmsg(string param) param ile verilen değeri Msg a atar. 7.7 DocumentType Sınıfı Metotları Base64Binary getbinarydata() İkili (binary) veriyi döner. String getfilename() Gönderilen zarfa ait dosya adını döner. String gethash() İkili verinin özet değerini döner. Versiyon : 1.3 12/15

void setbinarydata(base64binary param) Bu kısma XML formatında oluşturmuş zarfın, ZIP formatı ile sıkıştırılmış halinin verisi yazılacaktır. void setfilename(string param) Bu kısma XML formatında oluşturulmuş ve daha sonra ZIP formatında sıkıştırılmış zarfın adı yazılacaktır. Zarf adının uzantısının zip olması gerekmektedir. Zarf adının ise e-fatura Uygulaması Teknik Kılavuzlar Ek-1 e-fatura Uygulaması Zarf Şema Yapısı dokümanında belirtilen InstanceIdentifier değeri ile aynı olmalıdır. void sethash(string param) Bu kısma XML formatında oluşturulmuş ve daha sonra ZIP formatı ile sıkıştırılmış zarfın MD5 özeti yazılacaktır. 7.8 GetAppRespRequest Sınıfı Metotları GetAppRespRequestType getgetappresprequest() GetAppRespRequestType nesnesini döner Void setgetappresprequest(getappresprequesttype p aram) GetAppRespRequestType nesnesine parametre ile verilen nesneyi atar. 7.9 GetAppRespRequestType Sınıfı Metotları String getinstanceidentifier() Zarf id yi döner. void setinstanceidentifier(string param) Zarf id ye parametre ile verilen değeri atar. Versiyon : 1.3 13/15

7.10 GetAppRespResponse Sınıfı Metotları GetAppRespResponseType getgetapprespresponse() GetAppRespResponseType nesnesini döner. Void setgetapprespresponse(getapprespresponsetype param) GetAppRespResponseType nesnesine paramere ile verilen nesneyi atar. 7.11 GetAppRespResponseType Sınıfı Metotları String getapplicationresponse() Uygulama Yanıtını döner. void setapplicationresponse(string param) Uygulama Yanıtına parametre ile verilen değeri atar. 8 Dönülen Aykırı Durum(Exception) Kodları Aykırı durum kodları için WSDL de belirtilen EFaturaFaultMessage yapısı kullanılmalıdır. EFaturaFaultMessage yapısının alabileceği aykırı durum kodları ve açıklamaları aşağıdaki tabloda belirtilmiştir. Hata Kodu Hata Açıklaması 2000 OZET DEGERLER ESIT DEGIL 2001 ZARF ID SISTEMDE MEVCUT 2002 ZARF ARSIVE EKLENEMEDI 2003 ZARF KUYRUGA EKLENEMEDI 2004 ZARF ID BULUNAMADI 2005 SISTEM HATASI 2006 GECERSIZ ZARF ADI Versiyon : 1.3 14/15

Hata Kodu Hata Açıklaması 2007 PAKET GÖNDERMEYE VE SORGULAMAYA YETKİNİZ GEÇİCİ OLARAK KALDIRILMIŞTIR. Örnek: EFaturaFaultType faulttype=new EFaturaFaultType(); EFaturaFault fault=new EFaturaFault(); EFaturaFaultMessage faultmessage=new EFaturaFaultMessage(); faulttype.setcode(code)); faulttype.setmsg(msg); fault.setefaturafault(faulttype); faultmessage.setfaultmessage(fault); throw faultmessage; Not: WSDL hata yapısını(wsdl:fault) direk desteklemeyen programlama dilleri/araçları için de standartlaşma açısından EFaturaFaultMessage üretilmelidir. Döndürülen SOAP mesajı yapılandırılarak EFaturaFaultMessage üretmek mümkündür. Örneğin.Net için WSDL:fault araçlar ile üretilemiyorsa SOAPException ın metotları kullanılarak üretilebilmektedir. SoapFault detay(detail) kısmı aşağıdaki mesaja benzemelidir. <soapenv:detail> <ns2:efaturafault mlns:ns2="http://gib.gov.tr/vedop3/efatura"> <code>2000</code> <msg>ozet DEGERLER ESIT DEGIL</msg> </ns2:efaturafault> </soapenv:detail> Versiyon : 1.3 15/15