e-Gider Pusulası

Referans

Teknik Referans

Enum değerleri, kullanıcı durumları, doğrulama ve PersonParty hata kodları ile validasyon referansları.

Enumlar

e-Gider Pusulası request modeli, belge senaryosunu ve doğrulama yöntemini sabit kod listeleriyle ayrıştırır. Aşağıdaki değerler API modeli, request alanları ve validasyon kuralları üzerinden doğrulanmıştır.

AlanDeğerKullanım Bağlamı
ExpenseVoucherTypeCodeSATISSatış/satın alma pusulası senaryosu
IADEİade pusulası; iade edilen belge referansı beklenir
OutgoingExpenseVoucherStatusExpenseVoucherAndXmlCreatedGider pusulası ve UBL XML oluşturuldu
SignedBelge imzalandı; GİB gönderimine hazır
OutgoingExpenseVoucherStatusForUserWaitingForVerificationPortal kullanıcısının doğrulama yöntemini tamamlaması beklenir
WaitingForSmsCodeSMS gönderilmiştir; kod girişi beklenir
ExpenseVoucherAndXmlCreatedBelge ve UBL XML oluşturulmuştur
SignedBelge imzalanmıştır
VerificationMethodSMSBackend UBL'de SMS ve SMS_PROVIDER üretir
IADEKODUBackend UBL'de IADEKODU ve IADE_PROVIDER üretir
ReturnedDocumentReference.DocumentTypeEARSIV_FATURAİadenin dayandığı e-Arşiv fatura
SATIS_FISIİadenin dayandığı satış fişi
BELGESIZBelgesiz iade; alıcı kimlik kontrolü öne çıkar
ProfileIdGIDERPUSULASIUBL profil sabiti
DelegateReceiver.IdentificationTypeTCKNVekil alıcı için T.C. kimlik numarası
PASAPORTNOVekil alıcı için pasaport numarası

Hata ve Mesaj Kodları

Mesaj kodları, entegratörün response içindeki sonucu operasyonel olarak yorumlaması için tekil referans sağlar. Liste, e-Gider Pusulası akışında tanımlı hata ve bilgilendirme kodlarıyla sınırlıdır.

