Penta Service Manager

Penta ERP entegrasyon servislerini tek bir web arayuzunden test edin ve yonetin.

SOAP REST API XML Dijital Python + Flask

1. Kurulum

Gereksinimler

BilesenVersiyon
Python3.12 veya uzeri
pipGuncel
InternetPenta sunucularina erisim

Adimlar

1

Projeyi indirin

git clone https://github.com/sokrateng/penta-service-manager.git
cd penta-service-manager
2

Bagimliliklari yukleyin

python -m pip install flask zeep requests
Ipucu python -m pip kullanmak, dogru Python ortamina yuklenmesini garantiler.

2. Ilk Calistirma

python app.py

Tarayicinizda http://localhost:5000 adresine gidin.

Varsayilan Ayarlar Ilk calistirmada config.py icindeki test ortami ayarlari kullanilir. Web arayuzunden Ayarlar sayfasina giderek bilgilerinizi guncelleyebilirsiniz.

3. Ortam Gecisi

Sidebar'daki butonlarla ortam degistirilir:

OrtamGostergeAciklama
TEST Yesil bant Test sunucularina baglanir. Guvenle sorgulama yapilabilir.
CANLI Kirmizi bant Uretim sunucularina baglanir. Onay penceresi cikar.
Dikkat Canli ortama geciste onay penceresi gorunur. Siparis olusturma gibi islemler gercek siparise donusur.

4. Servis Modulleri

🔗

SOAP - PentaDepom (storage.asmx)

Stok sorgulama, teslimat takibi, depo siparis olusturma. Zeep kutuphanesi ile WSDL tabanli cagri.

📦

SOAP - Siparis (order.asmx)

Siparis sorgulama/olusturma (simulasyon destekli), sepet gonderme. Arizi adres ve ek alan destegi.

🌐

REST API

Siparis, urun katalogu, PentaDepom stok/teslimat, lisans/ESD, teknik servis, garanti. JWT token otomatik.

📄

XML - Bayinet Katalog

Bayinet urun XML servisi. Urun listesi ve detay sorgulama.

💎

Penta Dijital

Urun, kategori, marka, siparis, depo, mal hareket, abonelik yonetimi. API Key tabanli kimlik dogrulama.

SOAP Servisleri

IslemMetotWSDL
Stok SorgulamaGet2890Productstorage.asmx
Teslimat SorgulamaGetDelivery2890storage.asmx
Depo Siparis OlusturmaCreateOrder2890storage.asmx
Siparis SorgulamaGetOrdersorder.asmx
Siparis OlusturmaCreateOrderorder.asmx
Sepet GondermeSendBasketorder.asmx

REST API Endpoint'leri

IslemMetotEndpoint
Token AlmaPOST/api/Auth/RequestToken
Siparis SorgulamaPOST/api/Order/GetOrders
Siparis OlusturmaPOST/api/Order/CreateOrder
Urun KataloguGET/api/Product/GetProducts
PentaDepom StokPOST/api/Storage/GetProducts
PentaDepom TeslimatPOST/api/Storage/GetDelivery2890
Lisans / ESDPOST/api/License/LicenseESDInformations
Teknik ServisGET/api/Check/TechnicalService
Garanti SorgulamaGET/api/Check/Guaranty

Dijital API Endpoint'leri

IslemMetotEndpoint
UrunlerGET/api/Product/GetProducts
KategorilerGET/api/Product/GetCategories
MarkalarGET/api/Product/GetProductBrands
Siparis SorgulamaGET/api/Order/GetOrders
Siparis OlusturmaPOST/api/Order/CreateOrder
Siparis IptaliPOST/api/Order/CancelOrder
Depo StokGET/api/Storage/ProductDetail
Depo SiparisPOST/api/Storage/CreateOrder
Depo TeslimatGET/api/Storage/GetDeliveries
Mal HareketPOST/api/Storage/GoodsMovement
Abonelik SorgulamaGET/api/Subscription/GetSubscription
Abonelik IslemleriPOST/api/Subscription/* (6 islem)

5. Ayarlar Sayfasi

Sol menudeki Ayarlar sekmesinden tum yapilandirmayi yonetebilirsiniz:

Sifreler goster/gizle butonu ile korunur. Ayarlar settings.json dosyasina kalici kaydedilir.

Guvenlik settings.json dosyasi .gitignore icindedir ve repo'ya dahil edilmez.

6. cURL Kopyalama

Her sorgulama formunun yanindaki clipboard ikonuna tiklayarak, o anki form degerleriyle hazir cURL komutu panoya kopyalanir.

7. Coklu Profil Destegi

Her ortam (test/canli) icin birden fazla credential profili tanimlayabilirsiniz.

8. Sistem Tepsisi (Tray) Modu

tray_app.py ile uygulamayi sistem tepsisinde calistirabilirsiniz:

python tray_app.py
Ek Gereksinim Tray modu icin: python -m pip install pystray Pillow

9. Python ile Kullanim

Client siniflarini dogrudan Python kodunuzda kullanabilirsiniz:

SOAP Storage Client

from penta_client import PentaStorageClient

soap = PentaStorageClient(
    soap_wsdl_url="https://webservistest.penta.com.tr/service/storage.asmx?wsdl",
    customer="1015824", user="kullanici", password="sifre"
)
products = soap.get_products()
deliveries = soap.get_deliveries("2025-03-04", "2025-03-04")

SOAP Order Client

from penta_order_client import PentaOrderClient

order = PentaOrderClient(
    soap_order_wsdl_url="https://webservistest.penta.com.tr/service/order.asmx?WSDL",
    customer="1015824", user="kullanici", password="sifre"
)
orders = order.get_orders(start_date="01.01.2025", end_date="12.03.2026")

REST Client

from penta_rest_client import PentaRestClient

rest = PentaRestClient(
    base_url="https://apiresttst.penta.com.tr",
    customer="1015824", user="kullanici", password="sifre"
)
products = rest.get_products()
license_info = rest.get_license_info(order_no="3028752")

Dijital Client

from penta_dijital_client import PentaDijitalClient

dijital = PentaDijitalClient(
    base_url="http://stagemicroservice-integration.pentadijital.com.tr",
    api_key="your-api-key"
)
products = dijital.get_products()

10. EXE Olarak Paketleme

pip install pyinstaller
pyinstaller --onefile --add-data "templates;templates" --noconsole app.py

Olusan dist/app.exe dosyasini dagitabilirsiniz. settings.json EXE'nin yaninda olusur.

11. Sorun Giderme

SorunCozum
ModuleNotFoundError: No module named 'flask' python -m pip install flask zeep requests ile dogru Python'a yukleyin
SOAP sorgusu timeout IP adresinizin Penta IIS'te tanimli oldugundan emin olun (Ayarlar > Servis Notlari)
REST API 401 Unauthorized Credential bilgilerini kontrol edin. Token 12 saat gecerlidir, otomatik yenilenir.
Dijital API baglanti hatasi IP izni admin.penta.com.tr'den tanimlanmali. API Key dogrulugunu kontrol edin.
Port 5000 kullanimda app.py'de port=5000 degerini degistirin