'string', 'description' => 'string', 'events' => 'string[]', 'type' => 'string', 'domain' => 'string']; /** * Array of property to format mappings. Used for (de)serialization * * @var string[] */ protected static $swaggerFormats = ['url' => 'url', 'description' => null, 'events' => null, 'type' => null, 'domain' => 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 = ['url' => 'url', 'description' => 'description', 'events' => 'events', 'type' => 'type', 'domain' => 'domain']; /** * Array of attributes to setter functions (for deserialization of responses) * * @var string[] */ protected static $setters = ['url' => 'setUrl', 'description' => 'setDescription', 'events' => 'setEvents', 'type' => 'setType', 'domain' => 'setDomain']; /** * Array of attributes to getter functions (for serialization of requests) * * @var string[] */ protected static $getters = ['url' => 'getUrl', 'description' => 'getDescription', 'events' => 'getEvents', 'type' => 'getType', 'domain' => 'getDomain']; /** * 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 EVENTS_SENT = 'sent'; const EVENTS_HARD_BOUNCE = 'hardBounce'; const EVENTS_SOFT_BOUNCE = 'softBounce'; const EVENTS_BLOCKED = 'blocked'; const EVENTS_SPAM = 'spam'; const EVENTS_DELIVERED = 'delivered'; const EVENTS_REQUEST = 'request'; const EVENTS_CLICK = 'click'; const EVENTS_INVALID = 'invalid'; const EVENTS_DEFERRED = 'deferred'; const EVENTS_OPENED = 'opened'; const EVENTS_UNIQUE_OPENED = 'uniqueOpened'; const EVENTS_UNSUBSCRIBED = 'unsubscribed'; const EVENTS_LIST_ADDITION = 'listAddition'; const EVENTS_CONTACT_UPDATED = 'contactUpdated'; const EVENTS_CONTACT_DELETED = 'contactDeleted'; const EVENTS_INBOUND_EMAIL_PROCESSED = 'inboundEmailProcessed'; const TYPE_TRANSACTIONAL = 'transactional'; const TYPE_MARKETING = 'marketing'; const TYPE_INBOUND = 'inbound'; /** * Gets allowable values of the enum * * @return string[] */ public function getEventsAllowableValues() { return [self::EVENTS_SENT, self::EVENTS_HARD_BOUNCE, self::EVENTS_SOFT_BOUNCE, self::EVENTS_BLOCKED, self::EVENTS_SPAM, self::EVENTS_DELIVERED, self::EVENTS_REQUEST, self::EVENTS_CLICK, self::EVENTS_INVALID, self::EVENTS_DEFERRED, self::EVENTS_OPENED, self::EVENTS_UNIQUE_OPENED, self::EVENTS_UNSUBSCRIBED, self::EVENTS_LIST_ADDITION, self::EVENTS_CONTACT_UPDATED, self::EVENTS_CONTACT_DELETED, self::EVENTS_INBOUND_EMAIL_PROCESSED]; } /** * Gets allowable values of the enum * * @return string[] */ public function getTypeAllowableValues() { return [self::TYPE_TRANSACTIONAL, self::TYPE_MARKETING, self::TYPE_INBOUND]; } /** * 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['url'] = isset($data['url']) ? $data['url'] : null; $this->container['description'] = isset($data['description']) ? $data['description'] : null; $this->container['events'] = isset($data['events']) ? $data['events'] : null; $this->container['type'] = isset($data['type']) ? $data['type'] : 'transactional'; $this->container['domain'] = isset($data['domain']) ? $data['domain'] : null; } /** * Show all the invalid properties with reasons. * * @return array invalid properties with reasons */ public function listInvalidProperties() { $invalidProperties = []; if ($this->container['url'] === null) { $invalidProperties[] = "'url' can't be null"; } if ($this->container['events'] === null) { $invalidProperties[] = "'events' can't be null"; } $allowedValues = $this->getTypeAllowableValues(); if (!\is_null($this->container['type']) && !\in_array($this->container['type'], $allowedValues, \true)) { $invalidProperties[] = \sprintf("invalid value for 'type', 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 url * * @return string */ public function getUrl() { return $this->container['url']; } /** * Sets url * * @param string $url URL of the webhook * * @return $this */ public function setUrl($url) { $this->container['url'] = $url; return $this; } /** * Gets description * * @return string */ public function getDescription() { return $this->container['description']; } /** * Sets description * * @param string $description Description of the webhook * * @return $this */ public function setDescription($description) { $this->container['description'] = $description; return $this; } /** * Gets events * * @return string[] */ public function getEvents() { return $this->container['events']; } /** * Sets events * * @param string[] $events - Events triggering the webhook. Possible values for **Transactional** type webhook: #### `sent` OR `request`, `delivered`, `hardBounce`, `softBounce`, `blocked`, `spam`, `invalid`, `deferred`, `click`, `opened`, `uniqueOpened` and `unsubscribed` - Possible values for **Marketing** type webhook: #### `spam`, `opened`, `click`, `hardBounce`, `softBounce`, `unsubscribed`, `listAddition` & `delivered` - Possible values for **Inbound** type webhook: #### `inboundEmailProcessed` * * @return $this */ public function setEvents($events) { $allowedValues = $this->getEventsAllowableValues(); if (\array_diff($events, $allowedValues)) { throw new \InvalidArgumentException(\sprintf("Invalid value for 'events', must be one of '%s'", \implode("', '", $allowedValues))); } $this->container['events'] = $events; return $this; } /** * Gets type * * @return string */ public function getType() { return $this->container['type']; } /** * Sets type * * @param string $type Type of the webhook * * @return $this */ public function setType($type) { $allowedValues = $this->getTypeAllowableValues(); if (!\is_null($type) && !\in_array($type, $allowedValues, \true)) { throw new \InvalidArgumentException(\sprintf("Invalid value for 'type', must be one of '%s'", \implode("', '", $allowedValues))); } $this->container['type'] = $type; return $this; } /** * Gets domain * * @return string */ public function getDomain() { return $this->container['domain']; } /** * Sets domain * * @param string $domain Inbound domain of webhook, required in case of event type `inbound` * * @return $this */ public function setDomain($domain) { $this->container['domain'] = $domain; 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(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($this), \JSON_PRETTY_PRINT); } return \json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($this)); } }