Files
suite/delivery_gls_nl/models/gls_nl_request.py
2022-02-07 08:39:41 -08:00

39 lines
1.4 KiB
Python

# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details.
import requests
from json import dumps
class GLSNLRequest:
def __init__(self, production):
self.production = production
self.api_key = '234a6d4ad5fd4d039526a8a1074051ee' if production else 'f80d41c6f7d542878c9c0a4295de7a6a'
self.url = 'https://api.gls.nl/V1/api' if production else 'https://api.gls.nl/Test/V1/api'
self.headers = self._make_headers()
def _make_headers(self):
return {
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': self.api_key,
}
def post_request(self, endpoint, body):
if not self.production and body.get('username') == 'test':
# Override to test credentials
body['username'] = 'apitest1@gls-netherlands.com'
body['password'] = '9PMev9qM'
url = self.url + endpoint
result = requests.request('POST', url, headers=self.headers, data=dumps(body))
if result.status_code != 200:
raise requests.HTTPError(result.text)
return result.json()
def create_label(self, body):
return self.post_request('/Label/Create', body)
def confirm_label(self, body):
return self.post_request('/Label/Confirm', body)
def delete_label(self, body):
return self.post_request('/Label/Delete', body)