# D09 dış entegrasyon kabul planı Son salt okunur canlı tarama: 15 Eylül 2026, `https://ihaleist.com`. Bu plan, dış sistemlerde yan etki oluşturmayan kontrolleri tamamlananlardan ayırır. Ödeme, e-posta, Telegram mesajı ve resmi teklif gönderimi yalnız yetkili test verileri ve açık işlem yetkisiyle yapılır. EKAP güvenlik doğrulaması otomasyonla aşılmaz. ## Mevcut durum | Entegrasyon | Canlı durum | Doğrulanan kanıt | Kapatma adımı | | --- | --- | --- | --- | | ilan.gov.tr / BİK | Geçti | HTTP 200, kaynak `ilan.gov.tr`, 3.258 kayıt | D10/D04 veri kalitesi izlemesi dışında D09 işi yok | | TCMB | Geçti | HTTP 200, 15.09.2026 bülteni ve kaynak URL’si | D09 için kapalı | | Google ile giriş | Yapılandırılmış | Public config `configured: true` | Test hesabıyla giriş, çıkış ve oturum yenileme | | EKAP resmi doküman | İnsan doğrulaması | OKAS ve D10 belge isteği HTTP 428, `HUMAN_VERIFICATION_REQUIRED` | Yetkili kullanıcı CAPTCHA’yı tamamlayıp beş resmi paketi indirir; dosyalar uygulamaya yüklenir | | KİK kurul kararları | İnsan doğrulaması | HTTP 428, doğru hata kodu ve kullanıcı yönlendirmesi | EKAP doğrulamasından sonra arama ve karar metni tekrar denenir | | TED | Geçti | HTTP 200, zaman aşımı yok | Gerçek sonuçlu sorgu ve çeviri kontrollü AI test bütçesiyle doğrulanır | | AI yardımcıları | Yapılandırılmış | 7 sağlayıcı hazır | Yetkili test hesabı ve incelenmiş test belgesiyle analiz, soru, taslak ve denetim zinciri | | Stripe | Yapılandırılmış | Checkout ve webhook hazır, 3 plan | Stripe test modunda başarılı/başarısız ödeme, webhook tekrar teslimi ve iptal | | E-posta | Kimlik doğrulamayla korumalı | Yetkisiz config isteği HTTP 401 | Yetkili hesapla config okuma; izinli test alıcısına tek gönderim | | Telegram | Engelli | Public config `configured: false` | Bot/chat yapılandırması, bağlama kodu ve izinli test sohbetine tek mesaj | | PWA / offline worker | Geçti | Manifest ve service worker HTTP 200 | Gerçek cihazda kurulum, offline düzenleme, yeniden bağlanma ve kuyruk boşalması | | API / RSS / MCP | Kimlik doğrulamayla korumalı | API key ve RSS 401; MCP artık proxy üzerinden 401; public sonuç RSS 200 | Yetkili hesapla anahtar oluşturma, kullanma, iptal ve iptal sonrası 401 | | Zeyilname/sonuç zamanlayıcısı | Gözlemlenebilir | Durum uç noktası 200; iki worker etkin | Kontrollü test kaydıyla olay üretme, tek teslim ve tekrar engeli | Canlı özet: 13 entegrasyonun 4’ü geçti, 3’ü yapılandırılmış, 2’si kimlik doğrulamayla korumalı, 1’i gözlemlenebilir, 2’si insan doğrulaması bekliyor ve 1’i yapılandırılmadığı için engelli. Korunan 14 uç noktanın 14’ü yetkisiz isteği reddetti. ## Uygulama sırası 1. **Hesap ve erişim kabulü:** Google oturumu ile API anahtarı oluşturma/kullanma/iptal zincirini aynı test hesabında doğrula. 2. **EKAP/KİK ve D10:** Yetkili kullanıcı doğrulamasından sonra beş resmi paketi yükle; her ihale için belge gereksinimi, ürün uygunluğu, firma dosyası, fiyat ve çıktı kapılarını kaydet. 3. **AI/TED:** Yalnız incelenmiş test belgesiyle gerçek sonuçlu TED araması, çeviri, analiz, belgeye soru, taslak ve denetim çıktısını kaynak atıflarıyla karşılaştır. 4. **Bildirimler:** E-posta yapılandırmasını oku; izinli test adresi ve Telegram sohbetinde tek gönderimi, hata kaydı ve tekrar engeliyle doğrula. 5. **Stripe:** Test modunda başarı, ret, iptal ve aynı webhook’un tekrar tesliminde tek abonelik değişikliği oluştuğunu doğrula. 6. **PWA ve zamanlayıcı:** Gerçek cihazı offline yap, bir düzenlemeyi kuyruğa al, yeniden bağlanınca tek kez uygulandığını doğrula; ardından kontrollü zeyilname/sonuç olayını çalıştır. Her adımda kabul kanıtı; zaman, test hesabı kimliği, kullanılan kayıt/İKN, HTTP sonucu, ekrandaki kullanıcı mesajı ve oluşan veri değişikliğini içermelidir. Başarısız veya yapılandırılmamış entegrasyon tamamlandı olarak işaretlenmez. ## Bu sürümde düzeltilen iki hata - Nginx, `/mcp` POST isteğini statik dosya gibi ele alıp 405 döndürüyordu. İstek artık Node API’ye proxy ediliyor ve yetkisiz çağrı doğru biçimde 401 dönüyor. - KİK, OKAS ve ürün aramalarındaki EKAP HTTP 428 yanıtı genel 502’ye çevriliyordu. Yanıt artık `HUMAN_VERIFICATION_REQUIRED`, `retryable: false` ve kullanıcıya uygulanabilir yönlendirme içeriyor. Makine tarafından üretilen kanıt: [`qa-live-d09-integrations.json`](evidence/qa-live-d09-integrations.json).