Files
onspring-api-sdk-python/OnspringClient.py
T

91 lines
2.4 KiB
Python
Raw Normal View History

2022-04-14 21:18:57 -05:00
import requests
import json
from UrlHelper import *
class OnspringClient:
def __init__(self, url, key):
self.baseUrl = url
self.headers = {
'x-apikey': key,
'x-api-version': '2'
}
# verify connectivity
def canConnect(self):
endpoint = GetPingEndpoint(self.baseUrl)
response = requests.request('GET', endpoint, headers=self.headers)
return response.status_code == 200
# apps
def GetApps(self, pageNumber=1, pageSize=50):
endpoint = GetAppsEndpoint(self.baseUrl)
params={
'PageNumber': pageNumber,
'PageSize': pageSize
}
response = requests.request('GET', endpoint, headers=self.headers, params=params)
if(response.status_code == 400):
return {'Message': 'Invalid paging information.'}
if(response.status_code == 401):
return {'Message': 'Unauthorized request.'}
return response.json()
def GetAppById(self, appId):
endpoint = GetAppByIdEndpoint(self.baseUrl, appId)
response = requests.request('GET', endpoint, headers=self.headers)
if(response.status_code == 401):
return {'Message': 'Unauthorized request.'}
if(response.status_code == 403):
return {'Message': 'Client does not have read access to the app.'}
if(response.status_code == 404):
return {'Message': 'App could not be found.'}
return response.json()
def GetAppByIds(self, appIds):
endpoint = GetAppByIdsEndpoint(self.baseUrl)
self.headers["Content-Type"] = "application/json"
if(not isinstance(appIds, (list, tuple))):
return {'Message': 'App ids should be of type list or tuple.'}
data = json.dumps(appIds)
response = requests.request("POST", endpoint, headers=self.headers, data=data)
if(response.status_code == 401):
return {'Message': 'Unauthorized request.'}
if(response.status_code == 403):
return {'Message': 'Client does not have read access to the app.'}
return response.json()
url = 'https://api.onspring.com'
apiKey = '61642d8c686f9e8747e42af8/52cae9a9-4c49-48b6-a3fe-10a48d46ac69'
onspringClient = OnspringClient(url,apiKey)
data = (8,)
print(onspringClient.GetAppByIds(data))