01Sorun ve çözüm
Üçüncü taraf API entegrasyonunu, dış servisi uygulamanızdan yalıtan bir bağlantı katmanı olarak kuruyoruz. Uygulamanın geri kalanı sağlayıcıyla değil bu katmanla konuşur; zaman aşımı, yeniden deneme, hız sınırı ve hata dönüşümü tek yerde ele alınır. Sağlayıcıyı değiştirmek gerektiğinde ya da ikinci bir sağlayıcı eklemek istediğinizde iş, uygulamanın her köşesinde değil yalnızca bu katmanda yapılır.
Devamını okuDaha az göster
İşe servisin dokümantasyonunu, test ortamını ve kullanım koşullarını inceleyerek başlıyoruz; sözleşmede ya da teknik belgede belirsiz kalan noktaları sağlayıcıyla yazılı olarak netleştiriyoruz.
02Kimler için
Üçüncü taraf API entegrasyonu kimlere gerekir
Dış servise bağımlılığınız arttıkça bu bağımlılığın yönetilmesi ayrı bir mühendislik işi hâline gelir.
- Ürününe ödeme, kimlik doğrulama ya da bildirim servisi eklemek isteyen yazılım girişimleri
- Kurum içi uygulamasını bir SaaS ürününe, bulut servisine ya da iş ortağının sistemine bağlamak isteyen şirketler
- Sektöre özel bir veri sağlayıcısından fiyat, stok, konum ya da kur verisi alan işletmeler
- Önceki ekip tarafından yazılmış, belgesi olmayan ve sık kırılan bir entegrasyonu devralan teknik ekipler
- Tek bir sağlayıcıya bağımlı kalmamak için yedek servis tanımlamak isteyen firmalar
03İhtiyaçlar
Dış servislere bağlanırken karşılaşılan riskler
Bir API'yi çağırmak kolaydır; onun kontrolünüz dışındaki davranışına hazırlıklı olmak emek ister.
- 01
Eksik ya da güncel olmayan dokümantasyon
Belgede yazan alan adıyla servisten dönen alan farklı olabilir, hata kodları açıklanmamış olabilir. Test ortamında gerçek yanıtlar kaydedilir ve entegrasyon belgeye değil gözlenen davranışa göre yazılır.
- 02
Kimlik doğrulama ve anahtar yönetimi
API anahtarı, OAuth akışı, istemci sertifikası ya da imzalı istek; her sağlayıcı farklı bir yöntem kullanır. Anahtarların süresi dolar, yenilenmesi ve iptal edilmesi planlanmalıdır.
- 03
Hız sınırları ve kota
Sağlayıcılar dakikalık ya da günlük istek sayısını sınırlar, bazıları istek başına ücretlendirir. Gereksiz çağrılar önbellekle azaltılmazsa hem hata hem beklenmedik fatura ortaya çıkar.
- 04
Sürüm değişikliği ve kullanımdan kaldırma
Sağlayıcı eski sürümü kapattığında entegrasyon bir anda durabilir. Duyuruların izlenmesi ve geçişin planlı yapılması bakım işinin parçasıdır.
04Özellikler
Üçüncü taraf API entegrasyonunda kurduğumuz koruma katmanları
Her entegrasyonda aynı temel dayanıklılık önlemlerini, servisin niteliğine göre ayarlayarak uyguluyoruz.
- 01
Adaptör katmanı
Sağlayıcının veri modeli sizin iş modelinize dönüştürülür; uygulama kodunda sağlayıcıya özgü alan adı ya da hata kodu dolaşmaz.
- 02
Zaman aşımı, yeniden deneme ve devre kesici
Yavaş yanıt veren servis belirli bir süre sonra bırakılır, geçici hatalarda artan aralıklarla yeniden denenir. Servis sürekli hata veriyorsa çağrılar bir süre durdurulur ve kullanıcıya anlamlı bir mesaj gösterilir.
- 03
Webhook alıcısı
Sağlayıcının gönderdiği bildirimler imza doğrulamasıyla kabul edilir, kuyruğa alınır ve sırayla işlenir. Aynı bildirimin tekrar gelmesi kayıtları bozmaz.
- 04
İzleme paneli ve uyarılar
Her sağlayıcı için yanıt süresi, hata oranı ve kota kullanımı izlenir. Eşik aşıldığında teknik ekibe bildirim gider; sorun çoğu zaman kullanıcıya yansımadan fark edilir.
05Entegrasyonlar
Sık bağlanan üçüncü taraf servis türleri
Kapsam servisin türüne göre değişir; aşağıdakiler en sık karşılaştığımız gruplardır.
- 01
Ödeme ve finans servisleri
iyzico, PayTR ya da bankaların sanal POS'u gibi ödeme altyapıları, kur ve fiyat verisi sağlayan kaynaklar.
- 02
Harita, adres ve konum
Adres doğrulama, mesafe hesabı, rota ve konum servisleri; mobil uygulamalarda ve saha yazılımlarında sık kullanılır.
- 03
Bulut ve yapay zekâ servisleri
AWS, Azure ya da Google Cloud üzerindeki depolama, kuyruk ve kimlik servisleri; OpenAI gibi dil modeli sağlayıcıları.
- 04
İletişim ve SaaS uygulamaları
E-posta ve SMS sağlayıcıları, CRM ve proje yönetim araçları, takvim ve doküman servisleri.
06Süreç
Üçüncü taraf API entegrasyonu yaptırmak istiyorum: süreç nasıl işler?
Adım 01
Analiz
İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.
Adım 02
Tasarım
Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.
Adım 03
Geliştirme
Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.
Adım 04
Test
İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.
Adım 05
Yayın
Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.
Adım 06
Bakım
İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.
07Teknoloji
Gizli bilgiler, test ve belgelendirme
API anahtarları ve istemci sırları kaynak kodunda ya da sürüm kontrol sisteminde tutulmaz; bulut sağlayıcının gizli bilgi kasasında ya da şifreli ortam değişkenlerinde saklanır. Test ve canlı ortamlar ayrı anahtarlar kullanır, böylece geliştirme sırasında yanlışlıkla gerçek ödeme alınmaz ya da gerçek müşteriye mesaj gitmez. Dış servise kişisel veri gönderiliyorsa yalnızca gereken alanlar paylaşılır ve sağlayıcının veriyi nerede işlediği KVKK açısından birlikte değerlendirilir.
Devamını okuDaha az göster
Entegrasyonun davranışı, sağlayıcının kaydedilmiş yanıtlarıyla çalışan otomatik testlerle korunur; sağlayıcı yanıt biçimini değiştirdiğinde testler bunu hemen yakalar. Teslimde hangi uç noktaların kullanıldığı, hangi hataların nasıl ele alındığı ve anahtarların nasıl yenileneceği yazılı olarak bırakılır. Ekibiniz değişse de entegrasyon anlaşılır kalır.
08Çalışma modelleri
Bu hizmette çalışma modelleri
- 01
Proje bazlı
Sabit kapsam, sabit fiyat ve belirli teslim tarihi
Kapsamı belli, teslim tarihi olan işler için.
- Yazılı kapsam ve kabul ölçütleri
- Sabit fiyat ve belirli teslim tarihi
- Teslim ve kabul adımları sözleşmede
- 02
Bakım ve destek
Aylık sözleşmeli, SLA'lı bakım, destek ve geliştirme saati
Yayındaki bir sistemin sürekliliği için.
- Aylık sözleşme ve SLA
- İzleme, güncelleme ve hata düzeltme
- Aylık geliştirme saati
09Sık sorulan sorular
Üçüncü taraf API entegrasyonu hakkında sık sorulan sorular
Üçüncü taraf API entegrasyonu fiyatları nasıl hesaplanır?
Bağlanacak servis sayısı, sağlayıcının dokümantasyon kalitesi ve test ortamı olup olmadığı, veri akışının tek ya da çift yönlü olması, webhook ihtiyacı ve izleme beklentisi kapsamı belirler. Servis belgelerini inceledikten sonra yazılı teklif hazırlıyoruz.
Sağlayıcının test ortamı yoksa ne yapıyorsunuz?
Önce sağlayıcıdan sınırlı yetkili bir deneme hesabı talep ederiz. Bu da mümkün değilse servisin davranışını taklit eden bir sahte sunucu kurulur, canlı ortamdaki ilk denemeler düşük riskli işlemlerle ve sizinle birlikte yapılır.
Üçüncü taraf API entegrasyonu yaptırmak için kaynak koduna erişim gerekir mi?
Entegrasyon doğrudan mevcut uygulamanın içine eklenecekse gerekir. Erişim yoksa entegrasyon ayrı bir servis olarak kurulur ve uygulamanız onunla basit bir arayüz üzerinden konuşur.
Sağlayıcı fiyatını artırır ya da hizmeti kapatırsa ne olur?
Adaptör katmanı sayesinde yeni bir sağlayıcıya geçiş, uygulamanın tamamını değil yalnızca bu katmanı etkiler. Kritik servisler için baştan ikinci bir sağlayıcının tanımlanmasını da önerebiliriz.
Önceki ekibin yazdığı entegrasyonu devralabilir misiniz?
Evet. Mevcut kodu, kayıtları ve sağlayıcı hesabını inceleyip kırılgan noktaları raporlarız. Sonrasında ya mevcut yapıyı iyileştirir ya da adaptör katmanıyla yeniden kurarız; karar risk ve maliyet karşılaştırmasıyla birlikte verilir.
Dış servis çöktüğünde uygulamamız da durur mu?
Durmaması için tasarlanır. Servis yanıt vermediğinde ilgili özellik kontrollü biçimde devre dışı kalır ya da işlem kuyruğa alınıp sonra tamamlanır; uygulamanın diğer bölümleri çalışmaya devam eder.
10İlgili hizmetler