/** * Update a specific schedule for a campaign * @param string $accessToken - Constant Contact OAuth2 access token * @param int $campaignId - Campaign id to be scheduled * @param Schedule $schedule - Schedule to retrieve * @return Schedule */ public function updateSchedule($accessToken, $campaignId, Schedule $schedule) { $baseUrl = Config::get('endpoints.base_url') . sprintf(Config::get('endpoints.campaign_schedule'), $campaignId, $schedule->id); $url = $this->buildUrl($baseUrl); $response = parent::getRestClient()->put($url, parent::getHeaders($accessToken), $schedule->toJson()); return Schedule::create(json_decode($response->body, true)); }
public function testUpdateSchedule() { $response = self::$client->put('/'); $updatedSchedule = Schedule::create($response->json()); $this->assertInstanceOf('Ctct\\Components\\EmailMarketing\\Schedule', $updatedSchedule); $this->assertEquals(1, $updatedSchedule->id); $this->assertEquals("2012-12-16T11:07:43.626Z", $updatedSchedule->scheduled_date); }
/** * Update a specific schedule for a campaign * @param string $accessToken - Constant Contact OAuth2 access token * @param int $campaignId - Campaign id to be scheduled * @param Schedule $schedule - Schedule to retrieve * @return Schedule * @throws CtctException */ public function updateSchedule($accessToken, $campaignId, Schedule $schedule) { $baseUrl = Config::get('endpoints.base_url') . sprintf(Config::get('endpoints.campaign_schedule'), $campaignId, $schedule->id); $request = parent::createBaseRequest($accessToken, 'PUT', $baseUrl); $stream = Stream::factory(json_encode($schedule)); $request->setBody($stream); try { $response = parent::getClient()->send($request); } catch (ClientException $e) { throw parent::convertException($e); } return Schedule::create($response->json()); }