KodKaynak ÜyeKapsam
COM0008SignFirmErrorİmza firmasıyla ilgili ortak hata
COM0014FirmNotFoundFirma kaydı bulunamadığında dönen ortak hata
COM0016UnknownDocumentNumberSupplierBelge numarası sağlayıcısı çözümlenemediğinde dönen ortak hata
COM0017ProvidedUUIdIsNotValidGuidGönderilen UUId geçerli GUID formatında değildir
EGP0001ModelIsEmptyRequest modeli boş veya işlenebilir durumda değildir
EGP0005ProfileIdErrorProfileId değeri GIDERPUSULASI değildir
EGP0006ExpenseVoucherTypeCodeErrorExpenseVoucherTypeCode geçerli değerlerden biri değildir
EGP0009ExpenseVoucherNumberSequenceControlErrorBelge numarası sıra veya format kontrolü başarısızdır
EGP0010ExpenseVoucherToUblXmlConversionErrorRequest modelinden UBL XML üretimi başarısızdır
EGP0011ExpenseVoucherInsertErrorBelge kaydı oluşturulamadı
EGP0012ExpenseVoucherCreatedBelge oluşturma başarılı mesajı
EGP0013ExpenseVoucherFindErrorBelge kaydı bulunamadı
EGP0014ExpenseVoucherUpdateParameterErrorGüncelleme parametreleri geçersizdir
EGP0015ExpenseVoucherUpdateErrorBelge güncelleme işlemi başarısızdır
EGP0016ExpenseVoucherUpdatedBelge güncelleme başarılı mesajı
EGP0017ExpenseVoucherStatusUpdateErrorBelge durum güncelleme işlemi başarısızdır
EGP0019ExpenseVoucherPdfCreatedPDF üretimi başarılı mesajı
EGP0020ExpenseVoucherExternalIdRequiredExpenseVoucherExternalId zorunludur
EGP0021ExpenseVoucherUblParseErrorUBL XML parse işlemi başarısızdır
EGP0022ExpenseVoucherCreatedFromUblUBL üzerinden belge oluşturma başarılı mesajı
EGP0023ExpenseVoucherSearchedBelge sorgulama başarılı mesajı
EGP0027ExpenseVoucherUpdatedFromUblUBL üzerinden güncelleme başarılı mesajı
EGP0028ExpenseVoucherExternalIdExistsExpenseVoucherExternalId daha önce kullanılmıştır
EGP0029ExpenseVoucherViewedBelge görüntüleme başarılı mesajı
EGP0030ExpenseVoucherZipFindErrorZIP paket kaydı bulunamadı
EGP0031ExpenseVoucherEmailSendSuccessE-posta gönderimi başarılı mesajı
EGP0033ExpenseVoucherUblXmlZipUBL XML ZIP çıktısı üretimi
EGP0034ExpenseVoucherZipUpdateErrorZIP paket güncelleme işlemi başarısızdır
EGP0035ExpenseVoucherUUIdExistsErrorUUId daha önce kullanılmıştır
EGP0037InvalidVerificationMethodVerificationMethod değeri SMS veya IADEKODU değildir
EGP0038ReturnedDocumentReferenceRequiredForIadeIADE senaryosunda iade belge referansı zorunludur
EGP0039InvalidTelephoneFormatTelefon formatı geçersizdir
EGP0040ExpenseVoucherCancelFindErrorİptal edilecek belge bulunamadı
EGP0041ExpenseVoucherNotSignedCancelErrorİmzalanmamış belge iptal edilmeye çalışılmıştır
EGP0042ExpenseVoucherAlreadyCancelledBelge daha önce iptal edilmiştir
EGP0043ExpenseVoucherCancelledBelge iptali başarılı mesajı
EGP0046SatisRequiresSmsVerificationSATIS senaryosunda VerificationMethod yalnızca SMS olabilir
EGP0047DocumentTypeRequiredForIadeIADE senaryosunda iade belge tipi zorunludur
EGP0048InvalidDocumentTypeDocumentType geçerli değerlerden biri değildir
EGP0049CargoRequiresIadeKoduKargo üzerinden iade akışında IADEKODU zorunludur
EGP0050BelgesizRequiresPersonIdentificationBELGESIZ iadede Türkiye Cumhuriyeti vatandaşı için TCKN, yabancı uyruklu kişi için PASAPORTNO beklenir
EGP0051IssueDateRequiredForReturnedDocumentReferenceİade belge referansı için IssueDate zorunludur
EGP0052IssueDateInvalidForReturnedDocumentReferenceİade belge referans tarihi geçersizdir
EGP0053DelegateReceiverNotAllowedInSatisSATIS senaryosunda vekil alıcı bilgisi gönderilemez
EGP0054DelegateReceiverInfoRequiredVekil alıcı modeli gönderildiğinde zorunlu alt alanlar eksiktir
EGP0055DelegateReceiverIdentificationTypeInvalidVekil alıcı kimlik tipi TCKN veya PASAPORTNO değildir
EGP0080CustomerMustBePersone-Gider Pusulası alıcısı tüzel kişi veya VKN olarak gönderilmiştir
EGP0081CustomerSinglePersonIdentificationRequiredBelge request'i tam olarak bir TCKN veya PASAPORTNO taşımıyordur
EGP0082SelectedPersonPartyIdentificationMismatchPortalda seçilen alıcı cari ile request'teki kimlik eşleşmiyordur
EGP0083DelegateReceiverPartyIdentificationMismatchPortalda seçilen vekil cari ile DelegateReceiver kimliği eşleşmiyordur
EGP0084DelegateReceiverIdentificationInvalidVekilin TCKN veya pasaport değeri geçersizdir
EGP0085CustomerPersonIdentificationInvalidAlıcının TCKN veya pasaport değeri geçersizdir
EGP0086CustomerIdentificationSchemeInvalidForReportTarihsel belgede kaydedilen kimlik GİB raporunda TCKN/PASAPORTNO olarak güvenle sınıflandırılamamıştır
EGP0087CargoCompanyUblDataMismatchHazır UBL içindeki kargo şirketi bilgileri CargoCompanies/GetAll endpointinden dönen aktif kayıtla eşleşmemiştir
EGP0088ExpenseVoucherStatusNotValidForCancellationBelgenin kayıtlı e-Arşiv durumu Valid olmadığı için iptal isteği reddedilmiştir

Belge Geçmişi (History) Bilgi Kodları

Aşağıdaki kodlar Add/Update yanıtındaki ErrorCode alanında dönmez; SMS ve iade kodu adımları sırasında belgenin geçmiş kaydına (GetOutgoingExpenseVoucherHistory) bilgilendirme mesajı olarak yazılır. Sorun giderme ve operasyonel takip için referans alınır.

KodKaynak ÜyeKapsam
EGP0062ExpenseVoucherSmsCodeSentSMS doğrulama kodu gönderildi
EGP0063ExpenseVoucherSmsVerifiedSMS doğrulaması tamamlandı
EGP0064ExpenseVoucherSmsVerificationFailedSMS doğrulama denemesi başarısız oldu
EGP0066ExpenseVoucherSmsPhoneNumberChangedSMS gönderimi için kayıtlı telefon numarası değiştirildi
EGP0068ExpenseVoucherSmsCancellationNotificationSentDoğrulama iptali bildirimi SMS ile gönderildi
EGP0069ExpenseVoucherSmsCancellationNotificationFailedDoğrulama iptali bildirimi SMS ile gönderilemedi

Doğrulama Hata Kodları ve İstemci Davranışı

Aşağıdaki kodlar SMS ve iade kodu işlemlerinde dönen servis mesajlarıdır. Entegrasyonlar mesaj metnine değil hata koduna göre davranmalıdır.

