ConnectwiseFriends/reportguy.py
2024-07-27 00:17:37 -05:00

28 lines
1.3 KiB
Python

import requests
from dotenv import load_dotenv
import os
load_dotenv()
def apiGetRequest(api_base, endpoint, params, headers):
url = api_base + endpoint
resp = requests.get(url, params=params, headers=headers)
if resp.status_code == 200:
return resp.json()
api_base = os.environ["API_BASE"]
authToken = os.environ["AUTH_TOKEN"]
clientId = os.environ["CLIENT_ID"]
endpoint = '/finance/agreementrecap' #endpoint for GET
headers = {'Authorization': authToken, 'clientId': clientId} # DO NOT fill this out and then commit it to the publicly-viewable git repository, please
params = {'pageSize': 50, 'conditions': 'agreementStatus!="CANCEL"', 'fields': 'id,companyName,name,lastInvoiceAmount,nextInvoiceAmount,agreementStatus'} # API call params--prepare to cry if your url encoding is sub-par
data = apiGetRequest(api_base, endpoint, params, headers) #Put it all together and whadya get
for item in data: #This is just iterating through whatever comes back and barfing the data in a readable way
print(f"{item['companyName']} - {item['name']} \n - {item['agreementStatus']}")
# to do: Make a second function to call agreement additions from returned items. Should be so easy that it's actually kind of stupid that I'm writing this instead of that right now