getParsedBody(); if (empty($data->campaignId)) { throw new BadRequest(); } if (empty($data->link)) { throw new BadRequest(); } if (!$this->getAcl()->checkScope('Campaign', 'read')) { throw new Forbidden(); } return (object) [ 'id' => $this->getCampaignService()->generateMailMergePdf($data->campaignId, $data->link, true) ]; } private function getCampaignService(): Service { /** @var Service */ return $this->getRecordService(); } }