Files
Brancheneinstufung2/connector-superoffice/tools/debug_raw_response.py
Floke 5362fd511c [31188f42] Fix: Stabilität und Resilienz auf Produktion (Cust26720) hergestellt.
- worker.py: Circuit Breaker implementiert (Ignoriert Associate ID 528), um Ping-Pong-Loops zu verhindern.
- worker.py: Resiliente UDF-Behandlung hinzugefügt (behebt 'unhashable type: dict' API-Antwort-Problem).
- tools/: Umfangreiche Test- und Diagnose-Suite hinzugefügt.
Die Anreicherung für 'Bremer Abenteuerland' wurde erfolgreich verifiziert.
2026-03-04 16:46:16 +00:00

46 lines
1.4 KiB
Python

import sys
import os
import requests
from dotenv import load_dotenv
# Explicitly load .env from the project root
dotenv_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '.env'))
load_dotenv(dotenv_path=dotenv_path, override=True)
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from superoffice_client import SuperOfficeClient
def get_raw_data(contact_id: int):
print(f"🚀 Fetching RAW response for ContactId: {contact_id}")
try:
client = SuperOfficeClient()
if not client.access_token:
print("❌ Authentication failed.")
return
# Build URL manually to avoid any JSON parsing in the client
url = f"{client.base_url}/Contact/{contact_id}?$select=Name,UserDefinedFields"
headers = client.headers
print(f"URL: {url}")
resp = requests.get(url, headers=headers)
print(f"Status Code: {resp.status_code}")
# Save raw content to a file
output_file = "raw_api_response.json"
with open(output_file, "w") as f:
f.write(resp.text)
print(f"✅ Raw response saved to {output_file}")
print("\nFirst 500 characters of response:")
print(resp.text[:500])
except Exception as e:
print(f"❌ Error: {e}")
if __name__ == "__main__":
get_raw_data(171185)