E-Commerce-Bestellbeträge abheben und einziehenPython

Python-Programme
Anonymous
 E-Commerce-Bestellbeträge abheben und einziehen

Post by Anonymous »

Dieser Code hilft mir, die täglichen, wöchentlichen und monatlichen Beträge der Trendyol-Paketbestellungen aus drei verschiedenen Geschäften zu summieren und aufzulisten. Allerdings führen neben den Tagessummen auch die Wochen- und Monatssummen zu ungenauen Daten. Um dies zu verhindern, habe ich stornierte Bestellungen herausgefiltert und auch Daten wie Steuern herausgefiltert. Ich habe auch mehrmals versucht, ChatGPT zu verwenden, aber die Ergebnisse sind immer noch falsch. Können Sie mir dabei helfen?

Code: Select all

import requests
import time
import pandas as pd
from datetime import datetime

api_listesi = [
{"supplier_id": "*", "api_key": "*", "api_secret": "*"},
{"supplier_id": "*", "api_key": "*", "api_secret": "*"},
{"supplier_id": "*", "api_key": "*", "api_secret": "*"},
]

BASE_URL = "https://api.trendyol.com/sapigw/suppliers/{supplier_id}/orders"

def toplam_tutar_hesapla(supplier_id, api_key, api_secret, gecen_gun):
end = int(time.time()) * 1000
start = int(time.time() - gecen_gun * 86400) * 1000

toplam = 0.0
page = 0
size = 50  # sayfa başına 50 sipariş

while True:
params = {
"startDate": start,
"endDate": end,
"page": page,
"size": size
}
url = BASE_URL.format(supplier_id=supplier_id)
response = requests.get(url, auth=(api_key, api_secret), params=params)
enter code here
if response.status_code != 200:
break

data = response.json()
if "content" not in data or not data["content"]:
break

for order in data["content"]:
toplam += order.get("totalPrice", 0.0)

page += 1
if page >= data.get("totalPages", 0):
break

return toplam

# Tüm mağazalar için hesapla
tum_sonuclar = []
for api in api_listesi:
supplier_id = api["supplier_id"]
api_key = api["api_key"]
api_secret = api["api_secret"]

print(f"📦 Mağaza {supplier_id} verileri çekiliyor...")

gunluk_tutar = toplam_tutar_hesapla(supplier_id, api_key, api_secret, 1)
toplam_7gun = toplam_tutar_hesapla(supplier_id, api_key, api_secret, 7)
toplam_30gun = toplam_tutar_hesapla(supplier_id, api_key, api_secret, 30)

tum_sonuclar.append({
"Supplier ID": supplier_id,
"Günlük Toplam Tutar (TL)": gunluk_tutar,
"7 Günlük Toplam Tutar (TL)": toplam_7gun,
"30 Günlük Toplam Tutar (TL)": toplam_30gun
})

# DataFrame oluştur ve Genel Toplam ekle
rapor = pd.DataFrame(tum_sonuclar)
genel_toplam = {
"Supplier ID": "Genel Toplam",
"Günlük Toplam Tutar (TL)": rapor["Günlük Toplam Tutar (TL)"].sum(),
"7 Günlük Toplam Tutar (TL)": rapor["7 Günlük Toplam Tutar (TL)"].sum(),
"30 Günlük Toplam Tutar (TL)": rapor["30 Günlük Toplam Tutar (TL)"].sum()
}
rapor = pd.concat([rapor, pd.DataFrame([genel_toplam])], ignore_index=True)

# Excel'e kaydet
tarih = datetime.now().strftime("%Y-%m-%d_%H-%M")
dosya_adi = f"trendyol_magaza_rapor_{tarih}.xlsx"
rapor.to_excel(dosya_adi, index=False)

print(f"\n✅ Rapor oluşturuldu: {dosya_adi}")
print(rapor)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post