/** * @param Campaign $campaign * @param Mailgun $mg * @param string $domain * @param $campaignRepository * @return string */ private function setRemoteCampaignId(Campaign $campaign, MailGun $mg, $domain, CampaignRepository $campaignRepository) { $params['name'] = $campaign->campaignName(); $result = $mg->post($domain . '/campaigns', $params); $campaign->setRemoteCampaignId($result->http_response_body->campaign->id); $campaignRepository->save($campaign); return $campaign; }