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 test_membership(contact_id: int): selection_id = 10960 print(f"🔎 Testing if Contact {contact_id} is member of Selection {selection_id}...") client = SuperOfficeClient() # Efficient Membership Check # GET Selection/{id}/MemberStatus/Contact/{contactId} endpoint = f"Selection/{selection_id}/MemberStatus/Contact/{contact_id}" print(f"📡 Querying: {endpoint}") try: resp = client._get(endpoint) print(f"✅ Response: {json.dumps(resp, indent=2)}") # Result format is usually a string: "Member", "NotMember", "Excluded" if resp == "Member": print("🎯 YES: Contact is a member.") else: print("⏭️ NO: Contact is NOT a member.") except Exception as e: print(f"❌ Membership check failed: {e}") if __name__ == "__main__": # Test with Tanja Ullmann (171188) which we identified as Roboplanet test_membership(171188) # Test with Wackler parent (ID 3) print("\n--- Control Test ---") test_membership(3)