Compare commits

...

2 Commits

Author SHA1 Message Date
2cfafc0c2e added loop for additions, made example env 2024-07-27 01:47:06 -05:00
4f792e54ce god damn I'm dumb 2024-07-27 00:17:37 -05:00
2 changed files with 10 additions and 6 deletions

3
env.example Normal file
View File

@ -0,0 +1,3 @@
AUTH_TOKEN=
CLIENT_ID=
API_BASE=https://portal.gotocompu.com/v4_6_release/apis/3.0

View File

@ -11,17 +11,18 @@ def apiGetRequest(api_base, endpoint, params, headers):
if resp.status_code == 200: if resp.status_code == 200:
return resp.json() return resp.json()
apiBase = os.environ["API_BASE"] api_base = os.environ["API_BASE"]
authToken = os.environ["AUTH_TOKEN"] authToken = os.environ["AUTH_TOKEN"]
clientId = os.environ["CLIENT_ID"] clientId = os.environ["CLIENT_ID"]
endpoint = '/finance/agreementrecap' #endpoint for GET 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 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 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(apiBase, endpoint, params, headers) #Put it all together and whadya get 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 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']}") print(f"{item['companyName']} - {item['name']} - {item['agreementStatus']}")
additionsEndpoint = '/finance/agreements/' + str(item['id']) + '/additions'
# 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 additions = apiGetRequest(api_base, additionsEndpoint, {'pagesize': 50}, headers)
for thing in additions:
print(' ' + thing['product']['identifier'])