public function createCampaign(Campaign $campaign) { $command = $this->getCommand('CreateCampaign', array('campaign' => array('name' => $campaign->getName(), 'subject' => $campaign->getSubject(), 'fromMail' => $campaign->getFromMail(), 'fromName' => $campaign->getFromName(), 'replyMail' => $campaign->getReplyMail(), 'body' => $campaign->getBody(), 'mailingLists' => array_filter($campaign->getMailingLists(), function ($mailingList) { return $mailingList->getId(); })))); $savedCampaign = $this->execute($command); $campaign->setId($savedCampaign->getId()); return $campaign; }