1
📥
Ambil pesananAPI platform fetch order terkini
2
🔍
Semak statusKategori pending / shipped / at-risk
3
⚠️
Kesan risikoLewat penghantaran, pembatalan mencurigakan
4
📊
Laporan & notifikasiDashboard + alert WhatsApp
import requests, json, time
from datetime import datetime, timedelta
API_ORDERS = "https://api.shopee.com/v2/orders"
RISK_THRESHOLD_HOURS = 48
def fetch_orders(status="all"):
resp = requests.get(API_ORDERS, params={"status": status})
return resp.json().get("orders", [])
def assess_risk(order):
created = datetime.fromisoformat(order["created_at"])
elapsed = datetime.now() - created
if elapsed > timedelta(hours=RISK_THRESHOLD_HOURS):
return "high"
if order.get("cancellation_flag"):
return "high"
return "low"
def send_alert(order, risk):
msg = f"⚠️ Order {order['id']} berisiko {risk}"
requests.post("http://192.168.1.50:9000/alert", json={"text": msg})
while True:
orders = fetch_orders("pending")
for o in orders:
risk = assess_risk(o)
if risk == "high":
send_alert(o, risk)
print(json.dumps({"id": o["id"], "risk": risk}))
time.sleep(1800)