Faturalarınızı kendi yazılımınızdan yönetin
Mi API ile e-Fatura ve e-Arşiv faturalarınızı gönderir, GİB'deki yolculuklarını izler, gelen faturalarınızı alır ve yanıtlarsınız. İster JSON ile, ister XML (SOAP) ile — aynı operasyonlar, aynı sonuçlar.
Neler yapabilirsiniz?
Fatura gönderin
Hazır UBL'inizi gönderin; numaralandırma, mali mühür ve GİB iletimi bizde.
Durumu izleyin
Belgelerinizin GİB'deki durumunu tek sorguda alın.
Belgeleri alın
PDF, HTML görünüm ya da imzalı UBL — hepsi tek çağrıda.
Gelen kutusu
Size gelen faturaları çekin, işlediklerinizi işaretleyin.
Kabul / red
Ticari faturalara GİB üzerinden uygulama yanıtı verin.
Mükellef sorgulayın
Alıcı e-Fatura mükellefi mi, posta kutusu etiketleri neler?
Bildirim gönderin
Faturayı alıcıya e-posta, SMS ya da WhatsApp ile iletin.
Kontörünüzü izleyin
Kalan bakiyenizi sorgulayın, tükenmeden önlem alın.
İki kapı, tek çekirdek
API iki biçimde hizmet verir. Hangisini seçerseniz seçin istek aynı iş kurallarıyla işlenir ve yanıtlar aynı alan adlarını taşır. Bu kılavuzda her operasyon tek sayfadır; JSON ile XML arasında istediğiniz an geçebilirsiniz.
JSON REST
Yeni başlayan entegrasyonlar için önerilir. Kimlik X-Api-Key başlığında.
XML SOAP 1.1
WSDL tabanlı entegrasyonlar için. Kimlik her operasyonun userInfo parametresinde.
Operasyon ve alan adları e-belge entegratörlerinde yaygın kullanılan sözleşmeyle uyumludur. Başka bir entegratörle çalışıyorsanız çağrılarınızın çoğunu yalnız adres ve kimlik bilgisini değiştirerek taşıyabilirsiniz.
Bu kılavuz nasıl kullanılır?
- Sol menü — başlangıç konuları ve 32 operasyon. Ctrl + K ile arayın.
- Orta alan — her operasyonun amacı, alanları, yanıtı, gerçek örnekleri, hata mesajları ve beş dilde kod örneği.
- Sağ konsol — anahtarınızı bir kez girin, formu doldurun ve isteği test ortamına gönderin. Yanıttaki belgeler (PDF, HTML, UBL) doğrudan konsolda açılır.
- Tek dosya — yukarıdaki Kılavuzu indir düğmesi kılavuzun tamamını tek bir Markdown dosyası olarak indirir. Dosyayı yapay zekâ aracınıza verip entegrasyon kodunuzu yazdırabilirsiniz; içerik her indirişte bu sayfanın güncel hâlinden üretilir, ayrı bir sürüm tutulmaz.
Hızlı Başlangıç
Dört adımda ilk faturanızı gönderin.
-
Test ortamına erişin
Entegrasyonu önce test ortamında geliştirin: test.muhasebeizleme.com. Test hesabınız yoksa destek ekibimizden talep edin. Test ortamındaki belgelerin mali değeri yoktur.
-
API anahtarı üretin
Portal'da Ayarlar menüsündeki API Key Ayarları ekranında Yeni API Key'e tıklayın; anahtara bir ad ve bitiş tarihi verin (varsayılan 3 yıl).
Anahtar yalnız bir kez gösterilir. Hemen güvenli bir yere kaydedin; kaybederseniz silip yenisini üretin. -
Bağlantıyı test edin
Sağdaki konsola kullanıcı adınızı ve anahtarınızı yazıp Doğrula'ya basın — firmanızın adı görünürse hazırsınız. Aynı çağrı komut satırından:
-
İlk faturanızı gönderin
Fatura Gönder sayfasında konsoldaki Örnek e-Arşiv faturası düğmesi, hesabınızın bilgileriyle doldurulmuş gönderilebilir bir UBL hazırlar. Gönderin; dönen
InvoiceId(ETTN) ile durumunu sorgulayın, PDF'ini alın.
Canlıya geçiş
- Canlı Portal'da (muhasebeizleme.com) ayrı bir anahtar üretin — test anahtarı canlıda çalışmaz, canlı anahtarı testte çalışmaz.
- Adresi
test.api.muhasebeizleme.com→api.muhasebeizleme.comolarak değiştirin. - Hesabınızda API kanalında kullanılabilir bir belge serisi tanımlı olduğundan emin olun.
- Takip döngünüzün durum kodlarını doğru yorumladığını test ortamında sınayın.
Temel Kavramlar
e-Belgeye yeniyseniz önce bu sayfayı okuyun: entegrasyon sorunlarının çoğu buradaki kavramların karıştırılmasından çıkar.
ETTN ve belge numarası
Her e-belgenin iki kimliği vardır:
- ETTN (UUID) —
3f2b8c1e-7a4d-4e8b-9c0f-12ab34cd56efgibi. Belgenin evrensel, benzersiz kimliğidir. - Belge numarası —
ABC2026000000123gibi: 3 karakter seri + yıl + 9 hane sıra.
İkisini de biz üretir, Fatura Gönder yanıtında döneriz. Takipte ETTN'yi kullanın.
| Nerede | ETTN | Belge numarası |
|---|---|---|
| Liste satırları (Giden / Gelen Fatura Listesi) | DocumentId | InvoiceId |
| Diğer tüm uçlar (durum, içerik, iptal, kabul/red…) | InvoiceId | Number |
| Fatura Gönder yanıtı — XML | Id özniteliği | Number özniteliği |
| Liste süzgeçleri | InvoiceIds | InvoiceNumbers |
InvoiceId adı liste satırlarında belge numarası, diğer her yerde ETTN
demektir. Sektörde yaygın sözleşmeden gelen bu farkı kodunuzda iki ayrı alanla tutarak karşılayın.e-Fatura mı, e-Arşiv mi?
Alıcı GİB'e kayıtlı bir e-Fatura mükellefiyse belge e-Fatura olarak GİB üzerinden alıcının posta kutusuna
gider. Değilse e-Arşiv olarak düzenlenir: alıcıya elektronik ortamda iletilir ve GİB'e günlük raporlanır.
Fatura Gönder'de Scenario=Automated verirseniz bu kararı biz veririz;
belgenin sonuçta hangi kanaldan gittiği yanıttaki InvoiceScenario alanında yazar.
Senaryo (ProfileID)
UBL'deki cbc:ProfileID: TEMELFATURA, TICARIFATURA (alıcı 8 gün içinde
kabul/red yanıtı verebilir), IHRACAT, KAMU… e-Arşiv faturasında her zaman
EARSIVFATURA'dır. Tam liste: Durum ve kod tabloları.
Fatura tipi (InvoiceTypeCode)
API ile gönderilebilen tipler: SATIS, IADE, TEVKIFAT, TEVKIFATIADE,
ISTISNA. Diğer tipler (özel matrah, ihraç kayıtlı, SGK…) şimdilik Portal üzerinden düzenlenir.
Zarf
e-Faturalar GİB'e bir zarf içinde gider. Zarfın durum kodu (EnvelopeStatusCode) belgenin GİB
tarafındaki yolculuğunu gösterir. e-Arşivde zarf yoktur.
Posta kutusu (PK) ve gönderici birim (GB)
Her e-Fatura mükellefinin GİB'de en az bir posta kutusu (faturaların geldiği adres, ör.
urn:mail:defaultpk@…) ve bir gönderici birim (faturaların çıktığı adres) etiketi vardır.
Alıcının etiketlerini Posta Kutusu Etiketleri ile sorgulayabilirsiniz.
Gelen / giden kutusu ve arşiv işareti
Giden kutusu kestiğiniz e-Fatura ve e-Arşiv faturaları, gelen kutusu size gelen e-Faturalardır.
Arşiv işareti (IsArchived) "bu belgeyi aldım, işledim" bilgisidir ve gelen kutusunu mükerrersiz
çekmenin anahtarıdır — bkz. Entegrasyon akışları.
Kontör
Başarıyla tamamlanan her belge ve her bildirim kontör tüketir. Bakiyenizi Kontör Bakiyesi ile izleyin; kontör yoksa yeni fatura kabul edilmez.
Ortamlar ve Adresler
Test ve canlı ortam birbirinden tamamen ayrıdır: ayrı adres, ayrı hesap, ayrı anahtar.
| Test | Canlı | |
|---|---|---|
| JSON (REST) kökü | https://test.api.muhasebeizleme.com/integration/v1/ | https://api.muhasebeizleme.com/integration/v1/ |
| XML (SOAP) adresi | https://test.api.muhasebeizleme.com/Services/BasicIntegration.svc | https://api.muhasebeizleme.com/Services/BasicIntegration.svc |
| WSDL | …/BasicIntegration.svc?singleWsdl | …/BasicIntegration.svc?singleWsdl |
| Portal — anahtar üretimi | test.muhasebeizleme.com | muhasebeizleme.com |
Teknik ayrıntılar
- Karakter kodlaması: UTF-8 — istek ve yanıt.
- Tarih ve saat: Türkiye saati (UTC+3). Adı
…Utcile biten alanlar da Türkiye saatidir. - Zaman aşımı: belge içeriği uçları (PDF, HTML, UBL) yüzlerce KB dönebilir; istemci zaman aşımını en az 60 saniye tutun.
- Boyut sınırı: bir SOAP mesajı en fazla 50 MB olabilir.
- Çağrı yeri: API sunucudan sunucuya kullanım içindir; anahtarınızı tarayıcıda ya da mobil uygulamada çalışan koda gömmeyin.
Kimlik Doğrulama
Tek kimlik bilgisi API anahtarıdır. Anahtar hangi hesaba aitse işlemler o hesap adına yapılır ve anahtar o hesabın tüm e-belge işlemlerine erişir.
JSON (REST)
Anahtarı her istekte X-Api-Key başlığında gönderin:
GET /integration/v1/testconnection HTTP/1.1
Host: test.api.muhasebeizleme.com
X-Api-Key: API_ANAHTARINIZXML (SOAP)
Her operasyonun ilk parametresi userInfo'dur; anahtar Password özniteliğine yazılır:
<TestConnection xmlns="http://tempuri.org/"><userInfo Username="KULLANICI_ADINIZ" Password="API_ANAHTARINIZ"/></TestConnection>
Password— API anahtarınız. Kimliği yalnız anahtar belirler.Username— bilgi amaçlıdır; Portal kullanıcı adınızı yazabilirsiniz. Hesap Bilgisi yanıtındaUser/Nameolarak geri döner.- Öznitelik biçimi önerilir; eleman biçimi
(
<userInfo><Username>…</Username><Password>…</Password></userInfo>) de kabul edilir.
Kimlik hataları
| Kapı | HTTP | Yanıt |
|---|---|---|
| JSON | 401 | ApiKey eksik. 'X-Api-Key' header'ı gönderin. |
| JSON | 401 | Geçersiz, süresi dolmuş veya yetkisiz ApiKey. |
| XML | 500 | SOAP Fault — faultcode: s:Client, faultstring: Geçersiz, süresi dolmuş veya yetkisiz ApiKey. |
{"IsSucceded": false, "Message": "Geçersiz, süresi dolmuş veya yetkisiz ApiKey.", "Value": null}
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring xml:lang="tr-TR">Geçersiz, süresi dolmuş veya yetkisiz ApiKey.</faultstring></s:Fault></s:Body></s:Envelope>
XML kapısında kimlik hatası bilinçli olarak Fault döner: doğrulanamayan istek uygulama katmanına hiç ulaşmaz. İstemcinizde SOAP istisnasını yakalayın.
Anahtar yönetimi
- Anahtar Portal'da API Key Ayarları ekranında üretilir ve yalnız bir kez gösterilir.
- Her anahtarın bir bitiş tarihi vardır; süresi dolan ya da silinen anahtar anında reddedilir.
- Her entegrasyona (ERP, e-ticaret sitesi…) ayrı anahtar üretin; birini silmek diğerini etkilemez.
- Anahtarın son kullanım zamanı ve IP adresi kaydedilir.
- Anahtarınızı belirli IP adresleriyle sınırlamak isterseniz destek ekibimizden talep edin.
JSON mu, XML mi?
İki kapı aynı operasyonları ve aynı iş kurallarını sunar; fark yalnız taşıma biçimindedir.
| JSON (REST) | XML (SOAP 1.1) | |
|---|---|---|
| Adres | /integration/v1/{operasyon} — küçük harf, ör. sendinvoice | /Services/BasicIntegration.svc — tek adres |
| Yöntem | GET (parametreler adreste) ya da POST (JSON gövde) | Her zaman POST |
| Operasyon seçimi | Adres | SOAPAction: "http://tempuri.org/IBasicIntegration/{Operasyon}" |
| Başlıklar | X-Api-Key, Content-Type: application/json | Content-Type: text/xml; charset=utf-8, SOAPAction |
| Kimlik | X-Api-Key başlığı | userInfo/@Password |
| Kimlik hatası | HTTP 401 + JSON zarf | HTTP 500 + SOAP Fault |
| Yanıt zarfı | { IsSucceded, Message, Value } | <…Result IsSucceded Message><Value>…</Value> |
| Boş değer | null | Eleman / öznitelik yazılmaz |
| Kimlik listesi | "InvoiceIds": ["…"] | <invoiceIds><string>…</string></invoiceIds> |
| Sayfalama | Gövdede PageIndex, PageSize | <query PageIndex="0" PageSize="20"> öznitelikleri |
| Tarih | "2026-09-11" ya da "2026-09-11T14:30:00" | xs:dateTime — 2026-09-11T14:30:00 |
| Fatura içeriği (gönderim) | InvoiceXml: UBL metni | <Invoice> içinde gömülü UBL |
| Belge içerikleri | base64 | base64 — detay uçlarında ham UBL |
Hangisini seçmeli?
- Yeni bir entegrasyon → JSON. Her dilde birkaç satırla çağrılır.
- WSDL tabanlı mevcut bir entegrasyon (ERP, .NET "Hizmet Başvurusu Ekle", Java JAX-WS…) → XML. WSDL'den istemci üretip doğrudan çağırabilirsiniz.
SOAP zarfı
Tüm elemanlar http://tempuri.org/ ad alanındadır; operasyon elemanına xmlns="http://tempuri.org/"
yazmanız yeterlidir. Öznitelikler ad alanı almaz.
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><GetOutboxInvoiceList xmlns="http://tempuri.org/"><userInfo Username="KULLANICI_ADINIZ" Password="API_ANAHTARINIZ"/><query PageIndex="0" PageSize="20"><CreateStartDate>2026-09-01T00:00:00</CreateStartDate><IsArchived>false</IsArchived></query></GetOutboxInvoiceList></soap:Body></soap:Envelope>
- SOAP 1.1 kullanılır:
Content-Type: text/xml; charset=utf-8ve tırnak içindeSOAPActionbaşlığı zorunludur. - Elemanları şemadaki sırayla yazın; boş bıraktığınız alanları hiç yazmayın.
- Operasyon parametresi olan diziler (
invoiceIds)<string>elemanlarıyla; liste sorgusundaki süzgeç dizileri (InvoiceIds,InvoiceNumbers) ise sarmalayıcısız, tekrarlanan elemanlarla yazılır. - Parametre adları büyük/küçük harfe duyarlıdır:
vknTckn,invoiceId,isInbox…
Yanıt Zarfı ve HTTP Kodları
Her yanıt aynı zarfla gelir: işlem başarılı mı (IsSucceded), açıklama (Message)
ve sonuç (Value).
{"IsSucceded": true, "Message": null, "Value": {"AccountId": 1024, "ServerTime": "2026-09-11T20:28:47+03:00"}}
<TestConnectionResult IsSucceded="true"><Value><AccountId>1024</AccountId><ServerTime>2026-09-11T20:28:47+03:00</ServerTime></Value></TestConnectionResult>
IsSuccededyazımı bilinçlidir (sektörde yaygın sözleşmeyle uyum); alan adını bu hâliyle kullanın.- İş kuralı hataları (belge bulunamadı, kontör yetersiz, geçersiz parametre…) HTTP 200 ile,
IsSucceded=falseve TürkçeMessageolarak döner. Valuebir liste ise XML'de her eleman ayrı bir<Value>elemanıdır.- Tek bir doğru/yanlış dönen işlemlerde XML'de
Valuebir özniteliktir:<IsEInvoiceUserResult IsSucceded="true" Value="true"/>. - XML'de
Messageyalnız doluyken yazılır.
Value'dadır; Fatura Gönder ve Kabul / Red'de
her belgenin sonucu ayrıca Value[].IsSucceded'dadır.HTTP kodları
| Kod | Ne zaman | Ne yapmalı |
|---|---|---|
| 200 | İstek işlendi. | Sonucu IsSucceded söyler. |
| 400 | JSON gövdesi okunamadı — application/problem+json döner. | Gövdenin geçerli JSON olduğunu kontrol edin. |
| 401 | JSON: anahtar yok ya da geçersiz. | Kimlik doğrulama. |
| 403 | İstek düz HTTP ile geldi. | HTTPS kullanın ve anahtarınızı değiştirin. |
| 411 | Gövdesiz POST. | Parametresiz uçlarda GET kullanın ya da {} gönderin. |
| 500 | XML: SOAP Fault — kimlik hatası ya da okunamayan zarf. | faultstring'e bakın. |
400 örneği
{"type": "about:blank", "title": "Geçersiz istek.", "status": 400, "detail": "Alan doğrulamalarını kontrol edin.", "instance": "/integration/v1/queryoutboxinvoicestatus", "correlationId": null, "errors": {"req": [""]}}
Durum ve Kod Tabloları
Belgenin nerede olduğunu Status (metin) ve StatusCode (sayı) söyler.
İş mantığınızı StatusCode'a bağlayın.
Giden belge durumları
1000 → bitti, başarılı ·
1200 / 2000 → bitti, belge geçersiz (düzeltip yeni belge oluşturun) ·
10 / 1400 → iptal, takibi bırakın · diğer her değer → belge hâlâ yolda, bir süre sonra tekrar sorun.- e-Arşiv: belge imzalanıp denetimden geçtikten sonra, günlük rapor GİB'e iletilene kadar
200(Processing) görünür; rapor gidince1000olur (genellikle ertesi gün). InternalCodeiç işlem kodudur; destek taleplerinde işe yarar, iş mantığınızı buna bağlamayın.- Tanımadığınız bir kod gelirse belgeyi "yolda" sayın — veri kaybı, fazladan bir sorgudan pahalıdır.
Gelen belge durumları
Gelen kutusunda Status, belgenin uygulama yanıtı durumudur:
Uygulama yanıtı durumu
Kabul / Red Yanıtı Durumu: yanıt verilmemişse Waiting
(StatusCode 0); verildiyse yanıtın teslim durumu — Approved, yanıtın GİB'e başarıyla ulaştığını gösterir.
Kanal (Scenario)
Senaryo (Profile / Type)
Liste satırlarında senaryo iki biçimde gelir: UBL'deki ProfileID değeri (Profile) ve
sözleşme adı (Type). OZELFATURA'nın sözleşme karşılığı yoktur; Type boş döner.
Fatura tipi
UBL'deki cbc:InvoiceTypeCode. Liste satırlarında InvoiceType Türkçe adı (ör. Satış),
InvoiceTipType sözleşme adını taşır.
Zarf durum kodları (EnvelopeStatus)
GİB'in yayımladığı zarf durum kodları. e-Arşiv belgelerinde zarf yoktur.
Entegrasyon Akışları
Üç temel döngü. Akışınızı bunlara göre kurarsanız mükerrer işlem, kaybolan belge ve bitmeyen takip sorunlarını baştan önlersiniz.
1 · Fatura gönderimi
- (İsteğe bağlı) Alıcıyı sorgulayın
e-Fatura Mükellefi mi? —
Scenario=Automatedkullanıyorsanız gerekmez. - Faturayı gönderin
Fatura Gönder. Yanıttaki
InvoiceId(ETTN) veNumber'ı kendi kaydınıza yazın;InvoiceScenariobelgenin e-Fatura mı e-Arşiv mi olduğunu söyler. - Durumu izleyin
Giden Belge Durumu ile yolda olan belgeleri toplu sorgulayın (5–10 dakikada bir yeterli) ve üç kova kuralını uygulayın.
- Sonuca göre davranın
1000→ PDF'i alın, bildirim gönderin.1200/2000→ sebebi İşlem Geçmişi'nden okuyun, belgeyi düzeltip yeniden gönderin.
2 · Gelen kutusu
- Yeni belgeleri UBL'leriyle çekin
Gelen Fatura Detayları —
OnlyNewestInvoices=true, sayfa boyutu en fazla 5. Tüm sayfaları dolaşın; boş sayfa gelince durun. Tek istekte hem liste hem UBL gelir.Yalnız özet yeterliyse Gelen Fatura Listesi (
IsArchived=false, sayfa boyutu 1000'e kadar) + gerektikçe Gelen Fatura Detayı ikilisini kullanın. - Görsel gerekiyorsa
PDF ya da HTML görünümü ayrıca alınır.
- Sisteminize kaydedin
ETTN'yi benzersiz anahtar olarak kullanın — aynı belge ikinci kez gelirse tanırsınız.
- Alındı olarak işaretleyin
Alındı İşaretle — belge bir sonraki turda gelmez. Kaydetme adımınız güvenilirse bu işi
SetTaken=trueile önceki adıma da bırakabilirsiniz; ama kayıt çökerse belge alınmış sayılacağı için önerimiz kayıttan sonra işaretlemektir. - Ticari faturaysa yanıt verin
Status=WaitingForAprovementise 8 gün içinde Kabul / Red. Yanıt bekleyenleri Gelen Belge Durumu ile toplu izleyin.
3 · e-Arşiv iptali
- İptal edin
e-Arşiv Faturası İptal — belge tarihinden itibaren 8 gün içinde.
- Sonucu
Value'dan okuyunIsSucceded=truetek başına "iptal edildi" demek değildir; iptalValue=trueise gerçekleşmiştir. - Durumu izleyin
İptal edilen belge
1400(Canceled) olur ve günlük raporla GİB'e bildirilir.
İyi uygulamalar
- Liste uçlarında sayfa boyutu en fazla 1000, detay uçlarında 5'tir; büyük geçmişi tarih aralıklarına bölerek çekin.
- Yolda olan belgeleri tek tek değil,
InvoiceIdslistesiyle toplu sorgulayın. - Ağ hatasında aynı faturayı körlemesine yeniden göndermeyin: önce Giden Fatura Listesi'nde tarih ve alıcı süzgeciyle belgenin oluşup oluşmadığını kontrol edin.
- İstek ve yanıtları loglarken API anahtarını maskeleyin.
Sık Sorulan Sorular
Belge numarasını ve ETTN'yi ben mi vermeliyim?
Hayır. İkisini de biz üretiriz; UBL'de gönderdiğiniz değerler ezilir. Yanıttaki InvoiceId (ETTN) ve
Number'ı saklayın.
Faturayı imzalamam gerekiyor mu?
Hayır. UBL'i imzasız gönderin; mali mühürle imzalama, şema ve şematron denetimi ve GİB iletimi bizdedir.
Faturanın e-Fatura mı e-Arşiv mi olacağına nasıl karar veririm?
Scenario=Automated gönderin; alıcının GİB kaydına göre biz karar veririz. Yalnız e-Arşiv servisi açık
hesaplarda her belge e-Arşivdir.
XML ile gönderiyorum ama “InvoiceXml zorunludur.” alıyorum.
Zarftaki <Invoice> elemanına UBL'in varsayılan ad alanını yazmışsınızdır. Eleman zarfın ad alanında
kalmalı, UBL içeriği cbc: / cac: önekleriyle gelmelidir — bkz.
Fatura Gönder.
Aynı gelen faturaları tekrar tekrar alıyorum.
Listeyi IsArchived=false ile sorgulayın ve işlediğiniz belgeleri
Alındı İşaretle ile işaretleyin.
Dövizli fatura gönderebilir miyim?
Şimdilik API yalnız TRY para birimli faturaları kabul eder; dövizli faturaları Portal'dan düzenleyebilirsiniz.
“Fatura tarihi 7 günden eski olamaz” hatası alıyorum.
VUK 231/5 gereği fatura, teslimden itibaren en geç 7 gün içinde düzenlenir. cbc:IssueDate bugünden ileri
ya da 7 günden eski olamaz.
“belge serisi (önek) tanımlaması” hatası alıyorum.
Portal'dan ilgili belge tipi için bir belge serisi tanımlayın. WhatsApp kanalına ayrılmış (WP ile başlayan)
seriler API'de kullanılamaz.
Kontörüm biterse ne olur?
Yeni faturalar “Kontör yetersiz” ile reddedilir, bildirimler gönderilemez. Bakiyenizi Kontör Bakiyesi ile izleyin.
Test ortamındaki belgeler gerçek mi?
Hayır. Test ortamı GİB'in test sistemine bağlıdır; oradaki belgelerin mali değeri yoktur.
WSDL'den istemci ürettim, istekler 403 alıyor.
WSDL http ve https adreslerini birlikte listeler; istemci yapılandırmanızda https uç noktasını seçin.
Konsol “İstek gönderilemedi” diyor.
Ağınızın test.api.muhasebeizleme.com adresine erişebildiğini kontrol edin; kurum güvenlik duvarları dış
istekleri engelleyebilir. Aynı isteği konsoldaki cURL olarak kopyala ile komut satırından deneyin.
Sürüm Notları
1.2 — 12 Eylül 2026
- Doğrulama uçları geldi. Fatura Doğrula ve Belge Doğrula: belgeyi göndermeden şema (XSD) ve GİB şematron kurallarından geçirir — belge numarası tüketilmez, kontör harcanmaz. İmza Doğrula: XML (XAdES) imzalarını doğrular; PDF (PAdES) doğrulaması henüz kullanıma açılmadı.
- Doğrulama yalnız şekil ve GİB kurallarına uygunluğu denetler; tutar ve vergi hesapları matematiksel olarak kontrol edilmez.
- Boş bıraktığınız künye alanları (belge numarası, ETTN, imza yer tutucusu) doğrulamadan önce
tamamlanır ve
CompletedFieldsile bildirilir; gönderimde de aynısı olur.
1.1 — 12 Eylül 2026
- Dört yeni operasyon: Giden Fatura Detayı, Gelen Fatura Detayları, Gelen Belge Durumu ve Sunucu Saati.
- Gelen kutusu artık tek istekle UBL'leriyle birlikte çekilebiliyor; belge başına ayrı detay çağrısı gerekmiyor.
- Biçim değişikliği: Fatura detayı dönen uçlarda (Gelen Fatura Detayı,
Giden Fatura Detayı ve çoğul karşılıkları) JSON'daki
InvoiceXmlalanı artık base64 değil, belgenin XML metnidir. XML kapısı zaten ham UBL veriyordu; iki kapı hizalandı. Base64 yalnız dosya döndüren uçlarda kaldı (UBL, PDF, HTML). - Aynı uçlara iki alan eklendi:
CreateDateUtc(belgenin sisteme kayıt anı) veNotification(şekil uyumu için; her zaman boş). - Düzeltme: Gelen Fatura Detayı ve
Gelen Belge İşlem Geçmişi yanıtlarındaki
Statusalanı, liste uçlarıyla aynı şekilde artık belgenin uygulama yanıtı durumunu veriyor (WaitingForAprovement/Approved/Declined). Önceden burada gönderim aşaması durumu görünüyordu.
1.0 — 11 Eylül 2026
- İlk yayın: 25 operasyon, JSON (REST) ve XML (SOAP 1.1) kapıları.
- Canlı deneme konsolu: tek kimlik kartı, JSON / XML geçişi, belge önizleme, beş dilde kod örneği.
- API ile şimdilik yalnız TRY para birimli ve
SATIS,IADE,TEVKIFAT,TEVKIFATIADE,ISTISNAtipindeki faturalar gönderilebilir.
Destek
Entegrasyonunuzun her adımında yanınızdayız. Test hesabı talepleriniz için de bize ulaşın.
Message'ı ekleyin. API anahtarınızı asla paylaşmayın.