cursor >>
import requests
import time
import json
def check_bookings():
# Session oluşturma
session = requests.session()
# Önceki siparişlerin ID'lerini tutmak için liste
mevcut_booking_idler = []
while True:
try:
# API'ye istek gönderme
yanit = session.get("https://siteadi.com/api/endpoint") # API URL'sini buraya yazın
# API yanıtını JSON olarak ayrıştırma
yanit_json = yanit.json()
# API yanıtı kontrolü
if yanit_json["status"] == 200 and yanit_json["response_code"] == 1000:
# Bookings listesini alma
bookings = yanit_json["data"]["bookings"]
# Tüm bookings'leri kontrol etme
for booking in bookings:
booking_id = booking.get("id") # ID'yi alma
# Eğer bu ID daha önce işlenmediyse
if booking_id and booking_id not in mevcut_booking_idler:
print(f"Yeni sipariş bulundu! ID: {booking_id}")
# ID'yi işlenmiş olarak kaydetme
mevcut_booking_idler.append(booking_id)
# ID ile yeni URL'ye istek gönderme
siparis_url = f"https://siteadi.com/{booking_id}"
siparis_yanit = session.get(siparis_url)
print(f"Sipariş URL'sine istek gönderildi: {siparis_url}")
print(f"Yanıt: {siparis_yanit.text[:100]}...") # Yanıtın ilk 100 karakterini göster
else:
print(f"API hatası: {yanit_json}")
except Exception as e:
print(f"Hata oluştu: {e}")
# 3 saniye bekleme
time.sleep(3)
if __name__ == "__main__":
print("Sipariş takip sistemi başlatılıyor...")
check_bookings()
"""
API Sipariş Takip Sistemi Geliştirme Notları
-------------------------------------
1. Geliştirilen Özellikler:
- requests.session kullanarak API bağlantısı
- 3 saniye aralıklarla periyodik olarak API kontrolü
- Yeni siparişlerin tespit edilmesi
- Tespit edilen siparişlerin ID'lerinin kaydedilmesi
- Sipariş ID'leri ile ikincil API isteklerinin yapılması
2. Kullanılan Kütüphaneler:
- requests: HTTP istekleri için
- time: Periyodik istekler için bekleme süresi
- json: API yanıtlarının işlenmesi için
3. Çalışma Mantığı:
- Sistem, belirtilen API endpoint'ine 3 saniyede bir istek gönderir
- API yanıtındaki "bookings" dizisini kontrol eder
- Daha önce işlenmemiş sipariş ID'lerini tespit eder
- Yeni ID bulunduğunda "https://siteadi.com/{id}" adresine istek gönderir
4. Geliştirme Notları:
- Hata yönetimi için try-except blokları kullanıldı
- Önceki siparişlerin tekrar işlenmesini engellemek için ID listesi tutuldu
- API yanıtının başarılı olup olmadığını kontrol etmek için status ve response_code kullanıldı
"""