+ CDEK API calculator/tarifflist endpoint
This commit is contained in:
parent
cd7d4489c8
commit
873672ea60
|
|
@ -83,6 +83,7 @@ class CDEKClient:
|
||||||
AUTH_ENDPOINT = 'oauth/token'
|
AUTH_ENDPOINT = 'oauth/token'
|
||||||
ORDER_INFO_ENDPOINT = 'orders'
|
ORDER_INFO_ENDPOINT = 'orders'
|
||||||
CALCULATOR_TARIFF_ENDPOINT = 'calculator/tariff'
|
CALCULATOR_TARIFF_ENDPOINT = 'calculator/tariff'
|
||||||
|
CALCULATOR_TARIFF_LIST_ENDPOINT = 'calculator/tarifflist'
|
||||||
BARCODE_ENDPOINT = 'print/barcodes'
|
BARCODE_ENDPOINT = 'print/barcodes'
|
||||||
|
|
||||||
MAX_RETRIES = 2
|
MAX_RETRIES = 2
|
||||||
|
|
@ -141,6 +142,9 @@ class CDEKClient:
|
||||||
def calculate_tariff(self, data):
|
def calculate_tariff(self, data):
|
||||||
return self.request('POST', self.CALCULATOR_TARIFF_ENDPOINT, json=data)
|
return self.request('POST', self.CALCULATOR_TARIFF_ENDPOINT, json=data)
|
||||||
|
|
||||||
|
def calculate_tarifflist(self, data):
|
||||||
|
return self.request('POST', self.CALCULATOR_TARIFF_LIST_ENDPOINT, json=data)
|
||||||
|
|
||||||
def generate_barcode(self, cdek_number, format="A6") -> Optional[str]:
|
def generate_barcode(self, cdek_number, format="A6") -> Optional[str]:
|
||||||
request_data = {
|
request_data = {
|
||||||
"orders": [{"cdek_number": cdek_number}],
|
"orders": [{"cdek_number": cdek_number}],
|
||||||
|
|
|
||||||
|
|
@ -371,6 +371,14 @@ class CDEKAPI(viewsets.GenericViewSet):
|
||||||
r = self.client.calculate_tariff(data)
|
r = self.client.calculate_tariff(data)
|
||||||
return Response(r.json())
|
return Response(r.json())
|
||||||
|
|
||||||
|
@action(url_path='calculator/tarifflist', detail=False, methods=['post'])
|
||||||
|
def calculate_tarifflist(self, request, *args, **kwargs):
|
||||||
|
data = request.data
|
||||||
|
if not data:
|
||||||
|
raise CRMException('json data is required')
|
||||||
|
r = self.client.calculate_tarifflist(data)
|
||||||
|
return Response(r.json())
|
||||||
|
|
||||||
|
|
||||||
class PoizonAPI(viewsets.GenericViewSet):
|
class PoizonAPI(viewsets.GenericViewSet):
|
||||||
client = PoizonClient(settings.POIZON_TOKEN)
|
client = PoizonClient(settings.POIZON_TOKEN)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user