Skip to main content

A client for interacting with PTT AVM API

Project description

UNOFFICIAL PTT AVM API İstemcisi

PTT AVM API entegrasyonu için Python istemci kütüphanesi.

Son Sürüm: v0.1.5

Yeni Eklenenler

  • ✨ Ürün güncelleme servisleri (V2)
    • Tekli ve toplu güncelleme
    • Varyant yönetimi
    • Parça ve resim yönetimi
  • 🔒 Kapsamlı validasyon sistemi
    • KDV oranı kontrolü
    • Fiyat validasyonları
    • Stok limitleri
    • Varyant tutarlılığı
  • 🧮 Otomatik hesaplamalar
    • KDV ve indirim
    • Desi hesaplama
  • 📝 Gelişmiş hata yönetimi

Değişenler

  • 🏗️ Servis yapısı iyileştirildi
  • 📊 Validasyon kuralları merkezi hale getirildi
  • 🎯 Örnek kodlar geliştirildi
  • 📚 Dokümantasyon güncellendi

Düzeltmeler

  • 🐛 SOAP istek yapısı düzeltildi
  • 🔧 SSL sertifika doğrulama hatası giderildi
  • ⚡️ API yanıt işleme geliştirildi

Devamı için tıklayın

Motivasyon

Bu proje, PTT AVM SOAP API'nin site docs ile verilen ultra yetersiz dokümantasyonuna tepki olarak doğmuştur.

Kurulum

Gereksinimler

  • Python 3.7 veya üstü
  • pip (Python paket yöneticisi)

Pip ile kurulum

pip install pttavm-python

Geliştirici Kurulumu

  1. Repoyu Klonlayın:

    git clone https://github.com/selimkosgen/pttavm_python.git
    cd pttavm
    
  2. Sanal Ortam Oluşturun ve Aktifleştirin:

    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    # veya
    .\venv\Scripts\activate  # Windows
    
  3. Gereksinimleri Yükleyin:

    pip install -e .
    

Kullanım

  1. Çevre Değişkenlerini Ayarlayın:

    .env dosyası oluşturun ve API kimlik bilgilerinizi ekleyin:

    cp .env.example .env
    

    .env dosyasını düzenleyerek API kimlik bilgilerinizi girin:

    PTT_USERNAME=your_username
    PTT_PASSWORD=your_password
    
  2. Örnek Kullanım:

from pttavm import PTTClient

# İstemciyi başlat
client = PTTClient(
    username="your_username",
    password="your_password"
)

# Stok işlemleri
total_stocks = client.get_stock_count()
print(f"Toplam stok: {total_stocks}")

# Tek ürün bilgisi
stock = client.get_stock("barcode123")
if stock:
    print(f"Ürün: {stock.product.product_name}")
    print(f"Stok: {stock.quantity}")

# Tüm stokları getir
def progress_callback(stocks, page, total):
    print(f"Sayfa {page} yüklendi (Toplam: {total} ürün)")

all_stocks = client.get_all_stocks(progress_callback=progress_callback)

Örnek kullanımlar için examples/ klasörüne göz atabilirsiniz:

  • examples/version_example.py: API versiyon bilgisi alma örneği
  • examples/category_example.py: Kategori listesi alma örneği
  • examples/product_example.py: Ürün bilgisi sorgulama örneği
  • examples/stock_example.py: Stok işlemleri örneği

Özellikler

