[30388f42] Infrastructure Hardening: Repaired CE/Connector DB schema, fixed frontend styling build, implemented robust echo shield in worker v2.1.1, and integrated Lead Engine into gateway.
This commit is contained in:
52
connector-superoffice/tools/check_selection_members.py
Normal file
52
connector-superoffice/tools/check_selection_members.py
Normal file
@@ -0,0 +1,52 @@
|
||||
import sys
|
||||
import os
|
||||
import json
|
||||
|
||||
# Absolute path setup
|
||||
current_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
connector_dir = os.path.abspath(os.path.join(current_dir, '..'))
|
||||
sys.path.insert(0, connector_dir)
|
||||
|
||||
from superoffice_client import SuperOfficeClient
|
||||
|
||||
def check_selection():
|
||||
selection_id = 10960
|
||||
print(f"🔎 Inspecting Selection {selection_id} (Alle_Contacts_Roboplanet)...")
|
||||
client = SuperOfficeClient()
|
||||
if not client.access_token:
|
||||
print("❌ Auth failed.")
|
||||
return
|
||||
|
||||
# 1. Get Selection Metadata
|
||||
print("\n📋 Fetching Selection Details...")
|
||||
details = client._get(f"Selection/{selection_id}")
|
||||
if details:
|
||||
print(f" Name: {details.get('Name')}")
|
||||
print(f" Description: {details.get('Description')}")
|
||||
print(f" Type: {details.get('SelectionType')}") # e.g. Dynamic, Static
|
||||
|
||||
# 2. Fetch Members via direct Selection endpoint
|
||||
print("\n👥 Fetching first 10 Members via direct Selection endpoint...")
|
||||
# Direct endpoint for Contact members of a selection
|
||||
endpoint = f"Selection/{selection_id}/ContactMembers?$top=10"
|
||||
|
||||
try:
|
||||
members_resp = client._get(endpoint)
|
||||
# OData usually returns a 'value' list
|
||||
members = members_resp.get('value', []) if isinstance(members_resp, dict) else members_resp
|
||||
|
||||
if members and isinstance(members, list):
|
||||
print(f"✅ Found {len(members)} members in first page:")
|
||||
for m in members:
|
||||
# Structure might be flat or nested
|
||||
name = m.get('Name') or m.get('name')
|
||||
cid = m.get('ContactId') or m.get('contactId')
|
||||
print(f" - {name} (ContactID: {cid})")
|
||||
else:
|
||||
print("⚠️ No members found or response format unexpected.")
|
||||
print(f"DEBUG: {json.dumps(members_resp, indent=2)}")
|
||||
except Exception as e:
|
||||
print(f"❌ Direct Selection members query failed: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
check_selection()
|
||||
Reference in New Issue
Block a user