Joomla! Web Hizmetleri API 101 - Belirteçler, Test ve Tat Testi
Joomla! 4’ün yeni Web Hizmetleri API’si size Joomla! için bir dizi yeni entegrasyon oluşturma olanağı verecektir. Joomla! 4'ün yeni özellikleri arasında Web Hizmetleri API'si yer alıyor. Web Hizmetleri API'si, web sitenizin API'ler aracılığıyla diğer web siteleriyle konuşmasına izin vermenin daha net bir yolunu sunar. Bunun Joomla! web sitelerine getireceği esneklik yalnızca sizin hayal gücünüzle sınırlı olacaktır.
- Bir ağdaki çeşitli web siteleri arasında makale ve içerik paylaşmak için Web Hizmetleri API'sini kullanın. Örneğin bir web sitesi uygulayıcısı olabilirsiniz ve Web Hizmetleri API'sini kullanarak tüm müşteri sitelerinize göndermek için kendi özel yardım sayfalarınızı oluşturabilirsiniz.
- Web sitenizi kendi API'sine sahip İşletme Rehberi gibi üçüncü taraf bir veri kaynağına bağlamak için Web Hizmetleri API'sini kullanabilir ve ardından makalelerinizi dizinin API'sından çekmek için Joomla! Web Hizmetleri API'sini kullanabilirsiniz.
- Web sitesi ağınızdaki banner reklamlarını yönetmek için Web Hizmetleri API'sini kullanabilir ve her iki sistem için Web Hizmetleri API'sini kullanarak Joomla'dan doğrudan Xero'ya raporlama ve faturalandırmayı entegre edebilirsiniz.
- Veri dağıtımı dediğimiz şey buysa, Web Hizmetleri API'sini başsız bir CMS için veri kaynağı olarak kullanabilirsiniz.
- Bu yıl JandBeyond'da Carlos Cámara’nın sunumu Web Hizmetlerini de içeriyordu. Oturumunun bir kısmı, mobil uygulamalar oluşturmak için Joomla! 4 Web Hizmetleri API'sini ve Flutter'ı nasıl kullanabileceğinizi gösteren bir gösteriydi.
- Kutunun dışında düşünerek, bir dizi IoT cihazını yönetmek için Web Hizmetleri API'sini kullanabilirsiniz. Basit bir örnek, birisi web sitenize bir makale gönderdiğinde, internete bağlı ışığınızı renkleri değiştirecek şekilde ayarlayabilirsiniz.
- Londra Joomla Kullanıcı Grubu, Haziran ayı toplantıları için çok derinlemesine bir yürüyüş yaptı. Bir Joomla! 3 ve bir Joomla! 4 web sitesi arasında makaleleri nasıl itip çekebileceğinizi gösterdikleri YouTube'da Code Along Workshop'unu (bağlantı atölyenin başlangıcına kadar ipucu veriyor) izleyebilirsiniz.
Bu makalede, Web Hizmetleri API'sini kullanmak için Joomla 4'te bir şeyler kurmak hakkında bilmeniz gerekenler konusunda size birkaç önemli ipucu vereceğiz.
Makale dizimiz, Joomla! Web Hizmetleri API'sini nasıl kullanabileceğinize dair daha ayrıntılı örnekler görmek için 2021'e kadar her iki ayda bir devam edecek. Web Hizmetleri API'sını kullanma biçiminizle ilgili makaleler için fikirleriniz varsa, bunun hakkında yazmaktan memnuniyet duyarız, lütfen bizimle iletişime geçin.
Web Hizmetleri API Uç Noktaları
Joomla! Core API'lerin uç noktalarının listesi Joomla'nın tüm temel özelliklerini kapsar. Uç noktalarda gezinirken, Joomla! verileriniz den yararlanmak ve bilgileri çeşitli şekillerde döndürmek için nasıl API çağrıları oluşturabileceğinizi görebilirsiniz.
Genel bir URL belirtilmediği sürece her URL kimlik doğrulaması gerektirir. Joomla 4.0.0'da güvenlik için varsayılan Api Uygulaması, Süper Kullanıcı Joomla API Simgesi gerektirir (API Uygulaması yepyeni olduğundan). API kararlı hale geldikçe ve toplulukta iyi bir şekilde test edildiğinden bu durum gevşeyebilir.
Yeni web hizmetleri eklenti türü, geliştiricilerin uzantılarını Joomla! 4 Web Hizmetleri API'si aracılığıyla da kullanılabilir olacak şekilde genişletmelerine olanak tanıyacak. Bunun Web Bağlantıları bileşeni kullanılarak nasıl yapılabileceğine dair bir örnek, buradaki Joomla! Dokümanları içindedir.
Joomla! Süper Yönetici API Jetonu
Joomla! 4 Web Hizmetleri API'si, Joomla! 4 olgunlaştıkça gelişecektir. Ancak şu anda erişim Süper Kullanıcı hesaplarını kullanarak entegrasyonla sınırlıdır.
Joomla API Jetonunuzun Web Hizmetleri API'sini kullanabilmesini sağlamak için
- Joomla! 4 Yönetim arka ucunuzda oturum açın
- Kullanıcı Menüsüne gidin (ekranın sağ üst)
- Hesabı Düzenle'yi seçin
- Joomla! API Jetonu sekmesine tıklayın
Burada jetonunuzu kopyalayabilir, jetonu etkinleştirebilir veya devre dışı bırakabilir ve erişimi iptal edip yeni bir jeton oluşturmanız gerekirse sıfırlayabilirsiniz. Jetonunuzu sıfırlamayı seçtiyseniz, jetonu yeni değere güncelleyene kadar jetonu kullandığınız herhangi bir yerin artık çalışmayacağını unutmayın.
Jetonunuzu Kullanıcılar > Yönet aracılığıyla da düzenleyebilirsiniz. Jetonu sizden başka kullanıcılar için göremeseniz de, simgelerini yine de etkinleştirebilir, devre dışı bırakabilir veya sıfırlayabilirsiniz. Örneğin: Bir şüphe olduğunda, token'ın yetkisiz kişilere sızdırıldığından emin olun.
Postman'ı (postacı) bu makalenin bir sonraki bölümünde kurmak için Joomla! API Token'ınıza ihtiyacınız olacak, bu yüzden şimdi kopyalayabilirsiniz veya Postman'da kimlik doğrulamasını ayarlarken geri gelmek için sekmeyi açık tutabilirsiniz.,
Web Hizmeti API Uç Noktalarını Test Etme
Pratik bir uygulamada, API uç noktaları genellikle CURL kullanılarak sunucu düzeyinde çağrılır veya diğer programlama çağrılarına gömülür. Ancak, web hizmeti özellikli bir araç oluştururken, görmeyi beklediğiniz verilerin aslında API isteği tarafından alınan bilgi olduğunu test etmeye başlayabilmek güzel.
Web Hizmetleri API uç noktalarını test etmek için bir dizi araç kullanabilirsiniz.
- CURL, bir komut satırı kullanarak API çağrılarını test etmenize izin verir.
- Ayrıca RESTful Web Hizmetlerini test etmenize izin veren PHP Storm gibi araçları da kullanabilirsiniz.
- Ayrıca, API'leri test etmek için özel olarak tasarlanmış Postman adlı bir araç da mevcuttur.
Postman, Alexandre Elise’nin Postman Collection of Joomla 4 API Endpoints’i GitHub’da derleme çalışmasıyla size bugün nasıl kullanılacağını göstereceğimiz bir araçtır. Bu kullanışlı JSON dosyası, tüm mevcut Uç Noktaları kapsar ve daha fazla kullanılabilir hale geldikçe zamanla büyüyecektir.
- İhtiyacınız olan ilk şey, Postman'ı indirip kurmaktır.
- Daha sonra, koleksiyonu Postman'a aktarırken izlemeniz gereken adımlarla ilgili talimatların bulunduğu GitHub'dan Postman Collection Joomla! 4 API Uç Noktaları'nı indirmeniz gerekir.
- Koleksiyonu yükledikten sonra, ayarları düzenleyin ve Yetkilendirme sekmesindeki Joomla API Simgenizi yapıştırın.
- Daha sonra Değişkenler sekmesine gidin ve base_path değişkenini Joomla! 4 web sitenizi gösterecek şekilde güncelleyin.
- Son olarak, uç noktalarınızın sitenize bağlanıp bağlanmadığını test etmek için GET uç noktalarından birini kullanın.
Geçerli bir sonuç alırsanız, API'yi test etmek için Postman'da kendi sorgularınızı oluşturmaya hazırsınız! Yasaklanmış bir hata mesajı alırsanız, ayarlarınızı, özellikle de Anahtar değerinin X-Joomla-Token olarak ayarlanması gereken Yetkilendirme sekmesindeki API Simgesini daha fazla kontrol etmeniz gerekebilir.
Tat Testi
Artık Postman'ı yapılandırdığınıza göre, Web Hizmetleri API'sinde birkaç katman var. Postman'ı burada derinlemesine öğrenmeyeceğiz, size bu konuda yardımcı olacak bir Öğrenim Merkezi var.
Joomla! Web Services API gibi RESTful Services ile, genellikle komutları çalıştırırken kullanılan 5 tür HTTP yöntemi vardır. Her yöntemi nasıl kullanabileceğinize dair bazı örnekler aşağıda verilmiştir.
POST - Hedef uç noktayı kullanarak yeni bir kayıt oluşturmak için kullanın
- API'yi kullanarak yeni bir makale veya kategori oluşturun
- Bir reklam yönetimi aracında bir kayıt oluşturulduğunda yeni bir banner reklam oluşturun
- Yeni bir şablon stili oluşturun
- Sitede yeni bir kullanıcı oluşturun
POST yöntemlerinin etkili bir şekilde çalışması için, veritabanı na göndermek istediğiniz bilgileri içeren bir JSON dizesi de sağlamanız gerekir. Bu, gelecekteki bir JCM makalesinin odak noktası olacaktır.
GET - Belirli bir uç noktayı kullanarak Joomla! sitesinden veri alın
- Web sitesindeki makalelerin bir listesini sorgulayın
- Bir web sitesindeki belirli bir makaleyi sorgulayın
- Web sitesinde kullanılan etiketlerin bir listesini sorgulayın
- Sitedeki yönlendirmelerin listesini sorgulayın
- Sorgulara değişkenler ekleyerek, belirli bir kaydı filtrelemek için uç nokta isteklerine odaklanabilirsiniz. Örneğin, makaleler için bir uç noktada {{makale_kimliği}} yerine bir değer eklemek, tüm makale listesinin aksine yalnızca tek bir makaleye ait bilgileri döndürmenize olanak tanır.
GET yöntemleri, uç noktalardan verileri alırken Postman'da test edilmesi en kolay yöntemdir ve ardından, Postman'da döndürülen sonuç için JSON verilerini görebilirsiniz.
PUT - Verileri bir uç noktaya geri koyun
PUT yöntemleri, veri tabanındaki kaydı yeni bir kayıtla değiştirerek güncellemeleri açısından yıkıcıdır. Şu anda, Joomla 4 Web Hizmetleri API'sinin herhangi bir PUT uç noktası yoktur, bunun yerine kayıtları güncellemek ve değiştirmek için kullanılan YAMA kullanmayı tercih eder.
YAMA - Verileri bir uç nokta aracılığıyla değiştirin
- Reklam yönetim aracının durdurulması gerektiğinde ve reklamın geçici olarak yayınlanmaması gerektiğinde, bitmiş yayın tarihini veya yayın durumunu değiştirmek için bir Başlık kaydına yama uygulayın.
- İK sisteminden bir şirketteki rollerini değiştirdiklerinde ACL'lerini dinamik olarak güncellemek için bir Kullanıcının kaydını yama uygulayın.
- Özelliklerini değiştirmek için menü öğelerine yama uygulayın
- Web sitenizin ziyaretçilerine mevsimsel selamları özelleştirmek için dil geçersiz kılmalarını yama uygulayın.
YAMA uç noktaları, PUT uç noktalarından daha esnektir. PUT için, tüm kaydın veritabanı na yeniden yazılması gerekir, oysa bir YAMA uç noktası ile bir kayıttaki yalnızca belirli alanları güncelleyebilirsiniz.
SİL - Bir uç nokta kullanarak verileri silin
- Şirketten ayrıldıklarında bir kişiyi silme
- Artık gerekmediğinde bir dil geçersiz kılmayı silme
- Bir şablon stilini silin
- Artık ihtiyaç duymadığınız bir etiketi silin
SİL uç noktaları, veritabanınızdan verileri silerken, dikkatli kullanmanız gerekenlerdir! Bunun yerine bir makaleyi çöp kutusuna taşımak istiyorsanız, bunun yerine YAMA uç noktasını kullanın.
Dolayısıyla, bu 5 HTTP Yöntemini göz önünde bulundurarak, artık mevcut 111 uç noktaya (yayın sırasında) göz atabilir ve kendi projeleriniz için hangilerini kullanabileceğinizi görebilirsiniz. Akıllıca bir şey bulursanız, buradan yorum yapın ve belki de yeni Joomla! 4 Web Hizmetleri API ile yaptıklarınızı gelecekteki bir Joomla! Topluluk Dergisi makalesinde paylaşabiliriz.
Kaynaklar
Daha erken başlamayı düşünüyorsanız, işte size yardımcı olacak çeşitli kaynaklar: