+ CDEK api
This commit is contained in:
parent
1d615b2735
commit
369dbf31ae
37
cdek/api.py
37
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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user