Abc / utils /GetLeadsInfo.py
grayphite's picture
added modules
a7fc713
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)}"