Entegrasyon
Markdown dışa aktarHarici API V1 Dokümantasyonu
Faturaları kendi sistemlerinizden doğrulanmış e-faturalara dönüştürün: PDF, DOCX veya TXT belge – ya da yapılandırılmış ERP verisi – yükleyin ve doğrulama geçtikten sonra XRechnung, ZUGFeRD, EN 16931, UBL veya CII çıktısını indirin. Bu sayfa eksiksiz entegrasyon sözleşmesidir: erişim modeli, uç noktalar, hata kataloğu ve limitler.
Beş REST uç noktası PDF, DOCX veya TXT faturaları – ya da yapılandırılmış ERP verisini – doğrulanmış XRechnung, ZUGFeRD, EN 16931, UBL ve CII e-faturalarına dönüştürür: yükle, sorgula, indir. Erişim onaya tabidir: e-posta ile talep edin, ön ödemeli API kredileriyle test edin ve üretim hacmi için Enterprise sözleşmesi kullanın.
Genel görünüm
API multipart yüklemeleri kabul eder, JSON yanıtları döndürür ve Bearer kimlik doğrulamasıyla standart HTTP durum kodlarını kullanır. Her dönüşüm eşzamansız çalışır: belgeyi gönderin, task’i sorgulayın, sonucu indirin. Dosya yalnızca doğrulama geçtikten sonra teslim edilir; doğrulanmamış çıktı yoktur.
PDF, DOCX veya TXT fatura belgesi ya da yapılandırılmış fatura verisini bir dönüşüm uç noktasına gönderin. Invoice-Converter buradan çıkarma, doğrulama ve artefakt üretimi için asenkron bir task başlatır. Sonuç uç noktası yalnızca istenen artefakt doğrulanmış, kontrol edilmiş ve çıktıya hazır olduğunda dosya döndürür; işleme devam ederken 202 TASK_NOT_READY, engelleyici doğrulama hatalarında 422 VALIDATION_FAILED döndürür.
Durum: onaylı erişim
Temel yol: /api/v1. Son senkronizasyon 2026-07-26.
Temel yetenekler
- PDF faturalar ve yapılandırılmış fatura verileri için yükleme uç noktaları
- Yapay zeka destekli fatura veri çıkarımı
- Otomatik EN 16931 ve KoSIT doğrulaması
- XRechnung, ZUGFeRD, EN16931, UBL ve CII çıktı biçimleri
- Polling ile eşzamansız işleme; küçük faturalar çoğu zaman yaklaşık 30 saniyede, daha büyük faturalar 1-2 dakikaya kadar tamamlanır
- Güvenli tekrar denemeler için idempotent yazma işlemleri
API erişimi al
API erişimi onaya tabidir, self servis değildir. İlk temastan üretim anahtarlarına giden yol şudur.
- Bir hesap oluşturun ve contact@invoice-converter.com adresine şirketinizi, hesap e-postanızı ve beklenen aylık hacmi yazarak API erişimi talep edin.
- Onaylı testler için ön ödemeli API kredilerini veya üretim kullanımı için Enterprise order form faturalandırmasını kullanın.
- Onaydan sonra tenant’ınız için canlı bir API anahtarı oluşturun.
- İlk isteği sunucu tarafı kimlik bilgileriyle çalıştırın; ardından kullanımı izleyin ve anahtarları profilinizden döndürün.
Erişim talep edin
Hızlı başlangıç
Üç API çağrısı bir dönüşümü tamamlar. Yükleme uç noktası /api/v1 altında sunulur ve kimlik doğrulama gerektirir.
POST /api/v1/invoices:convert
CanlıFatura belgesini dönüştür
POST /api/v1/invoices:convert-structured
CanlıYapılandırılmış veriyi dönüştür
GET /api/v1/tasks/{task_id}
CanlıTask durumunu sorgula
curl ile hızlı başlangıç
$API_KEY değerini canlı anahtarınızla, $TASK_ID değerini ilk yanıttaki task_id ile değiştirin. Aynı üç çağrı her çıktı formatı için geçerlidir.
curl -X POST "https://www.invoice-converter.com/api/v1/invoices:convert" \
-H "Authorization: Bearer $API_KEY" \
-H "Idempotency-Key: inv-2026-0001" \
-F "file=@invoice.pdf" \
-F "format=XRECHNUNG"curl "https://www.invoice-converter.com/api/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $API_KEY"curl -o invoice.xml \
"https://www.invoice-converter.com/api/v1/tasks/$TASK_ID/result?download=xml" \
-H "Authorization: Bearer $API_KEY"Base URL ve API anahtarları
- Üretim temel URL’si:
https://www.invoice-converter.com/api/v1. - Live anahtarlar üretim hostunu ve
icp_...önekini kullanır. - Üretim hacmi göndermeden önce onboarding ve doğrulama isteklerini onaylı live anahtarlarla çalıştırın.
- Anahtarları server-side secret olarak ele alın. Browser veya mobil istemcilere gömmeyin.
İlk başarılı istek
Bir API anahtarı oluşturduktan sonra bu akışı minimum başarılı yol olarak kullanın.
- Yükleme:
Authorization,Idempotency-Key,file=@invoice.pdf(veya.docx/.txt) veformat=XRECHNUNGilePOST /api/v1/invoices:convert. - Her
10-15 saniyedesorgulayın: durumcompletedveyafailedolana kadarGET /api/v1/tasks/{task_id}. - İndirme:
GET /api/v1/tasks/{task_id}/result?download=xml; destek takibi içinX-Correlation-IDdeğerini saklayın. - ZUGFeRD PDF çıktısı için convert sırasında
format=ZUGFERD, result sırasındadownload=pdfisteyin; hibrit PDF çıktısı PDF kaynak yüklemesi gerektirir. - Yapılandırılmış giriş için
pdf_file=@invoice.pdf,data_file=@invoice-data.jsonve hedefformatilePOST /api/v1/invoices:convert-structuredçağırın. - ERP mutabakatı için isteğe bağlı olarak
client_referenceveyaexternal_invoice_idvesource_systemgönderin. - Tek faturaya ait bölünmüş ERP dışa aktarımları için
data_filealanını tekrarlayın; birden fazla fatura için her fatura adına kendi idempotency key’i olan ayrı bir task başlatın. - XML/PDF artefaktlarının doğrulanmış, önbelleğe alınmış veya bağımlılıklar nedeniyle henüz kullanılamaz olup olmadığını görmek için durum yanıtındaki
result_artifactsbilgisini saklayın.
Yaygın payload örnekleri
XRECHNUNG:format=XRECHNUNGgönderin.ZUGFERD:format=ZUGFERDgönderin; hibrit PDF/A-3 çıktısı için result üzerindedownload=pdfkullanın.Yapılandırılmış giriş:pdf_fileile bir veya daha fazladata_fileparçası gönderin; kabul edilen veri formatları CSV, JSON, XML, XLSX ve TXT’dir ve tüm desteklenen hedef formatlarla kullanılabilir. data_file parçaları tüm zorunlu verileri içermelidir; PDF eksik alanları tamamlamaz.Birden fazla fatura: ayrı convert istekleri gönderin ve dönen hertask_iddeğerini izleyin; tekrarlanandata_fileparçaları yalnızca aynı faturanın bölünmüş dışa aktarımları içindir.UBL:format=UBLgönderin; deterministik entegrasyonlar içinPEPPOL,XRECHNUNGveyaEN16931gibi açık birprofilebelirleyin.CII:format=CIIgönderin; deterministik entegrasyonlar içinEN16931gibi açık birprofilebelirleyin.
Gerekli başlıklar
- Authorization: Bearer <api_key>
Kimlik doğrulama kuralları
API erişimi onaya tabidir. Onaylı hesaplar profilden API anahtarları oluşturabilir, bunları Bearer token olarak kullanabilir ve onaylı testler için ön ödemeli kredileri veya üretim için Enterprise order form faturalandırmasını kullanabilir.
- API anahtarları onaylı hesaplar için tenant kapsamlı canlı kimlik bilgileridir. Mevcut üretim öneki
icp_.... - API erişimi etkinleştirildikten sonra anahtarları profilinizden oluşturun, döndürün ve iptal edin. Düz metin anahtarlar yalnızca bir kez gösterildiği için yeni anahtarları hemen kopyalayın.
- Eksik veya geçersiz API anahtarları
401döndürür. /api/v1çağrıları, eksikse otomatik olarakX-Correlation-IDalır.- Yazma çağrıları
Idempotency-Keygerektirir; bu değeri tekrar denemelerde sabit tutun. - Backend’inizden server-to-server entegrasyon kullanın. Browser-origin erişimi production’da kısıtlıdır.
İdempotency sözleşmesi
- Her yazma çağrısında
Idempotency-Keygönderin. - Idempotency key’leri
[A-Za-z0-9._:-]+ile eşleşmeli ve en fazla 200 karakter olmalıdır. - Kendi key’inizi sağlarsanız aynı key + aynı payload önbellekteki cevabı döndürür.
- Aynı key + farklı payload
409 IDEMPOTENCY_CONFLICTdöndürür. - Idempotency key’leri
24 saatsonra geçerliliğini yitirir.
Uç nokta referansı
Tüm endpoint’ler /api/v1 altında kullanılabilir. Timeout’lar 504, diğer geçici bağlantı hataları 502 olarak görünür; korelasyon ID’leri support ekibinin istekleri uçtan uca izlemesine yardımcı olur.
POST /api/v1/invoices:convert
CanlıPDF, DOCX veya TXT fatura belgesi yükleyin ve asenkron dönüşümü başlatın. Polling için task_id döndürür. ZUGFeRD/Factur-X hibrit PDF indirmeleri PDF kaynak yüklemesi gerektirir; DOCX/TXT kaynakları XML sonuçları istemelidir. İstek: multipart/form-data; file (binary, zorunlu) — PDF, DOCX veya TXT fatura kaynak belgesi; eski DOC/RTF, görüntü ve diğer dosyalar reddedilir; format (string, zorunlu) — hedef çıktı formatı; aşağıdaki format matrisine bakın; profile (string, opsiyonel, deterministik entegrasyonlar için önerilir) — açık uyumluluk profili. Varsayılan değerler formata göre belirlenir; izin verilen değerler arasında XRECHNUNG, PEPPOL, EN16931 ve desteklenen ZUGFeRD/Factur-X profilleri bulunur; jurisdiction (string, opsiyonel) — doğrulama/danışma kontrolleri için açık ISO 3166-1 alpha-2 yargı bağlamı; profili geçersiz kılmaz; transaction_scope (string, opsiyonel) — B2G gibi açık işlem kapsamı bağlamı; kuyruğa alınan task’a uygulanır; delivery_channel (string, opsiyonel) — PEPPOL, DIRECT_XML, PORTAL, EMAIL_PDF, UNKNOWN değerlerinden biri; kuyruğa alınan task’a uygulanır; client_reference veya external_invoice_id (string, opsiyonel) — kabul edilen yüklemelerde ve task durum yanıtlarında dönen müşteri tarafı fatura/iş referansı; source_system (string, opsiyonel) — kabul edilen yüklemelerde ve task durum yanıtlarında dönen üst sistem ERP veya faturalama etiketi; use_seller_master_data (boolean, opsiyonel) — belirtilmezse tenant profil varsayılanı geçerlidir; false bu istek için kayıtlı satıcı varsayılanlarını yok sayar, true satıcı varsayılanlarını sağlar/kullanır; seller_master_data (JSON nesne dizesi, opsiyonel) — yalnızca use_seller_master_data=true olduğunda kullanılan satıcı varsayılanları; şirket, adres, vergi, iletişim ve ödeme alanlarını destekler (payment_means_code 30/42/58, payment_iban, payment_bic, payment_account_name, payment_terms_note); her profil değeri ilgili çıkarılan değerin yerini alır, profil olmayan alanlar değişmez ve farklar engelleyici olmayan uyarılar oluşturur. Yanıt: 202 Accepted.
POST /api/v1/invoices:convert-structured
CanlıTaşıyıcı PDF ile CSV, JSON, XML, XLSX veya TXT fatura verisini yükleyin ve yapılandırılmış veriden asenkron dönüşümü başlatın. data_file parçaları tek semantik kaynaktır; PDF eksik fatura alanlarını tamamlamaz. ZUGFeRD/Factur-X için taşıyıcı PDF olarak kullanılır, XML odaklı çıktılarda ise gönderilen PDF artefaktı olarak saklanır. Her fatura için bir dönüşüm isteği kullanın; data_file alanını yalnızca aynı faturaya ait bölünmüş ERP dışa aktarımları için tekrarlayın. İstek: multipart/form-data; pdf_file (binary, zorunlu) — ZUGFeRD/Factur-X gömme için kullanılan ve XML odaklı çıktılarda saklanan taşıyıcı PDF; data_file (binary, zorunlu, tekrarlanabilir) — tek semantik kaynak olarak kullanılan CSV, JSON, XML, XLSX veya TXT fatura verisi; .xls, PDF ve görüntü dosyaları data_file olarak reddedilir; aynı faturanın bölünmüş başlık/satır dışa aktarımları için tekrarlayın; data_files ve data_files[] aliasları kabul edilir; yapılandırılmış veri toplam boyutu — tüm data_file parçaları genelinde en fazla 2 MB; format (string, zorunlu) — hedef çıktı formatı; XRECHNUNG, ZUGFERD, EN16931, UBL ve CII desteklenir; profile (string, opsiyonel, deterministik entegrasyonlar için önerilir) — açık uyumluluk profili. Varsayılan değer formata göre seçilir; jurisdiction (string, opsiyonel) — doğrulama/danışma kontrolleri için açık ISO 3166-1 alpha-2 yargı bağlamı; profili geçersiz kılmaz; transaction_scope (string, opsiyonel) — B2G gibi açık işlem kapsamı bağlamı; kuyruğa alınan task’a uygulanır; delivery_channel (string, opsiyonel) — PEPPOL, DIRECT_XML, PORTAL, EMAIL_PDF, UNKNOWN değerlerinden biri; kuyruğa alınan task’a uygulanır; client_reference veya external_invoice_id (string, opsiyonel) — kabul edilen yüklemelerde ve task durum yanıtlarında dönen müşteri tarafı fatura/iş referansı; source_system (string, opsiyonel) — kabul edilen yüklemelerde ve task durum yanıtlarında dönen üst sistem ERP veya faturalama etiketi; use_seller_master_data (boolean, opsiyonel) — belirtilmezse tenant profil varsayılanı geçerlidir; false bu istek için kayıtlı satıcı varsayılanlarını yok sayar, true satıcı varsayılanlarını sağlar/kullanır; seller_master_data (JSON nesne dizesi, opsiyonel) — yalnızca use_seller_master_data=true olduğunda kullanılan satıcı varsayılanları; şirket, adres, vergi, iletişim ve ödeme alanlarını destekler (payment_means_code 30/42/58, payment_iban, payment_bic, payment_account_name, payment_terms_note); her profil değeri ilgili çıkarılan değerin yerini alır, profil olmayan alanlar değişmez ve farklar engelleyici olmayan uyarılar oluşturur. Yanıt: 202 Accepted.
GET /api/v1/tasks/{task_id}
CanlıBir dönüşüm task’ının mevcut durumunu sorgulayın. pending, processing, completed veya failed döndürür. Tamamlanan task’lar, istemcilerin hangi XML/PDF artefaktlarının kullanılabilir, önbelleğe alınmış ve doğrulama kanıtlı olduğunu görebilmesi için result_artifacts tanılarını içerir. Tamamlanan task payload’ları, kaynak kanıt eksik, şüpheli veya kesilmiş olduğunda SOURCE_CONTEXT_* kural ID’leri içeren ek _processing_warnings ve _validation_warnings girdileri içerebilir; bunları hata değil inceleme sinyali olarak ele alın. failed olduğunda cevap, hata nedenini içeren bir error alanı içerir. İstek: yok (GET); task_id (path, zorunlu) — convert endpoint’inin döndürdüğü UUID; include_validation_report_html (query, opsiyonel) — true veya false (varsayılan false); true olduğunda durum yanıtı, mevcutsa geçerli katı artefaktın arındırılmış HTML doğrulama raporunu satır içi döndürür. Yanıt: 200 OK.
GET /api/v1/tasks/{task_id}/result
CanlıOluşturulan dosyayı indirin (XML veya PDF). Sonuç söz dizimi özgün task formatıyla eşleşir: XRECHNUNG/EN16931/UBL UBL XML, CII/ZUGFERD CII XML döndürür; ZUGFERD + download=pdf hibrit PDF/A-3 döndürür. Diğer formatlarda download=pdf render edilmiş bir PDF döndürebilir. Doğrulama kanıtı hâlâ güncelse tekrarlı indirmeler önbelleğe alınmış artefaktlardan sunulabilir. İşleme devam ederken uç nokta 202 TASK_NOT_READY; engelleyici doğrulama hataları 422 VALIDATION_FAILED, yeniden denenebilir bağımlılık eksikleri 503 ve artefakt invariant hataları 500 döndürür; bu durumlarda dosya gövdesi yoktur. İstek: yok (GET); task_id (path, zorunlu) — convert endpoint’inin döndürdüğü UUID; download (query, zorunlu) — xml veya pdf. Yanıt: 200 OK.
GET /api/v1/tasks/{task_id}/validation-report
CanlıDownload the validation report tied to the current validated result artifact. The report is available only after strict conversion has produced a cached artifact with current validation proof, and returns 404 when no report is bound to the delivered artifact. İstek: none (GET); task_id (path, required) — UUID returned by the convert endpoint; download (query, optional) — html or xml. Yanıt: 200 OK.
Çıktı biçimi matrisi
| Biçim | Söz dizimi | Sürüm / Profil | Content-Type | Uzantı |
|---|---|---|---|---|
| XRECHNUNG | UBL 2.1 XML | XRechnung 3.0.2 | application/xml | .xml |
| ZUGFERD | CII XML (download=xml) / hibrit PDF/A-3 (download=pdf) | ZUGFeRD 2.3.2 / Factur-X 1.07.2 | application/xml veya application/pdf | .xml / .pdf |
| EN16931 | UBL 2.1 XML | EN 16931 | application/xml | .xml |
| UBL | UBL 2.1 XML | OASIS UBL 2.1 | application/xml | .xml |
| CII | UN/CEFACT CII XML | D16B | application/xml | .xml |
Hata sözleşmesi
| Kod | HTTP | Tekrar denenebilir | Notlar |
|---|---|---|---|
| AUTHENTICATION_REQUIRED | 401 | Hayır | Bearer token eksik/boş |
| INVALID_API_KEY | 401 | Hayır | API anahtarı bulunamadı, iptal edildi veya süresi doldu |
| INSUFFICIENT_API_CREDITS | 402 | Hayır | Onaylı ön ödemeli test kredilerini veya Enterprise order form faturalandırmasını kullanın |
| IDEMPOTENCY_KEY_REQUIRED | 400 | Hayır | Yazma endpoint’i Idempotency-Key olmadan çağrıldı |
| INVALID_IDEMPOTENCY_KEY | 400 | Hayır | Idempotency key formatı geçersiz |
| IDEMPOTENCY_CONFLICT | 409 | Hayır | Aynı key farklı istek hash’i ile kullanıldı |
| IDEMPOTENCY_IN_PROGRESS | 409 | Evet | Aynı key/payload ile daha sonra güvenli biçimde yeniden denenebilir |
| FORMAT_REQUIRED | 400 | Hayır | Dönüşüm isteğinde zorunlu format eksik |
| INVALID_FORMAT | 422 | Hayır | Desteklenmeyen dönüşüm formatı |
| CLIENT_REFERENCE_CONFLICT | 400 | Hayır | client_reference ve external_invoice_id farklı |
| INVALID_CLIENT_METADATA | 400 | Hayır | client_reference, external_invoice_id veya source_system uzunluk limitini aşıyor ya da kontrol karakterleri içeriyor |
| INVALID_SELLER_MASTER_DATA | 400 | Hayır | use_seller_master_data veya seller_master_data ayrıştırılamıyor ya da alan doğrulamasından geçemiyor |
| METHOD_NOT_ALLOWED | 405 | Hayır | Dönüşüm yolları yalnızca POST kabul eder; yanıt Allow: POST header’ı içerir |
| DOWNLOAD_FORMAT_REQUIRED | 400 | Hayır | Task sonuç isteğinde zorunlu download sorgusu eksik |
| INVALID_DOWNLOAD_FORMAT | 400 | Hayır | download xml veya pdf olmalıdır |
| AUTH_SERVICE_UNAVAILABLE | 503 | Evet | Auth backend kullanılamıyor |
| RATE_LIMIT_SERVICE_UNAVAILABLE | 503 | Evet | Rate-limit backend kullanılamıyor |
| API_CREDIT_SERVICE_UNAVAILABLE | 503 | Evet | Ön ödemeli API kredisi veya kanal kontenjanı doğrulaması dönüşüm yüklemelerinde geçici olarak kullanılamıyor |
| RATE_LIMITED | 429 | Evet | Retry-After ve kota header’larına uyun |
| BAD_REQUEST | 400 | Hayır | Geçersiz JSON veya geçersiz UUID path parametresi |
| INVALID_QUERY_PARAMETER | 400 | Hayır | include_validation_report_html true veya false olmalıdır |
| PAYLOAD_TOO_LARGE | 413 | Hayır | Yükleme boyutu limitini aşıyor |
| INVALID_UPLOAD | 400 | Hayır | Yükleme okunamadı/ayrıştırılamadı |
| UPLOAD_FAILED | 4xx/5xx | Koşullu | Geçersiz istek seçeneklerini düzeltin; yalnızca geçici 5xx durumlarında yeniden deneyin |
| TASK_NOT_READY | 202 | Evet | Asenkron tamamlama için tekrar poll edin |
| TASK_NOT_FOUND | 404 | Hayır | Bilinmeyen veya tenant’a ait olmayan bir task için doğrulama raporu isteği |
| VALIDATION_FAILED | 422 | Hayır | Katı ZUGFeRD ön koşul hataları ve çözülmemiş blocking_source_conflict girdileri dahil engelleyici doğrulama sorunları devam ediyor; tekrar denemeden önce fatura verilerini düzeltin |
| AUTHORITATIVE_VALIDATION_UNAVAILABLE | 503 | Evet | Yetkili doğrulama, kanıt kaydı veya hibrit üretim bağımlılığı kullanılamıyor; daha sonra tekrar deneyin |
| TASK_STATUS_FAILED | 4xx/5xx | Koşullu | Geçici servis koşulu varsa yeniden deneyin |
| TASK_RESULT_FAILED | 4xx/5xx | Koşullu | Geçici servis koşulu varsa yeniden deneyin |
| TASK_FAILED | 500 | Hayır | Task, uyumlu bir artefakt üretilmeden başarısız oldu; details alanı altta yatan hata kodunu taşır |
| XML_GENERATION_FAILED | 500 | Evet | Geçici XML üretim hatası veya zaman aşımı |
| PDF_GENERATION_FAILED | 500 | Evet | Geçici PDF üretim hatası veya zaman aşımı |
| ARTIFACT_GENERATION_RERUN_REQUIRED | 503 | Hayır | Katı artifact üretimi sunucu tarafı retry denemelerinden sonra başarısız oldu; bağımlılık düzeldikten sonra yeni bir dönüştürme başlatın |
| ARTIFACT_GENERATION_FAILED | 503 (details code) | Hayır | Yeniden denenebilir katı üretim hataları için başarısız task’lara kaydedilir; sonuç indirmeleri details içinde bu kodla 503 ARTIFACT_GENERATION_RERUN_REQUIRED döndürür |
| ARTIFACT_PARITY_FAILED | 500 (details code) | Hayır | Katı artefakt, nihai incelenmiş fatura verisiyle eşleşmediğinde 500 TASK_FAILED details içinde bildirilir; korelasyon ID’si ile destek ekibine iletin |
| INTERNAL_ARTIFACT_INVARIANT_FAILED | 500 | Hayır | Tamamlanan katı task’ın istenen indirme için güvenli kayıtlı artefaktı yok; korelasyon ID’si ile destek ekibine iletin |
| PROFILE_MISMATCH | 422 | Hayır | İstenen profil, sonuç indirmede kayıtlı sonucun CustomizationID değeriyle eşleşmiyor |
| ZUGFERD_SOURCE_PDF_INCOMPATIBLE | 422 | Hayır | Katı hibrit PDF üretimi XML verisini yüklenen kaynak PDF içine gömemiyor |
| ZUGFERD_SOURCE_PDF_REQUIRED | 422 | Hayır | ZUGFERD için download=pdf bir PDF kaynak yüklemesi gerektirir (DOCX/TXT kaynakları hibrit PDF taşıyamaz); bunun yerine download=xml isteyin |
| VALIDATION_REPORT_NOT_FOUND | 404 | Hayır | Geçerli teslim edilen artefakt kanıtına bağlı doğrulama raporu yok |
| VALIDATION_REPORT_FAILED | 4xx/5xx | Koşullu | Doğrulama raporu alınamadı; yalnızca geçici 5xx durumlarında yeniden deneyin |
| OUTPUT_PROFILE_REQUIRED | 422 | Hayır | Net bir varsayılan belirlenemediğinde genel çıktı sözleşmesi açık profil gerektirir |
| OUTPUT_PROFILE_CONFLICT | 422 | Hayır | Profil seçilen çıktı formatı veya açık varyantla çelişiyor |
| PROXY_ERROR | 502/504 | Evet | Geçici bağlantı hatası (timeout için 504) |
Yaygın hatalar ve yapılacaklar
- Backoff ile tekrar deneyin:
429,500,502,503,504. - İstek veya kaynak veriyi düzeltin:
400,409,413,422. - Erişim veya kimlik bilgilerini düzeltin:
401,403. - Onayı, ön ödemeli test kredilerini veya Enterprise order form faturalandırmasını doğrulayın:
402 INSUFFICIENT_API_CREDITS. - Daha sonra polling yapmaya devam edin:
202 TASK_NOT_READY. 422 VALIDATION_FAILEDiçin alanı, kural ID’sini ve düzeltme önerisini insan inceleyiciye gösterin; düzeltilmiş fatura verisiyle sonra tekrar deneyin.503 AUTHORITATIVE_VALIDATION_UNAVAILABLEiçin aynı task sonucunu daha sonra yeniden alın; doğrulanmamış artefakt teslim edilmemiştir.
Hız ve yük limitleri
API anahtarı bazlı rate limit’ler ve payload boyutu sınırları tüm API çağrıları için uygulanır. Reddedilen dönüşümler ön ödemeli API kredisi tüketmez; rate limit’ler uç nokta bazında ayrı hesaplanır.
- Uç nokta bazlı limitler maliyet ağırlıklıdır. İki yükleme uç noktası temel kotayı kullanır (varsayılan
30/minve500/hour); task polling şu anda varsayılan olarak en az10/minve120/hour, result indirmeleri ise en az10/minve yaklaşık134/hourdeğerindedir. - Etkili limitleri cevaplarda
X-RateLimit-Limit-MinuteveX-RateLimit-Limit-Hourüzerinden okuyun. - Kaynak belge yükleme maksimum boyutu: PDF, DOCX veya TXT dosyaları için
20 MB. - Maksimum yapılandırılmış veri yükleme boyutu: tüm
data_fileparçaları genelinde toplam2 MB. - Maksimum JSON payload boyutu:
1 MB - Rate-limit cevapları
Retry-After,X-RateLimit-Limit-MinuteveX-RateLimit-Limit-Houriçerir.
Yeniden deneme rehberi
- Jitter ile üstel backoff kullanın.
- Yalnızca geçici sınıfları (
429,500,502,503,504) ve mümkünse aynı payload ile idempotency key kullanarak yeniden deneyin. - Doğrulama veya sözleşme hatalarını (
400,401,402,403,409,413,422) körlemesine yeniden denemeyin.
Görev yaşam döngüsü ve saklama
- Tamamlanan ve başarısız task’lar terminal duruma ulaştıktan sonra
10 dakikaboyunca kullanılabilir kalır. - İşlem
5 dakikasonra zaman aşımına uğrar; takılı task’lar otomatik olarakfailedişaretlenir. - Idempotency key’leri
24 saatsonra geçerliliğini yitirir. - Rate-limit sayaçları kayan pencereye göre sıfırlanır.
Destek modeli
- Mesai saatlerinde ticari olarak makul çaba temelinde destek.
- Order form içinde kararlaştırılmadıkça resmi SLA, servis kredisi veya yanıt süresi taahhüdü yoktur.
Değişiklik günlüğü
Dışa açık son API değişiklikleri.
2026-07-26
When seller master data is enabled, every supplied profile value replaces the corresponding extracted seller or payment value. Fields absent from the profile remain unchanged. Source differences are non-blocking review warnings.
2026-07-10
Dokümantasyon tamamlaması; çalışma zamanı davranışında değişiklik yok. Hata kataloğu artık daha önce belgelenmemiş çalışma zamanı hata kodlarını belgeliyor: API_CREDIT_SERVICE_UNAVAILABLE, TASK_NOT_FOUND, INVALID_CLIENT_METADATA, INVALID_SELLER_MASTER_DATA, PROFILE_MISMATCH, ZUGFERD_SOURCE_PDF_REQUIRED, VALIDATION_REPORT_NOT_FOUND, VALIDATION_REPORT_FAILED, INVALID_QUERY_PARAMETER ve METHOD_NOT_ALLOWED dahil. Hata yanıtlarını makine tarafından okunabilir code alanıyla ayrıştıran istemciler için değişiklik gerekmez; sabit kod listesine göre çalışan istemciler yeni belgelenen değerleri eklemelidir. Changelog tarihleri düzeltildi: DOCX/TXT kaynak desteği 2026-07-06 değil 2026-06-30 tarihinde yayınlandı.
2026-07-06
Tamamlanan task payload’ları, kaynak kanıt çıkarımdan önce eksik, şüpheli veya kesilmiş olduğunda SOURCE_CONTEXT_* kural ID’leri içeren ek _processing_warnings ve _validation_warnings girdileri içerebilir. SOURCE_CONTEXT_* girdilerini müşteri tarafı istisna yönetimi için inceleme sinyali olarak ele alın; katı artefakt indirmeleri doğrulama kanıtı ve artefakt kontrolleriyle korunmaya devam eder.
2026-07-03
Katı ZUGFeRD ön koşul hataları (hibrit üretim için zorunlu alan eksikleri) artık yeniden denenebilir 503 yerine engelleyici kural ID’leriyle 422 VALIDATION_FAILED olarak başarısız olur; bunları retry döngüsüne değil veri düzeltme akışına yönlendirin. Yalnızca XML üreten formatlarda (XRECHNUNG, EN16931, UBL, CII) PDF görüntüsü artık en iyi çaba esaslı bir kolaylık artefaktıdır: tamamlanan task’larda download=xml belirleyici ve erişilebilir kalır, XML üretiminden sonra render başarısız olursa download=pdf kullanılamayabilir. Çözülmemiş engelleyici kaynak çatışmaları olan dönüşümler artık artefakt üretmek yerine blocking_source_conflict girdileriyle 422 VALIDATION_FAILED olarak başarısız olur.
2026-06-30
POST /api/v1/invoices:convert artık file alanında PDF, DOCX ve TXT fatura kaynak belgelerini kabul eder. Eski DOC, RTF, görüntü ve desteklenmeyen diğer kaynak dosyalar dönüşüm başlamadan önce reddedilir. ZUGFeRD/Factur-X hibrit PDF indirmeleri hâlâ PDF kaynak yüklemesi gerektirir; DOCX/TXT kaynak dönüşümleri için XML indirmelerini kullanın. GET /api/v1/tasks/{task_id} üzerinde, mevcut olduğunda arındırılmış HTML doğrulama raporunu satır içi döndüren opsiyonel include_validation_report_html=true eklendi. Dönüşüm yüklemeleri artık her iki endpoint’te opsiyonel use_seller_master_data ve seller_master_data alanlarını kabul eder; onaylı tenant’lar kayıtlı veya istek kapsamlı satıcı varsayılanlarını etkinleştirebilir.
2026-06-29
Geçerli katı sonuç artefaktı kanıtına bağlı doğrulama raporunu almak için GET /api/v1/tasks/{task_id}/validation-report?download=html|xml eklendi. Doğrulama raporu yanıtları task ID, artefakt SHA-256, doğrulama kanıtı ID, rapor kanıtı ID, rapor içerik türü ve korelasyon ID header’larını içerir.
2026-06-02
External API erişimi artık sınırsız anahtar oluşturma yerine onaylı erişim olarak belgelenir. Order form içinde kararlaştırılmadıkça resmi SLA, servis kredisi veya sözleşmesel ceza olmadığı netleştirildi. format artık iki dönüşüm endpoint’inde de zorunludur; eksik değerler 400 FORMAT_REQUIRED, desteklenmeyen değerler 422 INVALID_FORMAT döndürür. download artık task-result isteklerinde zorunludur; eksik değerler 400 DOWNLOAD_FORMAT_REQUIRED, desteklenmeyen değerler 400 INVALID_DOWNLOAD_FORMAT döndürür. Dönüşüm yüklemeleri artık müşteri tarafı mutabakat için client_reference/external_invoice_id ve source_system kabul eder. Kabul edilen dönüşüm ve task durum yanıtları artık status_url, primary_result_format, primary_result_url ve gönderilen mutabakat alanlarını içerir.
2026-06-01
Yapılandırılmış dönüşüm artık tüm herkese açık çıktı formatlarını kabul eder: XRECHNUNG, ZUGFeRD, EN16931, UBL ve CII. Yapılandırılmış dönüşüm artık bölünmüş ERP dışa aktarımları için tekrarlanabilir data_file parçalarını ve data_files ile data_files[] aliaslarını kabul eder. Yapılandırılmış çok dosyalı paketler tam olarak tek bir faturayı tanımlamalıdır; çelişkili veya eksik paket fatura ID’lerinde erken hata verir. Birden fazla fatura belgesinin her biri kendi idempotency key’ine sahip ayrı dönüşüm task’ları olarak gönderilmesi gerektiği netleştirildi.
2026-05-27
Desteklenen çıktı formatlarında taşıyıcı PDF ve CSV/JSON/XML/XLSX/TXT yapılandırılmış veri dönüşümü için POST /api/v1/invoices:convert-structured eklendi. Bu endpoint’te yapılandırılmış verinin tek semantik kaynak olduğu; PDF’nin hibrit gömme için kullanıldığı belgelendi. Yapılandırılmış dönüşüm için OpenAPI ve Postman artefaktları güncellendi.
2026-05-08
Enterprise olmayan tenant’lar için ön ödemeli External API kredileri eklendi. Enterprise order form faturalandırması veya ön ödemeli kredisi olmayan onaylı tenant’lar için 402 INSUFFICIENT_API_CREDITS belgelendi. İdempotent replay’lerin ek API kredisi tüketmediği doğrulandı. External API V1 model yönlendirmesinin sunucu tarafında yönetildiği, profil ve teslimat bağlamının ise çağıran tarafından kontrol edildiği netleştirildi.
2026-03-06
Task-result indirmeleri CII ve ZUGFERD çıktıları için formata sadık hale getirildi. Aynı task’ın tekrarlı XML/PDF indirmeleri için önbelleğe alınmış sonuç artefaktlarının yeniden kullanımı eklendi. Polling kotaları endpoint kapsamlı ağırlıklı rate-limit bucket’ları ile hizalandı.
2026-02-23
Tüm endpoint’lerde daha açık ve tutarlı API hata cevapları eklendi. Convert seçenekleri genişletildi ve task sonuçları için XML/PDF indirme davranışı belgelendi. Daha sıkı idempotency gereksinimleri ve doğrulama ile retry güvenliği iyileştirildi. OpenAPI/Postman artefaktları güncel API davranışıyla hizalandı.
Teslimat çıktıları
Developer API için makine tarafından okunabilir entegrasyon çıktıları indirin.
Postman ve OpenAPI kullanımı
- Postman koleksiyonunu içe aktarın ve
base_url,api_keyveidempotency_keykoleksiyon değişkenlerini ayarlayın. - Koleksiyonu sırayla çalıştırın: convert, durum sorgulama, ardından sonucu alma.
- OpenAPI JSON ile typed client üretin; dosya yükleme, polling ve binary result işleme için entegrasyon testleri tutun.
- Support’un istekleri uçtan uca izleyebilmesi için
X-Correlation-IDdeğerini loglarda saklayın.
Teknik geri bildirim gönderin
Uygulama sorularınızı, riskleri ve gerekli sözleşme değişikliklerini ekibimizle paylaşın.