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.
| Alan | Değer | Kullanım Bağlamı |
|---|---|---|
ExpenseVoucherTypeCode | SATIS | Satış/satın alma pusulası senaryosu |
IADE | İade pusulası; iade edilen belge referansı beklenir | |
OutgoingExpenseVoucherStatus | ExpenseVoucherAndXmlCreated | Gider pusulası ve UBL XML oluşturuldu |
Signed | Belge imzalandı; GİB gönderimine hazır | |
OutgoingExpenseVoucherStatusForUser | WaitingForVerification | Portal kullanıcısının doğrulama yöntemini tamamlaması beklenir |
WaitingForSmsCode | SMS gönderilmiştir; kod girişi beklenir | |
ExpenseVoucherAndXmlCreated | Belge ve UBL XML oluşturulmuştur | |
Signed | Belge imzalanmıştır | |
VerificationMethod | SMS | Backend UBL'de SMS ve SMS_PROVIDER üretir |
IADEKODU | Backend UBL'de IADEKODU ve IADE_PROVIDER üretir | |
ReturnedDocumentReference.DocumentType | EARSIV_FATURA | İadenin dayandığı e-Arşiv fatura |
SATIS_FISI | İadenin dayandığı satış fişi | |
BELGESIZ | Belgesiz iade; alıcı kimlik kontrolü öne çıkar | |
ProfileId | GIDERPUSULASI | UBL profil sabiti |
DelegateReceiver.IdentificationType | TCKN | Vekil alıcı için T.C. kimlik numarası |
PASAPORTNO | Vekil 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.
| Kod | Kaynak Üye | Kapsam |
|---|---|---|
COM0008 | SignFirmError | İmza firmasıyla ilgili ortak hata |
COM0014 | FirmNotFound | Firma kaydı bulunamadığında dönen ortak hata |
COM0016 | UnknownDocumentNumberSupplier | Belge numarası sağlayıcısı çözümlenemediğinde dönen ortak hata |
COM0017 | ProvidedUUIdIsNotValidGuid | Gönderilen UUId geçerli GUID formatında değildir |
EGP0001 | ModelIsEmpty | Request modeli boş veya işlenebilir durumda değildir |
EGP0005 | ProfileIdError | ProfileId değeri GIDERPUSULASI değildir |
EGP0006 | ExpenseVoucherTypeCodeError | ExpenseVoucherTypeCode geçerli değerlerden biri değildir |
EGP0009 | ExpenseVoucherNumberSequenceControlError | Belge numarası sıra veya format kontrolü başarısızdır |
EGP0010 | ExpenseVoucherToUblXmlConversionError | Request modelinden UBL XML üretimi başarısızdır |
EGP0011 | ExpenseVoucherInsertError | Belge kaydı oluşturulamadı |
EGP0012 | ExpenseVoucherCreated | Belge oluşturma başarılı mesajı |
EGP0013 | ExpenseVoucherFindError | Belge kaydı bulunamadı |
EGP0014 | ExpenseVoucherUpdateParameterError | Güncelleme parametreleri geçersizdir |
EGP0015 | ExpenseVoucherUpdateError | Belge güncelleme işlemi başarısızdır |
EGP0016 | ExpenseVoucherUpdated | Belge güncelleme başarılı mesajı |
EGP0017 | ExpenseVoucherStatusUpdateError | Belge durum güncelleme işlemi başarısızdır |
EGP0019 | ExpenseVoucherPdfCreated | PDF üretimi başarılı mesajı |
EGP0020 | ExpenseVoucherExternalIdRequired | ExpenseVoucherExternalId zorunludur |
EGP0021 | ExpenseVoucherUblParseError | UBL XML parse işlemi başarısızdır |
EGP0022 | ExpenseVoucherCreatedFromUbl | UBL üzerinden belge oluşturma başarılı mesajı |
EGP0023 | ExpenseVoucherSearched | Belge sorgulama başarılı mesajı |
EGP0027 | ExpenseVoucherUpdatedFromUbl | UBL üzerinden güncelleme başarılı mesajı |
EGP0028 | ExpenseVoucherExternalIdExists | ExpenseVoucherExternalId daha önce kullanılmıştır |
EGP0029 | ExpenseVoucherViewed | Belge görüntüleme başarılı mesajı |
EGP0030 | ExpenseVoucherZipFindError | ZIP paket kaydı bulunamadı |
EGP0031 | ExpenseVoucherEmailSendSuccess | E-posta gönderimi başarılı mesajı |
EGP0033 | ExpenseVoucherUblXmlZip | UBL XML ZIP çıktısı üretimi |
EGP0034 | ExpenseVoucherZipUpdateError | ZIP paket güncelleme işlemi başarısızdır |
EGP0035 | ExpenseVoucherUUIdExistsError | UUId daha önce kullanılmıştır |
EGP0037 | InvalidVerificationMethod | VerificationMethod değeri SMS veya IADEKODU değildir |
EGP0038 | ReturnedDocumentReferenceRequiredForIade | IADE senaryosunda iade belge referansı zorunludur |
EGP0039 | InvalidTelephoneFormat | Telefon formatı geçersizdir |
EGP0040 | ExpenseVoucherCancelFindError | İptal edilecek belge bulunamadı |
EGP0041 | ExpenseVoucherNotSignedCancelError | İmzalanmamış belge iptal edilmeye çalışılmıştır |
EGP0042 | ExpenseVoucherAlreadyCancelled | Belge daha önce iptal edilmiştir |
EGP0043 | ExpenseVoucherCancelled | Belge iptali başarılı mesajı |
EGP0046 | SatisRequiresSmsVerification | SATIS senaryosunda VerificationMethod yalnızca SMS olabilir |
EGP0047 | DocumentTypeRequiredForIade | IADE senaryosunda iade belge tipi zorunludur |
EGP0048 | InvalidDocumentType | DocumentType geçerli değerlerden biri değildir |
EGP0049 | CargoRequiresIadeKodu | Kargo üzerinden iade akışında IADEKODU zorunludur |
EGP0050 | BelgesizRequiresPersonIdentification | BELGESIZ iadede Türkiye Cumhuriyeti vatandaşı için TCKN, yabancı uyruklu kişi için PASAPORTNO beklenir |
EGP0051 | IssueDateRequiredForReturnedDocumentReference | İade belge referansı için IssueDate zorunludur |
EGP0052 | IssueDateInvalidForReturnedDocumentReference | İade belge referans tarihi geçersizdir |
EGP0053 | DelegateReceiverNotAllowedInSatis | SATIS senaryosunda vekil alıcı bilgisi gönderilemez |
EGP0054 | DelegateReceiverInfoRequired | Vekil alıcı modeli gönderildiğinde zorunlu alt alanlar eksiktir |
EGP0055 | DelegateReceiverIdentificationTypeInvalid | Vekil alıcı kimlik tipi TCKN veya PASAPORTNO değildir |
EGP0080 | CustomerMustBePerson | e-Gider Pusulası alıcısı tüzel kişi veya VKN olarak gönderilmiştir |
EGP0081 | CustomerSinglePersonIdentificationRequired | Belge request'i tam olarak bir TCKN veya PASAPORTNO taşımıyordur |
EGP0082 | SelectedPersonPartyIdentificationMismatch | Portalda seçilen alıcı cari ile request'teki kimlik eşleşmiyordur |
EGP0083 | DelegateReceiverPartyIdentificationMismatch | Portalda seçilen vekil cari ile DelegateReceiver kimliği eşleşmiyordur |
EGP0084 | DelegateReceiverIdentificationInvalid | Vekilin TCKN veya pasaport değeri geçersizdir |
EGP0085 | CustomerPersonIdentificationInvalid | Alıcının TCKN veya pasaport değeri geçersizdir |
EGP0086 | CustomerIdentificationSchemeInvalidForReport | Tarihsel belgede kaydedilen kimlik GİB raporunda TCKN/PASAPORTNO olarak güvenle sınıflandırılamamıştır |
EGP0087 | CargoCompanyUblDataMismatch | Hazır UBL içindeki kargo şirketi bilgileri CargoCompanies/GetAll endpointinden dönen aktif kayıtla eşleşmemiştir |
EGP0088 | ExpenseVoucherStatusNotValidForCancellation | Belgenin 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.
| Kod | Kaynak Üye | Kapsam |
|---|---|---|
EGP0062 | ExpenseVoucherSmsCodeSent | SMS doğrulama kodu gönderildi |
EGP0063 | ExpenseVoucherSmsVerified | SMS doğrulaması tamamlandı |
EGP0064 | ExpenseVoucherSmsVerificationFailed | SMS doğrulama denemesi başarısız oldu |
EGP0066 | ExpenseVoucherSmsPhoneNumberChanged | SMS gönderimi için kayıtlı telefon numarası değiştirildi |
EGP0068 | ExpenseVoucherSmsCancellationNotificationSent | Doğrulama iptali bildirimi SMS ile gönderildi |
EGP0069 | ExpenseVoucherSmsCancellationNotificationFailed | Doğ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.
| Kod | Servis mesajı | Beklenen davranış |
|---|---|---|
EGP0056 | e-Gider Pusulası doğrulama işlemi için uygun durumda değildir. | Belgenin güncel durumu sorgulanmalıdır. |
EGP0057 | e-Gider Pusulası için başka bir doğrulama işlemi devam etmektedir. | Eşzamanlı istek yinelenmemelidir. |
EGP0058 | SMS gönderme veya doğrulama deneme sınırına ulaşıldı. | Bekleme süresinden sonra yeniden denenmelidir. |
EGP0059 | Gönderilmiş doğrulama kodu hâlâ geçerlidir. | Yeni kod istenmeden mevcut kod kullanılmalıdır. |
EGP0060 | SMS doğrulama kodu gönderilemedi. | İşlem başarılı kabul edilmemeli, tekrar denenmelidir. |
EGP0061 | Doğrulama kodu geçersizdir veya süresi dolmuştur. | Yeni kod alınarak doğrulama yeniden başlatılmalıdır. |
EGP0070 | SMS 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. |
EGP0071 | Belgeyi belirlemek için Id, ExternalId, ETTN veya belge numarasından biri gönderilmelidir. | Tek bir geçerli belge kimliği eklenmelidir. |
EGP0072 | Telefon numarası geçerli formatta değildir. | Telefon numarası düzeltilmelidir. |
EGP0073 | Doğrulama tokenı geçerli değildir. | SMS gönderme adımı yeniden başlatılmalıdır. |
EGP0074 | SMS doğrulama kodu geçerli formatta değildir. | Kod biçimi düzeltilmelidir. |
EGP0075 | SMS doğrulama işlemleri yalnızca Portal kanalından çağrılabilir. | Portal endpointi doğrudan entegrasyondan çağrılmamalıdır. |
EGP0078 | Doğ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. |
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.
| Kod | Karşılaşılabilecek durum |
|---|---|
PPY0001 | Cari adı zorunludur. |
PPY0003 | Gerçek kişi carisi için TCKN veya PASAPORTNO zorunludur. |
PPY0004 | Gerçek kişi carisinde yalnızca TCKN veya PASAPORTNO kimliği kullanılabilir. |
PPY0005 | Bu TCKN veya pasaport numarası aynı firmadaki başka bir caride kullanılıyor. |
PPY0006 | Gerçek kişi carisinin son kimlik bilgisi kaldırılamaz. |
PPY0007 | Gerçek kişi carisi için geçersiz cari rolü istendi. |
PPY0008 | Seçilen cari gerçek kişi carisi değildir. |
PPY0009 | Pasaport 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.
| Referans | Kapsam | Not |
|---|---|---|
ErrorModel.ErrorCode | Response hata listesi | İşlem mesaj kodu veya takip kodu bu alanda taşınır |
HasError / Errors[] | İşlem response modeli | Hata varlığı ve hata detay listesi response gövdesinde birlikte değerlendirilir |
GIB_PARTY_INACTIVE | Taraf profili doğrulaması | GİB taraf kaydı aktif değilse validasyon listesine eklenebilir |
UNHANDLED_EXCEPTION | Servis hata yakalama bloğu | Beklenmeyen 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.
| Konu | Kaynak | Ne 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 Mapping | JSON alanının XML çıktısı doğrulanırken |