Merhaba,
Python React ile bir projede PTT kargo takip yapmamız gerekiyor ama API dökümanı bulamadım sanırım özel alınıyor harici bir yolu var mı yapan arkadaşlar bilgi verebilir mi?
PTT kargo takip Hk.
6
●204
- 13-11-2025, 19:45:29
- 13-11-2025, 19:51:12Merhaba barkod no girip barkod numarasından sonuç almak istiyoruz hocam bu APInin tamamına nerden ulaşabilirim? Link var mıdırgasxv2 adlı üyeden alıntı: mesajı görüntüle
- 13-11-2025, 19:52:57Api'nin dökümasyonu yoktur "bildiğim kadarıyla", fakat bir barkod numarası bulup, basit bir şekilde f12'konsol' yardımı ile araştırabilirsiniz. Tam olarak teknik bir detay veremeyeceğim çünkü araştırdığım bir konu değil, api üzerinden verileri getiriyor mu? takip sayfasına gittiğinde bu api üzerinden mi geliyor tarzında konuları dediğim gibi kendiniz bulmanız gerekecek.talhacimen58 adlı üyeden alıntı: mesajı görüntüle
- 13-11-2025, 19:59:26edit, evet bu api üzerinden oluyormuş.talhacimen58 adlı üyeden alıntı: mesajı görüntüle

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 - 13-11-2025, 20:26:15Çok teşekkür ederim deneyeceğim üstsdgasxv2 adlı üyeden alıntı: mesajı görüntüle





