diff --git a/cdek/api.py b/cdek/api.py index 666dbe2..d2ac0b1 100644 --- a/cdek/api.py +++ b/cdek/api.py @@ -27,10 +27,10 @@ class CDEKClient: def request(self, method, url, *args, **kwargs): joined_url = urljoin(self.api_url, url) request = Request(method, joined_url, *args, **kwargs) - prepared = self.session.prepare_request(request) retries = 0 while retries < self.MAX_RETRIES: + prepared = self.session.prepare_request(request) r = self.session.send(prepared) # TODO: handle/log errors @@ -51,39 +51,18 @@ class CDEKClient: token = data['access_token'] self.session.headers.update({'Authorization': f'Bearer {token}'}) - # FIXME: not working? - def get_order_info(self, cdek_number): + def get_order_info(self, im_number): params = { - 'cdek_number': str(cdek_number) + 'im_number': str(im_number) } return self.request('GET', self.ORDER_INFO_ENDPOINT, params=params) - def calculate_tariff(self, order_data): - return self.request('POST', self.CALCULATOR_TARIFF_ENDPOINT, json=order_data) + def create_order(self, order_data): + return self.request('POST', self.ORDER_INFO_ENDPOINT, json=order_data) + + def calculate_tariff(self, data): + return self.request('POST', self.CALCULATOR_TARIFF_ENDPOINT, json=data) client = CDEKClient(settings.CDEK_CLIENT_ID, settings.CDEK_CLIENT_SECRET) client.authorize() - -order_data = { - "type": "1", - "currency": "1", - "lang": "rus", - "tariff_code": "137", - "from_location": { - "address": "Санкт-Петербург, Невский пр. 30" - }, - "to_location": { - "address": "Тверь, ул 15 лет октября, дом 50, кВ 2" - }, - "packages": [ - { - "weight": 1200, - "length": 35, - "width": 26, - "height": 14 - } - ] -} -r = client.calculate_tariff(order_data) -print(r)