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.4

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

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.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.4.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

pttavm_python-0.1.4-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pttavm_python-0.1.4.tar.gz
  • Upload date:
  • Size: 27.8 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.4.tar.gz
Algorithm Hash digest
SHA256 4e5c9bd804d1135cd808aef503c27698a3f0bcb180e229a94ad05ef1f497e168
MD5 33bf0ccd3f3dd6067214feeb899c0686
BLAKE2b-256 8093407625ebe41804191dd206caf3dd02e549931c791e59dbd9f78576597609

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pttavm_python-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b4bbf59f786aec7fd7a05d3db9d7d612406aa1639973c673c701e379e697b24c
MD5 64bde570033ed792c100f7c2bf32cba6
BLAKE2b-256 dc45a22b21b470291cc5aaf4e5d7cd39a8d5c6a513c2887adc1253daea8004fd

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