<?php
// Generated file. Do not edit by hand. Use update.php in project root.
namespace PHPFUI\ConstantContact\V3\Emails;
class Activities extends \PHPFUI\ConstantContact\Base
{
public function __construct(\PHPFUI\ConstantContact\Client $client)
{
parent::__construct($client, '/v3/emails/activities/{campaign_activity_id}');
}
/**
* GET a Single Email Campaign Activity
*
* Use this method to return a specific email campaign activity. Each email
* campaign activity contains the email content, metadata, and styling
* information of an email. Email campaign activities can also contain
* either contact lists or segments. Constant Contact uses this information
* to determine who to send the email campaign activity to when you schedule
* it. You cannot get email campaign activities that have a `REMOVED` status.
*
*
*
* @param string $campaign_activity_id The unique ID for an email campaign activity.
* @param string $include Use the `include` query parameter to enter a comma separated list of additional email campaign activity properties for the V3 API to return. Valid values are `physical_address_in_footer`, `permalink_url`, `html_content`, and `document_properties`.
*/
public function get(string $campaign_activity_id, ?string $include = null) : ?array
{
if (null !== $include)
{
$parts = \explode(',', $include);
$validValues = ['physical_address_in_footer', 'permalink_url', 'html_content', 'document_properties'];
foreach ($parts as $part)
{
if (! \in_array(\trim($part), $validValues))
{
throw new \PHPFUI\ConstantContact\Exception\InvalidValue("Parameter include containing value '{$part}' is not one of (" . \implode(', ', $validValues) . ') in ' . __METHOD__);
}
}
}
return $this->doGet(['campaign_activity_id' => $campaign_activity_id, 'include' => $include, ]);
}
public function getTyped(string $campaign_activity_id, ?string $include = null) : ?\PHPFUI\ConstantContact\Definition\EmailCampaignActivity
{
$data = $this->get($campaign_activity_id, $include);
return $data ? new \PHPFUI\ConstantContact\Definition\EmailCampaignActivity($data) : null;
}
/**
* PUT (Update) An Email Campaign Activity
*
* Use this method to update an email campaign activity by including the
* complete email campaign activity with your changes in the request body.
* The request body requires the `from_name`, `from_email`, `reply_to_email`,
* and `subject` properties.
*
* You can only update email campaign activities that have the `primary_email`
* role and that are in `DRAFT` or `Done` status.
* When you use a PUT method to update a resource, the V3 API overwrites
* any properties that are missing in the request body. However, the V3
* API does not overwrite subresources that you omit in the request body
* or missing properties in subresources. This method considers `physical_address_in_footer`,
* `document_properties`, `html_content`, and `permalink_url` subresources
* of the email campaign activity.
*
*
* @param string $campaign_activity_id The unique ID for the email campaign activity you are updating.
* @param \PHPFUI\ConstantContact\Definition\EmailCampaignActivity $body A request body payload that contains the complete email campaign activity with your changes.
*/
public function put(string $campaign_activity_id, \PHPFUI\ConstantContact\Definition\EmailCampaignActivity $body) : ?array
{
return $this->doPut(['campaign_activity_id' => $campaign_activity_id, 'body' => $body->getData(), ]);
}
public function putTyped(string $campaign_activity_id, \PHPFUI\ConstantContact\Definition\EmailCampaignActivity $body) : ?\PHPFUI\ConstantContact\Definition\EmailCampaignActivity
{
$data = $this->put($campaign_activity_id, $body);
return $data ? new \PHPFUI\ConstantContact\Definition\EmailCampaignActivity($data) : null;
}
}