KodServis mesajıBeklenen davranış
EGP0056e-Gider Pusulası doğrulama işlemi için uygun durumda değildir.Belgenin güncel durumu sorgulanmalıdır.
EGP0057e-Gider Pusulası için başka bir doğrulama işlemi devam etmektedir.Eşzamanlı istek yinelenmemelidir.
EGP0058SMS gönderme veya doğrulama deneme sınırına ulaşıldı.Bekleme süresinden sonra yeniden denenmelidir.
EGP0059Gönderilmiş doğrulama kodu hâlâ geçerlidir.Yeni kod istenmeden mevcut kod kullanılmalıdır.
EGP0060SMS doğrulama kodu gönderilemedi.İşlem başarılı kabul edilmemeli, tekrar denenmelidir.
EGP0061Doğrulama kodu geçersizdir veya süresi dolmuştur.Yeni kod alınarak doğrulama yeniden başlatılmalıdır.
EGP0070SMS sağlayıcısının adı veya VKN bilgisi yapılandırılmamıştır.İşlem durdurulmalı ve VBT ile iletişime geçilmelidir.
EGP0071Belgeyi belirlemek için Id, ExternalId, ETTN veya belge numarasından biri gönderilmelidir.Tek bir geçerli belge kimliği eklenmelidir.
EGP0072Telefon numarası geçerli formatta değildir.Telefon numarası düzeltilmelidir.
EGP0073Doğrulama tokenı geçerli değildir.SMS gönderme adımı yeniden başlatılmalıdır.
EGP0074SMS doğrulama kodu geçerli formatta değildir.Kod biçimi düzeltilmelidir.
EGP0075SMS doğrulama işlemleri yalnızca Portal kanalından çağrılabilir.Portal endpointi doğrudan entegrasyondan çağrılmamalıdır.
EGP0078Doğrulama sağlayıcısının VKN bilgisi 10 haneli ve yalnızca rakamlardan oluşmalıdır.Sağlayıcının geçerli VKN bilgisi gönderilmelidir.
Hata sonrası devam: Geçersiz telefon, kod biçimi veya eksik iade verisi aynı adımda düzeltilir. Süresi dolmuş kodda yeni SMS istenir; deneme sınırında pencerenin yenilenmesi beklenir; sağlayıcı yapılandırması eksikse VBT ile iletişime geçilir. Entegrasyon kararını mesaj metnine değil gerçek hata responseundaki ErrorCode değerine bağlamalıdır.

PersonParty Hata Kodları

Portal UI, gerçek kişi cari işlemlerinde mesaj metni yerine aşağıdaki hata kodlarını esas almalıdır.

KodKarşılaşılabilecek durum
PPY0001Cari adı zorunludur.
PPY0003Gerçek kişi carisi için TCKN veya PASAPORTNO zorunludur.
PPY0004Gerçek kişi carisinde yalnızca TCKN veya PASAPORTNO kimliği kullanılabilir.
PPY0005Bu TCKN veya pasaport numarası aynı firmadaki başka bir caride kullanılıyor.
PPY0006Gerçek kişi carisinin son kimlik bilgisi kaldırılamaz.
PPY0007Gerçek kişi carisi için geçersiz cari rolü istendi.
PPY0008Seçilen cari gerçek kişi carisi değildir.
PPY0009Pasaport numarası 9 karakterden uzun olamaz.

Validasyon Referansları

Validasyon yanıtlarında modüle özgü mesaj kodları dışında ortak hata alanları ve taraf profili kontrollerinden gelen kodlar da görülebilir. Bu bölüm, response içindeki alanların nasıl ayrıştırılacağını teknik olarak sınırlar.

ReferansKapsamNot
ErrorModel.ErrorCodeResponse hata listesiİşlem mesaj kodu veya takip kodu bu alanda taşınır
HasError / Errors[]İşlem response modeliHata varlığı ve hata detay listesi response gövdesinde birlikte değerlendirilir
GIB_PARTY_INACTIVETaraf profili doğrulamasıGİB taraf kaydı aktif değilse validasyon listesine eklenebilir
UNHANDLED_EXCEPTIONServis hata yakalama bloğuBeklenmeyen exception durumunda genel hata kodu olarak döner
Senaryo referanslarıKullanım senaryoları karar tablolarıRehberdeki test matrisini işaretler; response mesaj kodu olarak kullanılmaz

Kaynak Bölümler

Teknik referans, ana akıştaki karar noktalarının yerine geçmez; ilgili bölümdeki business bağlamıyla birlikte okunmalıdır. Aşağıdaki bağlantılar kodların ve enumların hangi akışta değerlendirileceğini gösterir.

KonuKaynakNe Zaman Bakılır?
Enum alanlarıEntegratör API Endpoint ReferansıRequest modeli hazırlanırken
Doğrulama kurallarıPlatform SorumluluklarıHata kodu veya kombinasyon reddi analiz edilirken
Senaryo ayrımlarıKullanım SenaryolarıSATIS, IADE, kargo ve vekalet varyasyonları test edilirken
UBL karşılıklarıRequest → UBL XML MappingJSON alanının XML çıktısı doğrulanırken