Nilvera, belgeyi gönderimden önce şemadan geçirir ve uymayanı hata açıklamasıyla reddeder. Önizleme ucu belge oluşturmadan aynı doğrulamayı yapar; ancak numara serisini denetlemez, bu yüzden önizleme yeşili gönderimin geçeceği anlamına gelmez. Hata, durum koduna değil yanıttaki hata koduna bakılarak okunur.
Önizleme ne yapar?
Nilvera her gönderim yolunun bir önizleme eşi sunar. Önizleme, belgeyi gerçekten oluşturmadan sağlayıcının işleme hattından geçirir ve sonuçta render edilmiş bir görünüm döndürür. Belge kalıcı olarak kaydedilmez, numara tüketilmez ve GİB'e hiçbir şey çıkmaz. Bu yüzden yeni bir kurulumu denemek, belge üreticinin çıktısını kontrol etmek ve operatöre göstermek için kullanılabilir.
Denememizde önizleme, ilk başarılı çağrıda elli bin karakterlik bir görünüm döndürdü; içinde belge numarası, iki taraf vergi bilgisi, araç plakası, şoför adı, malzeme ve miktar bulundu. Kalem kodu ise sağlayıcının şablonunda basılmıyordu; XML'de var olduğu için bu bir veri kaybı sayılmaz. Genel durum için Nilvera rehber yazısına bakın.
Şema doğrulaması
Nilvera'yı farklı kılan, belgeyi gönderimden önce şemadan geçirmesidir. Diğer sağlayıcıların çoğu toleranslıdır: eksik ya da boş bırakılmış bir alanı kendi tamamlar. Nilvera ise belge şemaya tam uymuyorsa durur ve hata açıklamasında hangi öğenin eksik olduğunu yazar.
Bu davranışın iki yüzü var. Olumlu yanı, hatanın GİB'e gitmeden önce, açık bir mesajla görülmesidir. Olumsuz yanı, belge üreticinin şemaya her ayrıntıda uymasının zorunlu olmasıdır. Kantar programının ürettiği belgenin tüm sağlayıcılarda aynı kalması için, çözüm genel belge üreticisine sağlayıcıya özgü koşullar eklemek yerine, sağlayıcıya özgü bir profil tanımlamaktır.
Boş imza bloğu
Ortak belge üreticimiz, imza için ayrılmış bölümü boş bir kapsayıcı olarak üretiyordu. Diğer sağlayıcılar bu bölümü kendi imzasıyla doldurduğu için sorun çıkmıyordu. Nilvera ise bunu şemaya aykırı buldu ve belgeyi reddetti.
| Gönderilen | Sonuç |
|---|---|
| Boş kapsayıcı | Şema hatası: içerik tamamlanmamış |
| Boş imza listesi | Şema hatası: imza bilgisi bekleniyor |
| Bölüm hiç gönderilmedi | Kabul edildi, görünüm üretildi |
Doğru çözüm, bu sağlayıcı için bölümü hiç göndermemektir; imzayı zaten Nilvera ekler. Diğer sağlayıcıların çıktısı bu değişiklikten etkilenmez.
Önizleme yeşilinin sınırı
Önizleme, şemayı denetler ama her kuralı değil. Numara serisinin firmaya tanımlı olup olmadığını denetlemez: serisi tanımsız bir numarayla önizleme geçti, aynı belge gönderimde seri hatasıyla reddedildi. Bu yüzden önizleme geçti diye gönderim başarılı sayılmaz; seri ayrıca doğrulanır. Seri ayarları hesap, API anahtarı ve seri hazırlığı yazısında.
Hata kodunu okumak
Nilvera hatalarını hem HTTP durum koduyla hem de yanıtın içindeki iş koduyla bildirir. Yalnız durum koduna bakmak yanıltır: aynı durum kodu seri hatası için de numara çakışması için de görülebilir. Karar, yanıttaki hata kodundan verilir.
- Seri firmaya tanımlı değil. Numaranın ilk harfleri hesapta yok.
- Şema hatası. Belge şemaya uymuyor; ayrıntı açıklamada yazar.
- Belge kimliği sistemde kayıtlı. Aynı belge daha önce gönderilmiş.
- Numara daha önce kullanılmış. Aynı numarayla başka bir belge var.
- Sanal alıcıya gönderilmeli. Alıcı kayıtsız; doğru etiketle yeniden gönderilir.
Son iki hatanın nasıl ayrıldığı internet kesilince Nilvera e-irsaliye yazısında, genel hata çerçevesi ise e-irsaliye durumları ve hata çözümleri yazısında. Demo için iletişim sayfasına yazabilirsiniz; demo ücretsizdir.
Sık sorulan sorular
Önizleme belge oluşturur mu?
Hayır. Önizleme ucu belgeyi şemadan geçirir ve render edilmiş görünümünü verir; ama kalıcı bir belge oluşturmaz. Bu yüzden kurulumu denemek için güvenlidir.
Önizleme geçtiyse gönderim de geçer mi?
Kesin değildir. Önizleme belgeyi şemadan geçirir ama numara serisinin firmaya tanımlı olup olmadığını denetlemez. Serisi tanımsız bir belge önizlemede geçer, gönderimde reddedilir.
Neden boş imza bloğu şema hatası veriyor?
Şemaya göre imza bölümü, içinde en az bir öğe barındırmak zorundadır. İçi boş bırakılan bölüm şemadan geçmez. Nilvera, imzayı kendisi eklediği için bu bölümün hiç gönderilmemesi doğru çözümdür.
HTTP durum kodu hatayı anlamaya yeter mi?
Hayır. Aynı durum kodu farklı hatalar için dönebilir; örneğin seri hatası da numara çakışması da aynı sınıfta olabilir. Karar, yanıttaki hata kodundan verilmelidir.
STEQAR bu doğrulamayı Nilvera için şimdi yapıyor mu?
Henüz değil. Önizleme ve şema davranışı sağlayıcı tarafında ölçüldü; STEQAR'ın Nilvera bağlantısı hazırlık aşamasındadır.
STEQAR, SCP Bilişim ve Otomasyon Sistemleri'nin geliştirdiği kantar programıdır; Türkiye genelinde uzaktan kurulum ve destek verir.