import requests from datetime import datetime import json from utils.common import ACCOUNT_ID, BASE_URL, HEADER, LOCATION_ID get_leads_info_tool = { "type": "function", "function": { "name": "GetLeadsInfo", "description": "Fetches leads for a specific location.", "parameters": { "type": "object", "properties": { "location_id": { "type": "string", "description": "ID of the location to fetch members for.", "default": LOCATION_ID }, "registered_from": { "type": "string", "format": "date", "description": "Optional start date for getting leads in YYYY-MM-DD format.", "default": datetime.now().strftime('%Y-%m-%d') }, "registered_to": { "type": "string", "format": "date", "description": "Optional end date for getting leads in YYYY-MM-DD format.", "default": datetime.now().strftime('%Y-%m-%d') } }, "required": ["location_id"] } } } def GetLeadsInfo(location_id=LOCATION_ID, registered_from=None, registered_to=None): """Fetch and print members for a specific location.""" if not registered_from: registered_from = datetime.today().strftime('%Y-%m-%d') if not registered_to: registered_to = datetime.today().strftime('%Y-%m-%d') params = { "registeredFrom": registered_from, "registeredTo": registered_to } url = f"{BASE_URL}location/{location_id}/members/query" try: response = requests.get(url, headers=HEADER, params=params) response.raise_for_status() # Raise an HTTPError for bad responses response_data = response.json() formatted_response = json.dumps(response_data, indent=2) return formatted_response except requests.RequestException as e: return f"Error making API request: {str(e)}"