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
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
- 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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01c6648b926977641640939d05cac4ed62b9257dae2d3511b80408108250e8de |
|
MD5 | cfd6a309d1f12cf555ac656cc8363980 |
|
BLAKE2b-256 | 77eafb3a0e848b3c3442ac745b8da9a67229090b936f2ae448b0ef100fb99135 |
File details
Details for the file pttavm_python-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: pttavm_python-0.1.5-py3-none-any.whl
- Upload date:
- Size: 23.6 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 | 747be57d1df8cee2b634042b06e877087f8aec0d58a946b348c6ba5e0a1ef445 |
|
MD5 | 574804487d8c383ced40a2267c39f7f1 |
|
BLAKE2b-256 | 4dcd40ad3cd7206821941497a620c49544d197f7e1974dc11943904646d43496 |