gasxv2 adlı üyeden alıntı: mesajı görüntüle
edit, evet bu api üzerinden oluyormuş.


basit bir şekilde, barkod numarası
https://api.ptt.gov.tr/api/ShipmentTracking




req payload şeklinde



örnek python
import requests
import json
from datetime import datetime
def ptt_kargo_sorgula(barkod_no):
    url = "https://api.ptt.gov.tr/api/ShipmentTracking"
    
    headers = {
        'Content-Type': 'application/json',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
    }
    
    payload = [barkod_no]
    
    try:
        response = requests.post(url, json=payload, headers=headers, timeout=10)
        response.raise_for_status()
        
        data = response.json()
        
        return data
        
    except requests.exceptions.RequestException as e:
        print(f"API bağlantı hatası: {e}")
        return None
    except json.JSONDecodeError as e:
        print(f"JSON parse hatası: {e}")
        return None
def kargo_bilgilerini_yazdir(data):
    if not data or len(data) == 0:
        print("Kargo bilgisi bulunamadı!")
        return
    
    kargo = data[0]
    
    print("=" * 50)
    print("PTT KARGO BİLGİLERİ")
    print("=" * 50)
    
    print(f"almaHaberFlag: {kargo.get('almaHaberFlag')}")
    print(f"almaHaberFlagSpecified: {kargo.get('almaHaberFlagSpecified')}")
    print(f"errorMessage: {kargo.get('errorMessage')}")
    print(f"errorState: {kargo.get('errorState')}")
    print(f"errorStateSpecified: {kargo.get('errorStateSpecified')}")
    print(f"hareketDongu: {kargo.get('hareketDongu')}")
    
    kabul = kargo.get('kabul', {})
    print("\nKABUL BİLGİLERİ:")
    print(f"agirlik: {kabul.get('agirlik')}")
    print(f"alici: {kabul.get('alici')}")
    print(f"alici_adres: {kabul.get('alici_adres')}")
    print(f"barkod_no: {kabul.get('barkod_no')}")
    print(f"damga_vergisi: {kabul.get('damga_vergisi')}")
    print(f"deger_konulmus_bedeli: {kabul.get('deger_konulmus_bedeli')}")
    print(f"desi: {kabul.get('desi')}")
    print(f"ekhizmetler: {kabul.get('ekhizmetler')}")
    print(f"gonderici: {kabul.get('gonderici')}")
    print(f"gonderici_adres: {kabul.get('gonderici_adres')}")
    print(f"gumruge_sunma_ucreti: {kabul.get('gumruge_sunma_ucreti')}")
    print(f"gumruk_vergisi: {kabul.get('gumruk_vergisi')}")
    print(f"kabul_isyeri: {kabul.get('kabul_isyeri')}")
    print(f"kabul_tarihi: {kabul.get('kabul_tarihi')}")
    print(f"kabul_tarihiSpecified: {kabul.get('kabul_tarihiSpecified')}")
    print(f"odeme_sarti_bedeli: {kabul.get('odeme_sarti_bedeli')}")
    print(f"odeme_tipi: {kabul.get('odeme_tipi')}")
    print(f"reserve1: {kabul.get('reserve1')}")
    print(f"reserve2: {kabul.get('reserve2')}")
    print(f"reserve3: {kabul.get('reserve3')}")
    print(f"reserve4: {kabul.get('reserve4')}")
    print(f"reserve5: {kabul.get('reserve5')}")
    print(f"toplam_yd_ucret: {kabul.get('toplam_yd_ucret')}")
    print(f"ucret: {kabul.get('ucret')}")
    print(f"yd_iade_ucreti: {kabul.get('yd_iade_ucreti')}")
    
    sondurum = kargo.get('sondurum', {})
    print("\nSON DURUM BİLGİLERİ:")
    print(f"ahk_durum_aciklama: {sondurum.get('ahk_durum_aciklama')}")
    print(f"ahk_teslim_alan: {sondurum.get('ahk_teslim_alan')}")
    print(f"ahk_teslim_tarihi: {sondurum.get('ahk_teslim_tarihi')}")
    print(f"mazb_dosya_no: {sondurum.get('mazb_dosya_no')}")
    print(f"mazb_durum_aciklama: {sondurum.get('mazb_durum_aciklama')}")
    print(f"mazb_islem_tarihi: {sondurum.get('mazb_islem_tarihi')}")
    print(f"son_durum_aciklama: {sondurum.get('son_durum_aciklama')}")
    print(f"son_islem_saati: {sondurum.get('son_islem_saati')}")
    print(f"son_islem_tarihi: {sondurum.get('son_islem_tarihi')}")
    print(f"sozl_durum_aciklama: {sondurum.get('sozl_durum_aciklama')}")
    print(f"sozl_teslim_alan: {sondurum.get('sozl_teslim_alan')}")
    print(f"sozl_teslim_tarihi: {sondurum.get('sozl_teslim_tarihi')}")
    print(f"teslim_alan: {sondurum.get('teslim_alan')}")
    print(f"teslim_durum_aciklama: {sondurum.get('teslim_durum_aciklama')}")
    print(f"teslim_tarihi: {sondurum.get('teslim_tarihi')}")
def main():
    print("PTT Kargo Takip Sistemi")
    print("=" * 30)
    
    while True:
        barkod_no = input("Barkod numarasını girin (çıkmak için 'q'): ").strip()
        
        if barkod_no.lower() == 'q':
            print("Program sonlandırıldı.")
            break
        
        if not barkod_no:
            print("Barkod numarası boş olamaz!")
            continue
        
        print(f"Sorgulanıyor: {barkod_no}")
        
        kargo_verisi = ptt_kargo_sorgula(barkod_no)
        
        if kargo_verisi:
            kargo_bilgilerini_yazdir(kargo_verisi)
        else:
            print("Kargo bilgileri alınamadı!")
        
        print("\n" + "=" * 50)
if __name__ == "__main__":
    main()
kendi uygulamanıza uyarlayabilirsiniz bu kod aracılığı ile, umarım mantığı anlamışsınızdır
Çok teşekkür ederim deneyeceğim üstsd