Ders 17API nedir?Konu ve yapılacaklar

API, bir programın başka bir programla konuşma kapısıdır. Web sitesi insana HTML gösterir; API aynı veriyi programa JSON olarak verir. Her adrese uç (endpoint) denir; hangi parametreleri aldığı ve ne döndürdüğü dokümantasyonda yazar. Dokümanı yayımlanan API'ler açık (public), yalnızca sitenin kendi arayüzünün kullandıkları ise iç (internal) API'dir.

  1. Dokümantasyondaki uçları ve parametrelerini okuyun.
  2. api/fiyatlar.php ucunu sektor, sehir, sirala, sayfa parametreleriyle Python'dan çağırın.
  3. 8. bölümde HTML'den çıkardığınız veriyi burada tek satırda aldığınızı gösterin.

Geliştiriciler için · v1

Sektör Fiyatı API

Sitede gördüğünüz verinin programlar için hazırlanmış hali. Tüm uçlar JSON döndürür, anahtar ya da kayıt gerekmez. Veriler kurgusaldır.

Kök adres
https://sektorfiyati.com/api/
Biçim
application/json; charset=utf-8
Hatalar
Uygun durum koduyla birlikte {"hata": {"kod": 422, "mesaj": "..."}}
Kullanım
Saniyede birkaç istekten fazlasını göndermeyin; döngülerde araya kısa bir bekleme koyun.

GET /api/fiyatlar.php

Fiyat kayıtları; filtre, sıralama ve sayfalama ile.

ParametreAçıklama
sektorSektör kodu (insaat, gida, enerji, tekstil, tarim, elektrik, ambalaj, kimya)
sehirŞehir kodu (ankara, izmir...)
qÜrün, şehir ya da sektör adında aranacak metin
siralaad, fiyat, -fiyat, degisim, -degisim, -tarih
sayfaSayfa numarası, 1'den başlar
adetSayfa başına kayıt, 1-50 (varsayılan 12)

Örnek: /api/fiyatlar.php?sektor=gida&sehir=izmir&sirala=fiyat&adet=5

GET /api/urun.php

Tek fiyat kaydı ve aynı ürünün diğer şehirlerdeki fiyatları.

ParametreAçıklama
idKayıt numarası, 1-1200 (zorunlu)

Örnek: /api/urun.php?id=1

GET /api/sektorler.php

Sektörler ve her sektörün ürün kataloğu. Ürün kodları buradan alınır.

Örnek: /api/sektorler.php

GET /api/sehirler.php

Şehirler, kodları ve konumları.

Örnek: /api/sehirler.php

GET /api/ozet.php

Sektör bazında ortalama değişim, yükselen ve düşen kayıt sayıları.

Örnek: /api/ozet.php

POST /api/sorgu.php

Bir ürünün bir şehirdeki fiyatıyla tutar hesabı. Gövde JSON olmalıdır.

Gövde alanıAçıklama
urunÜrün kodu, örn. insaat-01 (zorunlu)
sehirŞehir kodu (zorunlu)
miktarSıfırdan büyük sayı (zorunlu)
import requests

r = requests.post(
    "https://sektorfiyati.com/api/sorgu.php",
    json={"urun": "insaat-01", "sehir": "ankara", "miktar": 40},
)
print(r.status_code)
print(r.json()["sonuc"]["genel_toplam"])

GET / POST /api/yanki.php

İsteğinizde sunucunun ne gördüğünü geri döndürür: metot, başlıklar, parametreler, gövde.

Örnek: /api/yanki.php?deneme=1