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.3
Yeni Eklenenler
- ✨ Stok servisleri eklendi
- Toplu stok listeleme
- Tek ürün stok kontrolü
- Sayfalı listeleme desteği
- Toplam stok sayısı hesaplama
- 📊 İlerleme takibi için callback sistemi
- 🔄 Sayfalama desteği (1000 ürün/sayfa)
Değişenler
- 🔨 Import yapısı basitleştirildi
- Eski:
from pttavm.client import PTTAVMClient
- Yeni:
from pttavm import PTTClient
- Eski:
- 📝 Daha temiz ve anlaşılır API
- ⚡️ Daha verimli hata yönetimi
- 🎯 Son kullanıcı odaklı geliştirmeler
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
-
Repoyu Klonlayın:
git clone https://github.com/selimkosgen/pttavm_python.git cd pttavm
-
Sanal Ortam Oluşturun ve Aktifleştirin:
python -m venv venv source venv/bin/activate # Linux/macOS # veya .\venv\Scripts\activate # Windows
-
Gereksinimleri Yükleyin:
pip install -e .
Kullanım
-
Ç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
-
Ö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ğiexamples/category_example.py
: Kategori listesi alma örneğiexamples/product_example.py
: Ürün bilgisi sorgulama örneğiexamples/stock_example.py
: Stok işlemleri örneği
Özellikler
Mevcut Özellikler
- ✅ Authentication (API Kimlik Doğrulama)
- ✅ GetVersion (API Versiyon Bilgisi)
- ✅ Kategori Servisleri
- AltKategoriListesi
- KategoriListesi
- GetCategoryTree
- ✅ Stok Servisleri
- StokKontrolListesi (Sayfalı listeleme)
- Tek ürün stok kontrolü
- Toplu stok listeleme
- Toplam stok sayısı hesaplama
- ✅ Barkod Kontrol (Ürün Servisleri)
- 🔴 Ürün Servisleri
- AktifYap
- BarkodKontrolBulk
- GetProductsWithVariants
- StokFiyatGuncelle
- StokFiyatGuncelle2
- StokFiyatGuncelle3
- StokFiyatGuncelleBulk
- StokGuncelle
- StokGuncelleBulk
- StokGuncelleV2
- StokGuncelleV2Bulk
- UpdateProductVariant
- 🔴 Kategori Servisleri
- GetCategory
- GetMainCategories
- TedarikciAltKategoriListesi
- 🔴 Sipariş Servisleri
- SaveInvoince
- SiparisKontrolListesiV2
- 🔴 Mağaza Servisleri
- GetCargoProfiles
- KullaniciTedarikciBilgisiGetir
- 🔴 Kargo ve Teslimat Servisleri
- /v1/get-barcode-tag
Hedeflenen Temel Özellikler
- ✅ Kapsamlı dokümantasyon ve örnekler
- ✅ Kolay kullanımlı Python arayüzü
- ✅ Hata yönetimi ve doğrulama
- ✅ Tip güvenliği
- ✅ Otomatik test desteği
- ✅ İlerleme takibi (Progress callback)
- ✅ 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.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
Built Distribution
File details
Details for the file pttavm_python-0.1.3.tar.gz
.
File metadata
- Download URL: pttavm_python-0.1.3.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2af0232f2bc33e5544488f5f8d8f384dd17a8687ad19a5573574381bc709f4a9 |
|
MD5 | 5ea6c7669d303d5c4d1e05765115fdc1 |
|
BLAKE2b-256 | 56b3679c2696a2f81e721a1ac072c41377cd2bfd529aed34f41edeaf36709af6 |
File details
Details for the file pttavm_python-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: pttavm_python-0.1.3-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dcdf0b5e059ce80c885ad28a920fe8826da466379e8492080fcac2814426b6e |
|
MD5 | 96cd9dcfe3e3e60430a12558d1fb7bfb |
|
BLAKE2b-256 | 2668d6431654f7450f1e23536f9694f68044d90919222b351508d40fd6cbd3f3 |