'string', 'language' => 'string', 'category' => 'string', 'mediaUrl' => 'string', 'bodyText' => 'string', 'headerText' => 'string', 'source' => 'string' ]; /** * Array of property to format mappings. Used for (de)serialization * * @var string[] */ protected static $swaggerFormats = [ 'name' => null, 'language' => null, 'category' => null, 'mediaUrl' => null, 'bodyText' => null, 'headerText' => null, 'source' => null ]; /** * Array of property to type mappings. Used for (de)serialization * * @return array */ public static function swaggerTypes() { return self::$swaggerTypes; } /** * Array of property to format mappings. Used for (de)serialization * * @return array */ public static function swaggerFormats() { return self::$swaggerFormats; } /** * Array of attributes where the key is the local name, * and the value is the original name * * @var string[] */ protected static $attributeMap = [ 'name' => 'name', 'language' => 'language', 'category' => 'category', 'mediaUrl' => 'mediaUrl', 'bodyText' => 'bodyText', 'headerText' => 'headerText', 'source' => 'source' ]; /** * Array of attributes to setter functions (for deserialization of responses) * * @var string[] */ protected static $setters = [ 'name' => 'setName', 'language' => 'setLanguage', 'category' => 'setCategory', 'mediaUrl' => 'setMediaUrl', 'bodyText' => 'setBodyText', 'headerText' => 'setHeaderText', 'source' => 'setSource' ]; /** * Array of attributes to getter functions (for serialization of requests) * * @var string[] */ protected static $getters = [ 'name' => 'getName', 'language' => 'getLanguage', 'category' => 'getCategory', 'mediaUrl' => 'getMediaUrl', 'bodyText' => 'getBodyText', 'headerText' => 'getHeaderText', 'source' => 'getSource' ]; /** * Array of attributes where the key is the local name, * and the value is the original name * * @return array */ public static function attributeMap() { return self::$attributeMap; } /** * Array of attributes to setter functions (for deserialization of responses) * * @return array */ public static function setters() { return self::$setters; } /** * Array of attributes to getter functions (for serialization of requests) * * @return array */ public static function getters() { return self::$getters; } /** * The original name of the model. * * @return string */ public function getModelName() { return self::$swaggerModelName; } const CATEGORY_MARKETING = 'MARKETING'; const CATEGORY_UTILITY = 'UTILITY'; const SOURCE_AUTOMATION = 'Automation'; const SOURCE_CONVERSATIONS = 'Conversations'; /** * Gets allowable values of the enum * * @return string[] */ public function getCategoryAllowableValues() { return [ self::CATEGORY_MARKETING, self::CATEGORY_UTILITY, ]; } /** * Gets allowable values of the enum * * @return string[] */ public function getSourceAllowableValues() { return [ self::SOURCE_AUTOMATION, self::SOURCE_CONVERSATIONS, ]; } /** * Associative array for storing property values * * @var mixed[] */ protected $container = []; /** * Constructor * * @param mixed[] $data Associated array of property values * initializing the model */ public function __construct(array $data = null) { $this->container['name'] = isset($data['name']) ? $data['name'] : null; $this->container['language'] = isset($data['language']) ? $data['language'] : null; $this->container['category'] = isset($data['category']) ? $data['category'] : null; $this->container['mediaUrl'] = isset($data['mediaUrl']) ? $data['mediaUrl'] : null; $this->container['bodyText'] = isset($data['bodyText']) ? $data['bodyText'] : null; $this->container['headerText'] = isset($data['headerText']) ? $data['headerText'] : null; $this->container['source'] = isset($data['source']) ? $data['source'] : null; } /** * Show all the invalid properties with reasons. * * @return array invalid properties with reasons */ public function listInvalidProperties() { $invalidProperties = []; if ($this->container['name'] === null) { $invalidProperties[] = "'name' can't be null"; } if ($this->container['language'] === null) { $invalidProperties[] = "'language' can't be null"; } if ($this->container['category'] === null) { $invalidProperties[] = "'category' can't be null"; } $allowedValues = $this->getCategoryAllowableValues(); if (!is_null($this->container['category']) && !in_array($this->container['category'], $allowedValues, true)) { $invalidProperties[] = sprintf( "invalid value for 'category', must be one of '%s'", implode("', '", $allowedValues) ); } if ($this->container['bodyText'] === null) { $invalidProperties[] = "'bodyText' can't be null"; } $allowedValues = $this->getSourceAllowableValues(); if (!is_null($this->container['source']) && !in_array($this->container['source'], $allowedValues, true)) { $invalidProperties[] = sprintf( "invalid value for 'source', must be one of '%s'", implode("', '", $allowedValues) ); } return $invalidProperties; } /** * Validate all the properties in the model * return true if all passed * * @return bool True if all properties are valid */ public function valid() { return count($this->listInvalidProperties()) === 0; } /** * Gets name * * @return string */ public function getName() { return $this->container['name']; } /** * Sets name * * @param string $name Name of the template * * @return $this */ public function setName($name) { $this->container['name'] = $name; return $this; } /** * Gets language * * @return string */ public function getLanguage() { return $this->container['language']; } /** * Sets language * * @param string $language Language of the template. For Example : **en** for English * * @return $this */ public function setLanguage($language) { $this->container['language'] = $language; return $this; } /** * Gets category * * @return string */ public function getCategory() { return $this->container['category']; } /** * Sets category * * @param string $category Category of the template * * @return $this */ public function setCategory($category) { $allowedValues = $this->getCategoryAllowableValues(); if (!in_array($category, $allowedValues, true)) { throw new \InvalidArgumentException( sprintf( "Invalid value for 'category', must be one of '%s'", implode("', '", $allowedValues) ) ); } $this->container['category'] = $category; return $this; } /** * Gets mediaUrl * * @return string */ public function getMediaUrl() { return $this->container['mediaUrl']; } /** * Sets mediaUrl * * @param string $mediaUrl Absolute url of the media file **(no local file)** for the header. **Use this field in you want to add media in Template header and headerText is empty.** Allowed extensions for media files are: #### jpeg | png | mp4 | pdf * * @return $this */ public function setMediaUrl($mediaUrl) { $this->container['mediaUrl'] = $mediaUrl; return $this; } /** * Gets bodyText * * @return string */ public function getBodyText() { return $this->container['bodyText']; } /** * Sets bodyText * * @param string $bodyText Body of the template. **Maximum allowed characters are 1024** * * @return $this */ public function setBodyText($bodyText) { $this->container['bodyText'] = $bodyText; return $this; } /** * Gets headerText * * @return string */ public function getHeaderText() { return $this->container['headerText']; } /** * Sets headerText * * @param string $headerText Text content of the header in the template. **Maximum allowed characters are 45** **Use this field to add text content in template header and if mediaUrl is empty** * * @return $this */ public function setHeaderText($headerText) { $this->container['headerText'] = $headerText; return $this; } /** * Gets source * * @return string */ public function getSource() { return $this->container['source']; } /** * Sets source * * @param string $source source of the template * * @return $this */ public function setSource($source) { $allowedValues = $this->getSourceAllowableValues(); if (!is_null($source) && !in_array($source, $allowedValues, true)) { throw new \InvalidArgumentException( sprintf( "Invalid value for 'source', must be one of '%s'", implode("', '", $allowedValues) ) ); } $this->container['source'] = $source; return $this; } /** * Returns true if offset exists. False otherwise. * * @param integer $offset Offset * * @return boolean */ #[\ReturnTypeWillChange] public function offsetExists($offset) { return isset($this->container[$offset]); } /** * Gets offset. * * @param integer $offset Offset * * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { return isset($this->container[$offset]) ? $this->container[$offset] : null; } /** * Sets value based on offset. * * @param integer $offset Offset * @param mixed $value Value to be set * * @return void */ #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { if (is_null($offset)) { $this->container[] = $value; } else { $this->container[$offset] = $value; } } /** * Unsets offset. * * @param integer $offset Offset * * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($offset) { unset($this->container[$offset]); } /** * Gets the string presentation of the object * * @return string */ public function __toString() { if (defined('JSON_PRETTY_PRINT')) { // use JSON pretty print return json_encode( ObjectSerializer::sanitizeForSerialization($this), JSON_PRETTY_PRINT ); } return json_encode(ObjectSerializer::sanitizeForSerialization($this)); } }