Mevcut Özellikler

  • ✅ Authentication (API Kimlik Doğrulama)
  • ✅ GetVersion (API Versiyon Bilgisi)
  • ✅ Kategori Servisleri
    • GetCategoryTree
    • 🟠 AltKategoriListesi (Deprecated)
  • ✅ Stok Servisleri
    • StokKontrolListesi (Sayfalı listeleme)
    • Tek ürün stok kontrolü
    • Toplu stok listeleme
    • Toplam stok sayısı hesaplama
  • ✅ Ürün Servisleri
    • ✅ StokGuncelleV2 (Yeni)
    • ✅ StokGuncelleV2Bulk (Yeni)
    • ✅ BarkodKontrol
    • ✅ BarkodKontrolBulk
    • ✅ AktifYap
    • 🟠 StokFiyatGuncelle (Deprecated)
    • 🟠 StokFiyatGuncelle2 (Deprecated)
    • 🟠 StokFiyatGuncelle3 (Deprecated)
    • 🟠 UpdateProductVariant (Deprecated)
  • 🔴 Sipariş Servisleri
    • SaveInvoince
    • SiparisKontrolListesiV2
  • 🔴 Mağaza Servisleri
    • GetCargoProfiles
    • KullaniciTedarikciBilgisiGetir

Hedeflenen Temel Özellikler

  • ✅ Kapsamlı dokümantasyon ve örnekler
  • ✅ Kolay kullanımlı Python arayüzü
  • ✅ Hata yönetimi ve doğrulama
  • ✅ Validasyon kuralları
  • ✅ Otomatik hesaplamalar
  • ✅ İlerleme takibi
  • ✅ Sayfalı listeleme desteği

Eklenmesi Planlanan Özellikler

Henüz eklenmemiş olan ve gelecekteki güncellemelerde yer alması planlanan özellikler şunlardır:

  • Stok ve Fiyat Güncelleme Servisleri

    • StokFiyatGuncelle, StokFiyatGuncelleBulk, StokGuncelleV2 vb.
  • Sipariş Servisleri

    • SiparisKontrolListesi, KargoBilgiListesi
  • Kargo ve Teslimat Servisleri

    • /v1/barcode-status, /v1/create-barcode, /v1/get-warehouse vb.

Değişiklik Geçmişi

v0.1.5

  • ✨ Ürün güncelleme servisleri (V2)
  • 🔒 Kapsamlı validasyon sistemi
  • 🧮 Otomatik hesaplamalar
  • 📝 Gelişmiş hata yönetimi

v0.1.4

  • ✨ Ürün güncelleme servisleri (V2)
  • 🔒 Kapsamlı validasyon sistemi
  • 🧮 Otomatik hesaplamalar
  • 📝 Gelişmiş hata yönetimi

v0.1.3

  • ✨ Stok servisleri eklendi
  • 📊 İlerleme takibi için callback sistemi eklendi
  • 🔄 Sayfalama desteği (1000 ürün/sayfa)
  • 🔨 Import yapısı basitleştirildi
  • 📝 API kullanımı sadeleştirildi
  • ⚡️ Hata yönetimi geliştirildi

v0.1.2

  • PTTAVMClient ismi PTTClient olarak değiştirildi
  • Stok servisleri eklendi ve geliştirildi
  • İlerleme takibi için callback desteği eklendi
  • Sayfalı listeleme desteği eklendi
  • Hata yönetimi geliştirildi

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pttavm_python-0.1.5.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

pttavm_python-0.1.5-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file pttavm_python-0.1.5.tar.gz.

File metadata

  • Download URL: pttavm_python-0.1.5.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for pttavm_python-0.1.5.tar.gz
Algorithm Hash digest
SHA256 01c6648b926977641640939d05cac4ed62b9257dae2d3511b80408108250e8de
MD5 cfd6a309d1f12cf555ac656cc8363980
BLAKE2b-256 77eafb3a0e848b3c3442ac745b8da9a67229090b936f2ae448b0ef100fb99135

See more details on using hashes here.

File details

Details for the file pttavm_python-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for pttavm_python-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 747be57d1df8cee2b634042b06e877087f8aec0d58a946b348c6ba5e0a1ef445
MD5 574804487d8c383ced40a2267c39f7f1
BLAKE2b-256 4dcd40ad3cd7206821941497a620c49544d197f7e1974dc11943904646d43496

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page