+ CDEK API calculator/tarifflist endpoint
This commit is contained in:
parent
cd7d4489c8
commit
873672ea60
|
|
@ -83,6 +83,7 @@ class CDEKClient:
|
|||
AUTH_ENDPOINT = 'oauth/token'
|
||||
ORDER_INFO_ENDPOINT = 'orders'
|
||||
CALCULATOR_TARIFF_ENDPOINT = 'calculator/tariff'
|
||||
CALCULATOR_TARIFF_LIST_ENDPOINT = 'calculator/tarifflist'
|
||||
BARCODE_ENDPOINT = 'print/barcodes'
|
||||
|
||||
MAX_RETRIES = 2
|
||||
|
|
@ -141,6 +142,9 @@ class CDEKClient:
|
|||
def calculate_tariff(self, 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]:
|
||||
request_data = {
|
||||
"orders": [{"cdek_number": cdek_number}],
|
||||
|
|
|
|||
|
|
@ -371,6 +371,14 @@ class CDEKAPI(viewsets.GenericViewSet):
|
|||
r = self.client.calculate_tariff(data)
|
||||
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):
|
||||
client = PoizonClient(settings.POIZON_TOKEN)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user