public async Task ConfirmDeliveryOrderAsync(DeliveryOrderResponse response)
        {
            var shipment = await _warehouseContext.Shipments.FirstOrDefaultAsync(g => g.OrderNumber == response.OrderNumber);

            if (shipment == null)
            {
                throw new Exception($"Order with number={response.OrderNumber} is not exist");
            }

            _eshopServiceClient.AddHeader(Constants.USERID_HEADER, shipment.UserId.ToString());
            var user = await _eshopServiceClient.UserAsync(shipment.UserId);

            if (user == null)
            {
                throw new Exception($"User with id={shipment.UserId} not exist");
            }
            if (response.IsCanDelivery)
            {
                shipment.Status       = ShipmentOrderStatus.DeliveryConfirmed;
                shipment.ShipmentDate = response.ShipmentDate;

                await _mqSender.SendMessageAsync(new OrderReadyToDelivery
                {
                    UserEmail   = user.UserName,
                    OrderNumber = shipment.OrderNumber
                });
            }
            else
            {
                shipment.WasCancelled     = false;
                shipment.Status           = ShipmentOrderStatus.ErrorShipment;
                shipment.ErrorDescription = response.ErrorDescription;
                // здесь нужна логика по возврату заказа пользователю
            }
            _warehouseContext.Shipments.Update(shipment);
            await _warehouseContext.SaveChangesAsync();
        }