Diyanet Namaz Vakitleri API
Diyanet Namaz Vakitleri API
Bilindiği üzere Diyanet İşleri Başkanlığı web sitesini yeniledi. Daha önce yayınlamış olduğum php sınıfı geçerliliği yitirmişti. Bu konuda yorumlardan ve eposta üzerinden bana ulaşan bir çok kişi bu konuda çalışmam olup olmadığını sormuştu. Daha önceden bazı takipçilerime bununla ilgili zaman vermiştim ancak ailevi durumlarımlarımdan dolayı söz verdiğim süre içerisinde projemi tamamlayamadım. Bu konuda hakkınızı helal ediniz.
Bu konuda sınıf yayınlama yerine özellikle android ve ios uygulama geliştirici arkadaşlar da bu konuda yardım istediğinden bir API servisi yayınlamayı uygun buldum. Zaten işlerin bu kadar uzamasının bir sebebi de bu. Gelelim API nasıl çalışıyor sorumuza.
API için öncelikle lisans anahtarı almanız gerekiyor. Lisans anahtarını alabilmek için aşağıdaki bağlantıyı kullanmanız gerekiyor. Şu anda bir lisans anahtarı ile aylık 300 sorgu yapabileceksiniz. Bu 300 sorgu sadece vakitleri çektiğiniz zaman azalacaktır. Ülke, şehir ve eyalet sorgulamalarınızda sorgu limitiniz azalmayacaktır. Ve yine şu anda sadece haftalık veri veriyorum. 300 sorgu limitli bir api anahtarı ile eğer gerekli cacheleme işlemini yaparsanız 75 farklı şehrin vakitlerini 1 ay boyunca çekebileceksiniz demektir.
Yine sonuçları JSON veya XML formatında alabiliyorsunuz. Lisans anahtarlarınızla ilgili yönetim paneli daha sonraki zamanda hazırlanacaktır. Şimdilik acil ihtiyacı olan arkadaşların işi çok rahatlıkla görülecektir. Yine şu anda beta sürümünde olduğumuz için lisanslar domaine bağlı değil. İleriki sürümlerde lisans anahtarlarında domain sorgulaması da gelecektir.
Karşılaştığınız problem ve sıkıntıların yorumlardan belirtirseniz problemlere daha kısa sürede müdahale edebilirim.
[button url=”http://api.eralabs.net/namazvakti” style=”info” size=”default” block=”false” target=”_blank” icon=”globe”]Örnek Kullanım Sayfası[/button] [button url=”http://api.eralabs.net/api-anahtari” style=”success” size=”default” block=”false” target=”_blank” icon=”globe”]API Anahtarı Al[/button]
Merhaba Erdem Bey
insaAllah namaz vakitlerini web sayfamizda tekrar gostere biliriz en kisa zamanda. Minnettariz
selametle
Merhaba, problem hakkında bilgim var. Üzerinde çalışıyorum. En kısa zamanda düzelteceğim. Biraz sabır 🙂
Merhaba Erdem bey,
Ben sizin Namaz Vakti wordpress plugini sitemizde denedim fakat calismiyor. Lutfen bize yardimci olabilirmisiniz bu konuda. Bir hata yaptigimi dusunmuyorum. Acaba pluginin guncelenmesimi gerekiyor.
Selamlar,
Muammer
Erdem bey merhabalar,
Öncelikle çalışmanızdan dolayı sizleri tebrik ederim. Ciddi anlamda emek harcadığınız ortada. Önce ki yorumlarda C# ile ilgili destek isteyen bir kullanıcıya yaptığınız yorumu okudum ve C# ile çok ilgiliniz olmadığını belirtmişsiniz.
Hem sizlere hem kullanıcılara yardımcı olmak adına C# kısmında gönüllü olarak yardımcı olabileceğimi belirtmek isterim. Kaynak bir dosya göstermeniz durumunda arkadaşların bunu C# üzerinde kullanmasını sağlayabilirim diye düşünüyorum. Olumlu bakarsanız lütfen bana mail’den dönüş yapınız.
İyi Çalışmalar Dilerim
Yücel bey, öncelikle ilginiz için teşekkür ederim. Sizden ricam bu sıralar işlerimden dolayı çok yoğunum. Size bir yol haritası çıkartmak istiyorum ancak bana biraz süre verirseniz sevinirim. PHP den anlıyor iseniz, namaz vakti dosyalarına ait kaynak kodları Github üzerinde bulabilirsiniz. PHP bilginiz pek fazla değil ise ben size bir dökümantasyon hazırlarım, neler yapabileceğinizle ilgili.
İlginiz için tekrar teşekkürler.
Api key mailime gelmiyor.
outlook ve gmail olarak denedim.
API ile ilgili güncelleme yapacağım. Lütfen bekleyiniz.
Şu an API anahtarı alma sayfası çalışmıyor sanırım. E-posta gönderilmiştir yazıyor fakat herhangi bir e-posta alamadım.
API ile ilgili güncelleme yapacağım. Lütfen bekleyiniz.
Hayırlı Günler Erdem Bey,
Yayınladığım Namaz Vakitlerinde ileri saat uygulaması görünmüyor. Öğle vakti 12.48 görünmesi gerekirken 11.48 görünüyor.
Namaz Vakitleri, ileri saat uygulamasına göre çalışmıyor mu?
Selam Erdem bey,
Namaz vakitlerini http://www.diyanet.gov.tr/tr/namazvakitleri aldiğını bahsettiniz. Fakat Namaz vakitlerini http://api.eralabs.net/namazvakti den karşılaştırdığımızda vakitler 2-3 dakika fark var neden acaba?
Merhabalar Ünal bey,
Öncelikle şunu açıklamama müsade edin. api.eralabs.net/namazvakti üzerinde yer alan veriler, Diyanetin mobil uygulamasına ait verilerdir. Açıkçası Diyanet kodlamasını değiştirdiğinde, uzun bir süre diyanetten veri alamamıştık. Daha sonra Diyanetin android uygulamasının verilerine ulaştım ve hazırladığım api o verilerle oluşturulmuştur. Veriler tamamen Diyanet tarafından uygulama geliştiricisine verilmiş verilerdir. Buradan elde edilen veriler YILLIK verilerdir. Yani şu anda 2014 yılına ait veriler benim sunucum üzerinde kayıtlıdır. Bu verilerde herhangi bir hata mevcut ise aynı hata Diyanetin android uygulamasında da olacaktır.
PHP sınıfı olarak yayınladığım veriler ise, Diyanetin kendi sitesinde kullandığı verilerdir ve bu verilere sadece GÜNLÜK olarak ulaşabiliyoruz. Diyanetin kendi sitesindeki veriler daha net ve sağlamdır. Çünkü Diyanet android uygulamasını mobilion adında bir firmaya yaptırmış. Verileri bu firmanın sunucularına aktarmışlar. Bu aktarım sırasında hata oluşması muhtemeldir. eralabs.net üzerindeki veriler mobilion firmasının sunucularından alınmaktadır. Ben aldığım verilerin üzerinde hiç bir değişiklik yapmıyorum. Eğer mümkün ise PHP sınıfını kullanın. http://www.diyanet.gov.tr/namazvakitleri adresinde hangi verileri görüyorsanız, o veriler çekiliyor. eralabs.net/namazvakti üzerinde görülen veriler ise, android uygulamasında görünen verilerdir. Fark bundan kaynaklanıyordur.
Hazırlayabilirsem, Diyanetin sitesinden aldığım verileri bir API şekline getirip, yayınlayacağım. İşlerimin yoğunluğundan buna el atamadım. Kusuruma bakmayın.
Açıkçası Diyanet daha kendi uygulamaları ve yayınları arasında bile tam bir birliktelik oluşturamadı. Örneğin mobil uygulamalarda İLÇELER mevcut değil. Dediğim gibi PHP sınıfının kullandığı verileri kullanırsanız, Diyanetin sitesiyle tam uyumlu veriler olacaktır elinizde.
Erdem bey merhaba,
Öncelikle bu hizmetiniz için çok teşekkürler.
C# uygulaması için örnek kodlarınız var mıdır?
Malesef Ahmet bey. C# tan neredeyse hiç anlamıyorum. C# forumlarında konuyu dile getirirseniz çözüm bulacağınızı düşünüyorum. Çözümünüzü bizimle de paylaşırsanız sevinirim. Kolay gelsin.
Hayırlı Günler Erdem Bey,
Büyük bir ihtiyacı çözdüğünüz için teşekkür ederim. Ellerinize ve emeğinize sağlık.
İllerin namaz vakitleri mevcut. İlçeleri göremedim.
Ben Çorum un namaz vakitlerini yayınlıyorum. Fakat Çorum un ilçelerini de yayınlamak istiyorum.
Yardımlarınız için şimdiden teşekkür ederim.
Hayırlı Günler İbrahim Bey,
Bir çok ilin ilçesinin bulunmadığının farkındayım. Bunun sebebi, Diyanetin mobil uygulamalarında bir çok ilçeye yer vermemiş olmasından kaynaklanıyor. 2013 yılın son aylarında Diyanete “mobil uygulamalarınızda bir çok ilçe mevcut değil” diye bir mail göndermiştim. “Çalışmalarımız devam ediyor en kısa zamanda onlar da eklenecektir” diye geri cevap dönmüşlerdi. Açıkçası 2014 yılında diğer ilçeleri de verirler diye düşünüyordum ancak bugüne kadar böyle bir adım gelmedi.
Benim çalışmam namaz vakitlerini Diyanetin Mobil Uygulamarının verileri aldığı sunucudan verileri alıyor ve size geri döndürüyor. Dolayısıyla Diyanet mobil uygulamalarında ilçeleri de vermedikçe, bu konuda benim yapabileceğim herhangi birşey yok.
Şunu da belirtmem lazım, Diyanet ilçeleri de eklediği gün sistem otomatik olarak bunu görecektir. Şehir ve ilçe seçimleriyle ilgili önbelleklemeyi çok kısa tuttum. Bu konuda en az ben de sizin kadar sabırsızlık içerisindeyim.
Anlayışınız için şimdiden teşekkür ederim.
İbrahim bey, bu konuda bir çalışma yaptım ve bir PHP sınıfı çalışması yaptım. Sıkıntısız bir biçimde verileri çekebiliyoruz. Sınıfı birazdan yayınlarım. Bununla ilgili WordPress eklentisini de 1-2 gün içerisinde güncellerim. Sıkıntınız en kısa zamanda çözülecektir.
Erdem bey merhaba
Bundan önceki namaz vakitleri class’ını uzun bir zaman kullanmıştık, gayet güzel bir çalışma olmuştu, bu konuda teşekkürlerimizi iletmek istiyorum.
Malum diyanet bu işi bir türlü bir sisteme oturtamadı ve biz yazılımcılarda sürekli olarak bu namaz vakitleri için eklenti yazıp duruyoruz. Sizde tekrardan yazmışsınız Allah razı olsun, benim merak ettiğim şey neden lisans anahtarı gibi birşeye ihtiyaç duydunuz ? Eğer ücretli satacaksanız lisans anahtarı mantıklı fakat ücret almayacaksanız bu işlerin daha da karmaşık bir hale gelmesini sağlar.
Açıkçası biz yine sizin eklentinizi kullanmak istedik fakat bu lisans anahtarı mevzusu bizim aklımızda soru işaretleri yaptığı için kendimiz eklentiyi yazdık. Bizim gibi düşünen kişiler içinde detaylı bir açıklama yaparsanız daha fazla kullanan olacaktır. Yoksa API KEY, SORGU LİMİTİ, DOMAİN LİSANSI gibi konulardan ötürü vermiş olduğunuz emek değerini bulmayacak ve sizi de yeni bir düzenleme yapmaya itecektir.
Ahmet bey,
görüşleriniz için gerçekten teşekkür ederim. Lisans anahtarı ve sorgu kısıtlaması gibi işlemleri devreye sokarken, aklımda 2 mesele vardı.
Bunlardan 1.si; özellikle çok fazla sorgu kullanacak, sistemi devamlı yoracak kullanıcılardan bunun sunucu bedelini isteyebilme hakkımın olması. Sonuçta verileri kendi sunucumda depoluyor ve bunları isteyen kullanıcılara veriyorum. Bu da bana ek bir yük getiriyor. Bu konuda yanlış anlaşılmak da istemiyorum. Özellikle bireysel çalışan kullanıcıların her zaman yanındayım. Kesinlikle onları madur etme gibi bir derdim yok. Özellikle bireysel kullanıcılar için bu sistem her zaman ÜCRETSİZ olacaktır.
Daha önceki sürümlerde, verileri direk diyanetin sitesinden alıp yorumluyorduk. Eğer sınıfı kullanan kişi ön bellekleme kullanmıyorsa, bu da diyanet için yük oluşturuyordu ve çoğu zaman diyanetin sitesi veritabanı hatası veriyordu.
2. si ise; verileri diyanetin namaz vakitleri ile ilgili sayfasını render ederek oluşturmuyorum. Diyanetin verileri ham olarak direk sunucudan elde ediyorum. Bundan dolayı, bu sunucuya bindirilecek her ek yük, bu kaynağın zarar görmesine ve yavaşlamasına neden olacaktır. Bundan dolayı verileri kendi sunucum üzerinde depolamam gerekiyor. Ben küçük bir kullanıcıyım. Bir sunucuya her ay yüzlerce lira verebilecek güçte biri değilim ki, sunucu kaynaklarımı pervasızca harcayayım. Ben kullanıcılara kısıtlama koymam lazım ki, benim kaynaklarım sorumsuzca sömürülmesin. En azından ücretsiz kullanacak kişiler bile ön bellekleme yapmak zorunda kalıyor. Bu da lisans anahtarını önemli bir konuma getiriyor.
Umarım derdimi anlatabilmişimdir. Kafanıza takılan başka bir konu varsa, yanıtlamaya hazırım.