Bubble ile REST API entegrasyonu, kod yazmadan harici servislerden veri almanızı veya veri göndermenizi sağlar. Bubble'ın API Connector eklentisi sayesinde GET, POST, PUT ve DELETE isteklerini görsel arayüzle yapılandırabilir, yanıtları uygulamanızdaki veri türlerine eşleyebilirsiniz. Bu yazıda, Bubble'da REST API entegrasyonunun temel adımlarını, sık karşılaşılan sorunları ve en iyi uygulamaları bulacaksınız.
Bubble'da API Entegrasyonu İçin Temel Kavramlar
Bubble, no-code platform olarak API entegrasyonlarını API Connector adlı özel bir eklenti ile yönetir. Bu eklenti, harici bir API'ye istek yapmanızı, yanıtı işlemenizi ve verileri uygulamanızda kullanmanızı sağlar. Entegrasyon öncesinde şu kavramları bilmek önemlidir:
- Endpoint: API'nin sunucudaki belirli bir kaynağa erişim adresi (URL).
- HTTP Metodu: GET (veri okuma), POST (veri oluşturma), PUT (veri güncelleme), DELETE (veri silme).
- Headers: İstekle birlikte gönderilen kimlik doğrulama, içerik türü gibi meta veriler.
- Body: Genellikle POST/PUT isteklerinde gönderilen JSON formatındaki veri.
- API Key / Token: API'ye erişim için gerekli kimlik bilgisi.
Bubble'da API İstekleri Oluşturma: GET, POST, PUT, DELETE
API Connector'da bir API çağrısı oluşturmak için önce eklentiyi yükleyin (Plugins > Add Plugins > API Connector). Ardından sırasıyla:
- Yeni bir API çağrısı ekleyin: 'Add another API' butonuna tıklayın.
- İstek detaylarını girin: Endpoint URL'sini, HTTP metodunu ve gerekli header'ları (örneğin Authorization: Bearer token) belirtin.
- Test isteği yapın: 'Initialize call' butonuyla isteği test edin. Başarılı yanıt alırsanız, Bubble yanıt yapısını otomatik olarak algılar ve veri türlerini oluşturur.
- Yanıtı eşleyin: API'den dönen verileri Bubble veri türlerinizdeki (Things) alanlarla eşleştirin. Örneğin, bir kullanıcı listesi çekiyorsanız, her bir kullanıcı nesnesini 'User' veri türündeki ilgili alanlara atayın.
- İşlemi kullanın: Workflow veya Expression'da bu API çağrısını çağırarak veriyi uygulamanızda kullanın.
Örnek bir GET isteği: https://api.ornek.com/kullanicilar adresine GET isteği yaparak dönen JSON dizisini 'User' veri türüne eşleyebilirsiniz. POST isteği ile de yeni kullanıcı oluşturabilirsiniz.
API Yanıtlarını Bubble Veritabanına Kaydetme
API'den gelen veriyi doğrudan kullanabileceğiniz gibi, kalıcı olarak saklamak için Bubble'ın dahili veritabanına da kaydedebilirsiniz. Bunun için:
- Workflow'da 'Schedule API Workflow' veya herhangi bir tetikleyici (button click, page load) kullanın.
- API çağrısının sonucunu bir 'Create Thing' veya 'Make Changes to Thing' adımına bağlayın.
- Dönen veriyi, hedef veri türünün alanlarına atayın. Toplu veriler için 'List of Things' kullanabilirsiniz.
Önemli: API çağrıları genellikle eşzamansızdır. Bubble'da bu işlem 'Run API Workflow' ile yapılır ve sonuç bir sonraki adıma aktarılır. Yanıtın gelmesini beklemek için 'When API call is done' koşulunu kullanabilirsiniz.
Pagination ile Büyük Veri Kümelerini Yönetme
Bir API'den yüzlerce veya binlerce kayıt çekiyorsanız, çoğu API pagination (sayfalama) kullanır. Bubble'da pagination'ı yönetmek için API çağrınızda sayfa numarası veya offset parametresini dinamik hale getirmelisiniz. Örneğin, https://api.ornek.com/kullanicilar?page=1 şeklinde. İlk çağrıdan sonra toplam sayfa sayısını alıp, bir döngü (recurring workflow) ile tüm sayfaları çekebilirsiniz. Bu konuda daha detaylı bilgi için REST API'lerde Pagination, Filtering ve Sorting yazımıza göz atabilirsiniz.
API Versiyonlama Stratejileri ve Bubble Uyumu
Harici API'ler zamanla değişebilir; bu nedenle API versiyonlaması önemlidir. Bubble'da API URL'sine versiyon bilgisini eklemek (örneğin /v1/, /v2/) veya header ile belirtmek mümkündür. Versiyon değişikliklerinde API Connector'daki endpoint'leri güncellemeniz gerekir. API Versiyonlama Stratejileri makalemizde farklı yöntemleri karşılaştırabilirsiniz.
Hata Yönetimi ve Hata Ayıklama
API entegrasyonunda hatalar kaçınılmazdır. Bubble'da hataları yönetmek için:
- API çağrısının sonucunda 'Error' durumunu kontrol edin ve kullanıcıya uygun mesajları gösterin.
- Workflow'da 'When API call fails' koşuluyla alternatif bir akış oluşturun (örneğin, log kaydı tutma veya otomatik yeniden deneme).
- API Connector'da 'Test' butonuyla isteği manuel olarak test edin ve hata mesajlarını inceleyin. Hata ayıklama için Browser Console'u kullanabilirsiniz.
Daha karmaşık otomasyonlarda hata yönetimi için n8n'de Hata Yönetimi rehberimizdeki yöntemler benzer şekilde uygulanabilir.
Pratik İpuçları ve Sık Yapılan Hatalar
- API Key'leri gizli tutun: Bubble'da Privacy Settings ile hassas verileri özel yapın.
- Rate limiting: API'lerin istek sınırlarını aşmamak için istekler arası gecikme ekleyin.
- Veri modelini iyi planlayın: API yanıtlarındaki alan adlarına uygun Bubble alanları oluşturun.
- JSON formatını kontrol edin: Bazı API'ler dizi içinde nesne döndürürken bazıları doğrudan nesne döndürür. Bubble'ın beklentisine uygun eşleme yapın.
- Test ortamı kullanın: Gerçek API'ye geçmeden önce mock API'lerle test edin.
Sonuç
Bubble ile REST API entegrasyonu, no-code dünyasında uygulamanızın yeteneklerini katlayan güçlü bir araçtır. Yukarıdaki adımları izleyerek harici servislerle veri alışverişini kod yazmadan gerçekleştirebilirsiniz. Unutmayın: API dokümantasyonunu dikkatlice okuyun ve hata yönetimini ihmal etmeyin. Başarılı entegrasyonlar!
Sık Sorulan Sorular
Bubble'da API entegrasyonu için hangi eklentiyi kullanmalıyım?
Bubble'da API entegrasyonu için 'API Connector' eklentisini kullanmalısınız. Bu eklenti sayesinde REST API'lere istek gönderebilir, yanıtları işleyebilir ve verileri uygulamanızda kullanabilirsiniz.
Bubble'da API çağrısından gelen veriyi veritabanına nasıl kaydederim?
API çağrısı sonucunu bir Workflow'da 'Create Thing' veya 'Make Changes to Thing' adımına bağlayarak kaydedebilirsiniz. API'den dönen veriyi, hedef veri türünün alanlarına eşlemeniz gerekir.
Bubble'da pagination (sayfalama) nasıl yapılır?
Pagination için API çağrınıza sayfa numarası veya offset parametresi ekleyin. Ardından bir döngü (recurring workflow) ile tüm sayfaları sırayla çekin. Toplam sayfa sayısını API yanıtından alabilirsiniz.
Bubble'da API hatalarını nasıl yönetebilirim?
Workflow'da API çağrısı sonucunu kontrol edin. 'When API call fails' koşuluyla hata durumunda alternatif bir akış oluşturun. Ayrıca API Connector arayüzünden test yaparak hata mesajlarını inceleyebilirsiniz.
API versiyon değişikliklerinde Bubble'daki entegrasyonumu nasıl güncellerim?
API Connector'daki endpoint URL'sini yeni versiyona göre güncelleyin (örneğin /v1/ -> /v2/). Header ile versiyon belirtiyorsanız ilgili header'ı değiştirin. Tüm workflow'larınızda ilgili API çağrılarını kontrol edin.






