Sistem & API Entegrasyonları: Kurumsal Yazılımları Birbirine Bağlama
ERP, CRM, e-ticaret, banka/ödeme, kargo ve muhasebe sistemleriniz arasında güvenli, izlenebilir ve event-driven bir entegrasyon katmanı kurguluyoruz; retry, idempotency, dead-letter queue ve OpenAPI sözleşmeleriyle elle veri aktarımına son veriyoruz.
Bir kurumun içinde ERP ayrı, CRM ayrı, e-ticaret sitesi ayrı, kargo entegrasyonu ayrı, banka/ödeme tarafı ayrı, muhasebe yine ayrı çalışıyor ve bu sistemler birbiriyle konuşmadığı için aradaki köprüyü genelde bir insan kuruyor. Birisi e-ticaret panelinden siparişleri Excel'e döküyor, sonra onları ERP'ye elle giriyor; muhasebe ekibi kargo firmasının raporunu ayrı indirip mutabakat yapıyor; satış ekibi CRM'deki müşteriyi ERP'de bir kez daha açıyor. Bu manuel köprüler hem yavaş hem hataya açık hem de işletmeyi tek bir kişinin "o işi nasıl yaptığını" bilmesine bağımlı kılıyor. Türkiye'de orta ve büyük ölçekli işletmelerin dijital dönüşümünde en çok karşılaştığımız tablo bu: yazılımlar var, ama aralarındaki boşluğu hâlâ insan dolduruyor. Sistem ve API entegrasyonu dediğimizde yaptığımız iş tam olarak bu boşluğu kapatmak: kopuk sistemleri güvenli, izlenebilir ve hatadan kendini toparlayan bir entegrasyon katmanıyla birbirine bağlamak.
Kopuk Sistemlerin ve Elle Veri Aktarımının Yarattığı Kayıplar
Aynı veri (müşteri, ürün, sipariş) birden fazla sisteme elle giriliyor; her giriş ayrı bir hata kaynağı oluyor ve sistemler arasında 'hangisi doğru' tartışması sürekli yaşanıyor.
E-ticaretten gelen sipariş ERP'ye gece batch'iyle ya da elle giriliyor; stok gerçek zamanlı düşmediği için aynı ürün iki müşteriye satılıyor, sonra sipariş iptal/itibar kaybıyla kapatılıyor.
Entegrasyon bir kişinin makinesindeki script'e ya da zamanlanmış göreve bağlı; o kişi izne çıktığında veya script sessizce çöktüğünde veri akışı durur, kimse günlerce fark etmez.
Banka/ödeme ve kargo webhook'ları geçici bir hata yüzünden kaybolduğunda yeniden gönderim ve takip mekanizması olmadığı için ödeme alınmış sipariş 'beklemede' kalıyor, müşteri hizmetleri elle düzeltiyor.
Hangi sistemin diğerine ne zaman ne gönderdiğine dair tek bir izlenebilir kayıt yok; bir tutarsızlık çıktığında ekip log yerine tahminle saatlerce 'hata nerede' diye arıyor.
Yaklaşımımız
Entegrasyon projelerinde ilk hafta kod yazmıyoruz; bunun yerine veri haritası ve sözleşme çıkarmayı öneriyoruz. Hangi veri hangi sistemde "doğru kabul edilen" kaynak (system of record)? Müşteri kaydının sahibi CRM mi ERP mi, stok sayısının nihai sahibi WMS mi e-ticaret mi? Bu soruyu netleştirmeden kurulan her entegrasyon, ilerleyen aylarda "iki sistemde iki farklı stok" çatışmasına dönüşüyor. Her veri varlığı için tek bir sahip belirleyip diğer sistemleri "okuyucu" konumuna alıyoruz. Ardından her bağlantı için bir OpenAPI sözleşmesi tanımlıyoruz; entegrasyonun iki ucu da bu sözleşmeye göre geliştiriliyor ve contract testing ile sözleşmeden sapma derleme aşamasında yakalanıyor. Böylece kaynak sistem güncellenip alan adı değiştiğinde entegrasyon sessizce bozulmuyor, test kırmızıya dönüyor.
İkinci kritik karar event-driven bir middleware katmanı kurmak. Sistemleri birbirine doğrudan, nokta-nokta (point-to-point) bağlamak ilk başta kolay görünür; ama beş sistemden sonra her biri diğer dördüne bağlıdır ve bağlantı sayısı kontrolden çıkar. Bunun yerine ortada bir mesaj omurgası kurguluyoruz: kaynak sistem bir olay yayınlıyor ("sipariş oluştu", "ödeme onaylandı", "stok değişti"), bu olay RabbitMQ ya da Apache Kafka üzerinden ilgili tüm tüketicilere dağıtılıyor. Kafka'yı yüksek hacimli ve olay geçmişinin tekrar oynatılması (replay) gereken senaryolarda, RabbitMQ'yu daha klasik iş kuyruğu senaryolarında tercih ediyoruz. Bu yapıda yeni bir sistem eklendiğinde mevcut entegrasyonlara dokunmadan sadece yeni bir tüketici ekleniyor; bağlantı sayısı doğrusal kalıyor, üstel patlama olmuyor.
Üçüncü katman güvenilirlik desenleri: idempotency, retry ve dead-letter queue. Entegrasyon dünyasının değişmez gerçeği, çağrıların bir gün başarısız olacağıdır: ağ kopar, hedef sistem bakımdadır, webhook iki kez gelir. Bunu istisna değil normal kabul edip her gelen olaya idempotency anahtarı bağlıyoruz, böylece aynı sipariş iki kez işlenmiyor. Başarısız çağrıları exponential backoff ile yeniden deniyoruz; belirli denemeden sonra hâlâ olmuyorsa mesaj dead-letter queue'ya düşüyor ve Sentry üzerinden alarm üretiyor. Tek bir geçici hata tüm akışı durdurmadığı gibi, kalıcı bir hata da sessizce kaybolmuyor; birisi mutlaka haberdar oluyor.
Son katman güvenlik ve izlenebilirlik. Dışa açılan her uç bir API gateway'in (Kong ya da Nginx) arkasında duruyor; kimlik doğrulama OAuth2/JWT ile, hız sınırlama (rate limiting) ve IP kısıtlaması gateway seviyesinde yapılıyor. Her olayın correlation ID ile uçtan uca izi tutuluyor; "bu sipariş hangi sistemlerden geçti, nerede takıldı" sorusu log tahminiyle değil tek bir izleme ekranından yanıtlanıyor. Hassas alanlar (kart, kimlik, banka) loglara maskelenerek yazılıyor. Amaç, entegrasyonu "çalışıyor ama nasıl çalıştığını kimse bilmiyor" kutusu olmaktan çıkarıp şeffaf ve denetlenebilir bir sistem haline getirmek.
Süreç
Veri Haritası & Sözleşme
Hangi veri hangi sistemde sahibinin (system of record) belirlenmesi, sistemler arası akışların çıkarılması ve her bağlantı için OpenAPI sözleşmesi + contract testing tanımı.
Bağlantı & Adaptör Geliştirme
Logo / SAP / Netsis / Mikro, banka/ödeme, kargo ve e-ticaret için REST / GraphQL / SOAP / OData adaptörleri; resmi API'si zayıf sistemlerde staging/trigger ya da RPA köprüsü.
Event-Driven Omurga
RabbitMQ ya da Apache Kafka üzerinde mesaj omurgası, olay yayınlama/tüketme akışları, Redis ile önbellek ve dedup, n8n / özel iPaaS ile düşük kodlu akışlar.
Güvenilirlik & Güvenlik Katmanı
Idempotency anahtarları, exponential backoff retry, dead-letter queue, API gateway (Kong/Nginx), OAuth2/JWT, rate limiting, hassas alan maskeleme.
İzlenebilirlik & Canlı Geçiş
Correlation ID ile uçtan uca izleme, Sentry alarmları, mutabakat raporları, pilot akışta paralel çalıştırma (dual-run), sonra kademeli canlı geçiş ve devir.
Tercih Ettiğimiz Teknolojiler
Tipik tercihlerimiz aşağıdaki gibi; mevcut sistem yığınınıza, veri hacminize ve gecikme toleransınıza göre uyarlıyoruz.
Sıkça Sorulan Sorular
Sistem & API Entegrasyonunuz İçin Görüşelim
15-30 dakikalık ücretsiz keşif görüşmesi. Mevcut sistem yığınınızı, veri akışlarınızı ve gecikme toleransınızı anlıyoruz; entegrasyon mimarisi için net bir yön ve fiyat bandı veriyoruz.
