| 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() |
| 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)}" |
|
|