← tüm blog yazıları
API 04.07.2026 4 dk okuma

Laravel HTTP Client ile API Entegrasyonu: Dış Servislerle Sakin Sakin Konuşmak

Dış API ile konuşurken timeout, retry, hata yönetimi ve response mapping düşünülmezse küçük entegrasyonlar bile can sıkıcı hale gelir.

Yazar: EffectiveWeb

Laravel HTTP Client ile API Entegrasyonu: Dış Servislerle Sakin Sakin Konuşmak

API entegrasyonu sadece istek atmak değildir

Laravel HTTP Client ile dış servise istek atmak çok kolay. Ama gerçek projede mesele `get` veya `post` çağırmakla bitmiyor. Servis yavaşlarsa ne olacak, yanlış cevap dönerse kullanıcı ne görecek, token süresi biterse sistem nasıl toparlayacak? Bunları baştan düşünmek gerekir.

Servis sınıfı kullanmak iyi fikir

Dış API çağrılarını controller içine yazmak kısa vadede hızlıdır ama uzun vadede dağılır. Bunun yerine `PaymentGatewayService`, `SmsService`, `CrmClient` gibi sınıflar açmak daha okunaklı olur. Böylece timeout, header, base URL, retry ve hata dönüştürme tek yerde durur.

Mutlaka düşünülmesi gerekenler

  • Timeout değeri belirleyin; sonsuza kadar beklemeyin.
  • Geçici hatalar için sınırlı retry kullanın.
  • API cevabını uygulama içi anlaşılır bir formata çevirin.
  • Hataları loglayın ama kullanıcıya teknik detay göstermeyin.
  • Testte gerçek API yerine fake response kullanın.

Sakin entegrasyon daha dayanıklıdır

Entegrasyonlarda amaç “çalıştı” demek değil, bozulduğunda da kontrollü davranmasını sağlamaktır. Laravel’in HTTP Client yapısı bu konuda sade bir API sunar. Siz de bunu servis katmanıyla birleştirirseniz dış dünya biraz daha az korkutucu hale gelir.