64 lines
3.1 KiB
Python
64 lines
3.1 KiB
Python
import requests
|
|
from dotenv import load_dotenv
|
|
import os
|
|
|
|
pageSize = 10 # Just so I don't have to keep changing stuff
|
|
|
|
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()
|
|
else:
|
|
resp.raise_for_status()
|
|
|
|
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': pageSize, 'conditions': 'agreementStatus="ACTIVE"', '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']} - {item['agreementStatus']}")
|
|
additionsEndpoint = '/finance/agreements/' + str(item['id']) + '/additions'
|
|
additions = apiGetRequest(api_base, additionsEndpoint, {'pagesize': pageSize}, headers)
|
|
for thing in additions: # Yo dawg I heard you like loops
|
|
print(' ' + thing['product']['identifier'] + ' - $' + str(thing['unitPrice']))
|
|
|
|
####################### !!! DO NOT DISAPPOINT THE FROG WIZARD !!! #########################
|
|
# .-----.
|
|
# /7 . (
|
|
# / .-. \
|
|
# / / \ \
|
|
# / ` ) ( )
|
|
# / ` ) ). \
|
|
# .' _. \_/ . |
|
|
# .--. .' _.' )`. |
|
|
# ( `---...._.' `---.'_) .. \
|
|
# \ `----....___ `. \ |
|
|
# `. _ ----- _ `._ )/ |
|
|
# `. /" \ /" \`. `._ |
|
|
# `. ((O)` ) ((O)` ) `. `._\
|
|
# `-- '`---' `---' ) `. `-.
|
|
# / ` \ `-.
|
|
# .' `. `.
|
|
# / ` ` `. `-.
|
|
# .--. \ ===._____.======. ` ` `. .___.--` .''''.
|
|
# ' .` `-. `. )`. ` ` ` \ .' . ' 8)
|
|
# (8 . ` `-.`. ( . ` ` .`\ .' ' ' /
|
|
# \ `. ` `-. ) ` . ` ` \ .' ' . ' /
|
|
# \ ` `. ` . \`. .--. | ` ) ` .``/ ' // . /
|
|
# `. ``. . \ \ .-- `. ( ` /_ ` . / ' . '/ .'
|
|
# `. ` \ ` \ \ '-. `-' .' `-. ` . .'/ .'
|
|
# \ `.`. ` \ \ ) /`._.` `. ` . .' /
|
|
# | `.`. . \ \ (.' `. .' .'
|
|
# __/ .. \ \ ` ) \ \.' .. \__
|
|
# .-._.-' '" ) .-' `. ( '" `-._.--.
|
|
#(_________.-====' / .' /\_)`--..__________..-- `====-. _________)
|
|
##################################################################################### |