talhacimen58 adlı üyeden alıntı: mesajı görüntüle
Merhaba barkod no girip barkod numarasından sonuç almak istiyoruz hocam bu APInin tamamına nerden ulaşabilirim? Link var mıdır
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