Türkiye Sanal Havacılık Forumu

IVAO TR Event API

Offline KEMAL EMRE ÖZTİRYAKİ

  • Captain
  • *

  • IVAO ID: 399189

    • Posts: 1476
    • KEO
Merhabalar,

Bildiğiniz gibi divizyonumuz aktif şekilde etkinlikler düzenlemektedir. Bu etkinlikler forum üzerinden ve ayrıca websitemiz üzerinden duyurulmaktadır. Bu kapsamda havayollarımıza IVAO TR sitesindeki etkinlikleri kendi sitelerinde gösterecek bir api tasarlamış bulunmaktayım.


API'yi nasıl kullanabiliriz?

API için herhangi bir başvuru yapmanıza gerek yoktur. API'ye http://tr.ivao.aero/eventapi.php adresinden ulaşabilirsiniz. Size döndürülecek veri json formatında olacağından, mevcut servis sağlayıcınızın (hosting şirketinizin) json_decode fonksiyonunu çalıştırabileceğinizden emin olunuz. Gelecek veri aşağıdaki formattadır:

{ "Etkinlik Numarası" : { "TITLE" : "Etkinlik Başlığı", "DATE" : "Etkinlik Tarihi", "BODY" : "İçerik", "IMAGE" : "Etkinlik Resminin Linki", "LINK" : "Forum Başlığı Linki" }


Önemli Not!

Sitenizde direkt olarak bu linki çalıştırmamanız gerektiğini, mümkün mertebe cronjob ile 30 dk, 1 saatlik aralıklarla veriyi çekerek kendi veritabanınıza işlemenizi öneririm.


Örnek kod:

Aşağıdaki kod ile veriyi çekerek kendi veritabanınıza işleyebilirsiniz. Ardından sitenizde kendi veritabanınızda olan bilgilerle etkinliği görüntüleyebilirsiniz.

* Kod içindeki mysql() fonksiyonları, yeni nesil mysqli() ile değiştirilmiştir. Sisteminiz PHP 7 altında ve hala mysql() kullanıyorsa, lütfen uygun değişikliği yapınız.
Code: [Select]
<?php

$file 
file_get_contents("https://tr.ivao.aero/eventapi.php"); // Veriyi çekiyoruz

$json json_decode($file); // json decode ile çözümleme işlemi yapıyoruz

foreach ($json as $jarr){ // Herbir etkinlik için döngü yaratıyoruz
$res mysqli_query($conn_link"SELECT * FROM `ETKINLIK_TABLOSU` WHERE ETKINLIK_IDSI= ".$eventid); //Kendi veritabanımızda bu kayıt var mı?
// Kayıt yoksa yeni kayıt işleyecek, varsa mevcutu güncelleme yoluna gideceğiz.
if ( mysqli_num_rows($res) == )
{
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına EKLEME (INSERT) sorgusu çalıştırıyoruz. İçerikte ve başlıkta 
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string fonksiyonunu kullanınız.
mysqli_query($conn_link$query);
} else {
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına GÜNCELLEME (UPDATE) sorgusu çalıştırıyoruz. İçerikte ve başlıkta 
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string() fonksiyonunu kullanınız.
mysqli_query($conn_link$query);
}
};

?>




IVAO TR Web Development Department
« Last Edit: October 30, 2018, 11:56:17 by ALP YENI »
Kemal Emre Oztiryaki
IVAO Supervisor
Development Operations Support
Webmaster - Turkey


Offline FIRAT BİŞKİN

  • Administrator
  • *
  • We Are Turkish Airlines, We Are Virtually Yours

  • IVAO ID: 346358

  • Discord ID: #6280

    • Posts: 2469
    • ..::F1R4T::.. | Fırat Bişkin'in Günlüğü ve Güncel Bilgi Paylaşım Bloğu
Eline sağlık Emre VA'lar adına çok yararlı olacağını düşünüyorum.



Offline ALP YENI

  • Captain
  • *
  • Herkes uçmayı sever ama siz abartın.

  • IVAO ID: 355715

    • Posts: 1450
Süpersin Kemal abi! Bodrum'a döner dönmez uyguluyorum. Ellerine kollarına sağlık!  :))
IVAO Board of Governors
IVAO General Assembly Member
IVAO Public Relations Advisor
IVAO Turkey Webmaster

International Virtual Aviation Organisation
ASUS N552VW-i7 6700HQ-GeForce GTX960M-16GB-128GB



Offline EMRE YALIMKILINC

  • Second Officer
  • *

  • IVAO ID: 421266

    • Posts: 289
    • Zirve AIRLINES
Harika olmuş emre hocam ellerine sağlık...


Offline ALP YENI

  • Captain
  • *
  • Herkes uçmayı sever ama siz abartın.

  • IVAO ID: 355715

    • Posts: 1450
Önemli Bilgilendirme!

API adresimiz https://tr.ivao.aero olarak değişmiştir. Yeni API'ye https://tr.ivao.aero/eventapi.php adresinden ulaşabilirsiniz. Uygulamalarınıza gerekli güncellemeyi yapmayı lütfen unutmayınız.  ;)

IVAO TR Web Development Department
IVAO Board of Governors
IVAO General Assembly Member
IVAO Public Relations Advisor
IVAO Turkey Webmaster

International Virtual Aviation Organisation
ASUS N552VW-i7 6700HQ-GeForce GTX960M-16GB-128GB


Offline ALP YENI

  • Captain
  • *
  • Herkes uçmayı sever ama siz abartın.

  • IVAO ID: 355715

    • Posts: 1450
Önemli Bilgilendirme!

IVAO Türkiye Event API'de, yeni sunucuya entegre amaçlı küçük bir değişiklik yaptık. Bu değişiklik sonucu eskiden foreach ($json as $eventid => $jarr) olarak döngüye soktuğumuz API verilerini, artık foreach($json as $jarr) şeklinde döngüye sokmalısınız.

Uygulamalarınızı bu güncellemeye uygun şekilde kontrol etmeyi lütfen unutmayınız.

Güncellemeye Göre Örnek Kod:
* Kod içindeki mysql() fonksiyonları, yeni nesil mysqli() ile değiştirilmiştir. Sisteminiz PHP 7 altında ve hala mysql() kullanıyorsa, lütfen uygun değişikliği yapınız.
Code: [Select]
<?php

$file 
file_get_contents("https://tr.ivao.aero/eventapi.php"); // Veriyi çekiyoruz

$json json_decode($file); // json decode ile çözümleme işlemi yapıyoruz

foreach ($json as $jarr){ // Herbir etkinlik için döngü yaratıyoruz
$res mysqli_query($conn_link"SELECT * FROM `ETKINLIK_TABLOSU` WHERE ETKINLIK_IDSI= ".$eventid); //Kendi veritabanımızda bu kayıt var mı?
// Kayıt yoksa yeni kayıt işleyecek, varsa mevcutu güncelleme yoluna gideceğiz.
if ( mysqli_num_rows($res) == )
{
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına EKLEME (INSERT) sorgusu çalıştırıyoruz. İçerikte ve başlıkta 
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string fonksiyonunu kullanınız.
mysqli_query($conn_link$query);
} else {
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına GÜNCELLEME (UPDATE) sorgusu çalıştırıyoruz. İçerikte ve başlıkta 
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string() fonksiyonunu kullanınız.
mysqli_query($conn_link$query);
}
};

?>


IVAO TR Web Development Department
IVAO Board of Governors
IVAO General Assembly Member
IVAO Public Relations Advisor
IVAO Turkey Webmaster

International Virtual Aviation Organisation
ASUS N552VW-i7 6700HQ-GeForce GTX960M-16GB-128GB