diff --git a/cdek/api.py b/cdek/api.py index a064fa5..04d73b6 100644 --- a/cdek/api.py +++ b/cdek/api.py @@ -64,6 +64,9 @@ class CDEKClient: def create_order(self, order_data): return self.request('POST', self.ORDER_INFO_ENDPOINT, json=order_data) + def edit_order(self, order_data): + return self.request('PATCH', self.ORDER_INFO_ENDPOINT, json=order_data) + def calculate_tariff(self, data): return self.request('POST', self.CALCULATOR_TARIFF_ENDPOINT, json=data) diff --git a/store/views.py b/store/views.py index 4afa551..b3443cf 100644 --- a/store/views.py +++ b/store/views.py @@ -364,6 +364,15 @@ class CDEKAPI(viewsets.GenericViewSet): r = self.client.create_order(order_data) return Response(r.json()) + @get_order_info.mapping.patch + def edit_order(self, request, *args, **kwargs): + order_data = request.data + if not order_data: + raise CRMException('json data is required') + + r = self.client.edit_order(order_data) + return Response(r.json()) + @action(url_path='calculator/tariff', detail=False, methods=['post']) def calculate_tariff(self, request, *args, **kwargs): data = request.data