File "MessageOptions.php"
Full Path: /home/clickysoft/public_html/jmapi5.clickysoft.net/vendor/twilio/sdk/src/Twilio/Rest/Api/V2010/Account/MessageOptions.php
File size: 44.88 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* This code was generated by
* ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
* | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
* | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
*
* Twilio - Api
* This is the public Twilio REST API.
*
* NOTE: This class is auto generated by OpenAPI Generator.
* https://openapi-generator.tech
* Do not edit the class manually.
*/
namespace Twilio\Rest\Api\V2010\Account;
use Twilio\Options;
use Twilio\Values;
abstract class MessageOptions
{
/**
* @param string $from The sender's Twilio phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), [Wireless SIM](https://www.twilio.com/docs/iot/wireless/programmable-wireless-send-machine-machine-sms-commands), [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), or [channel address](https://www.twilio.com/docs/messaging/channels) (e.g., `whatsapp:+15554449999`). The value of the `from` parameter must be a sender that is hosted within Twilio and belongs to the Account creating the Message. If you are using `messaging_service_sid`, this parameter can be empty (Twilio assigns a `from` value from the Messaging Service's Sender Pool) or you can provide a specific sender from your Sender Pool.
* @param string $messagingServiceSid The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services) you want to associate with the Message. When this parameter is provided and the `from` parameter is omitted, Twilio selects the optimal sender from the Messaging Service's Sender Pool. You may also provide a `from` parameter if you want to use a specific Sender from the Sender Pool.
* @param string $body The text content of the outgoing message. Can be up to 1,600 characters in length. SMS only: If the `body` contains more than 160 [GSM-7](https://www.twilio.com/docs/glossary/what-is-gsm-7-character-encoding) characters (or 70 [UCS-2](https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding) characters), the message is segmented and charged accordingly. For long `body` text, consider using the [send_as_mms parameter](https://www.twilio.com/blog/mms-for-long-text-messages).
* @param string[] $mediaUrl The URL of media to include in the Message content. `jpeg`, `jpg`, `gif`, and `png` file types are fully supported by Twilio and content is formatted for delivery on destination devices. The media size limit is 5 MB for supported file types (`jpeg`, `jpg`, `png`, `gif`) and 500 KB for [other types](https://www.twilio.com/docs/messaging/guides/accepted-mime-types) of accepted media. To send more than one image in the message, provide multiple `media_url` parameters in the POST request. You can include up to ten `media_url` parameters per message. [International](https://support.twilio.com/hc/en-us/articles/223179808-Sending-and-receiving-MMS-messages) and [carrier](https://support.twilio.com/hc/en-us/articles/223133707-Is-MMS-supported-for-all-carriers-in-US-and-Canada-) limits apply.
* @param string $contentSid For [Content Editor/API](https://www.twilio.com/docs/content) only: The SID of the Content Template to be used with the Message, e.g., `HXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`. If this parameter is not provided, a Content Template is not used. Find the SID in the Console on the Content Editor page. For Content API users, the SID is found in Twilio's response when [creating the Template](https://www.twilio.com/docs/content/content-api-resources#create-templates) or by [fetching your Templates](https://www.twilio.com/docs/content/content-api-resources#fetch-all-content-resources).
* @param string $statusCallback The URL of the endpoint to which Twilio sends [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url). URL must contain a valid hostname and underscores are not allowed. If you include this parameter with the `messaging_service_sid`, Twilio uses this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource).
* @param string $applicationSid The SID of the associated [TwiML Application](https://www.twilio.com/docs/usage/api/applications). [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url) are sent to the TwiML App's `message_status_callback` URL. Note that the `status_callback` parameter of a request takes priority over the `application_sid` parameter; if both are included `application_sid` is ignored.
* @param string $maxPrice [DEPRECATED] This parameter will no longer have any effect as of 2024-06-03.
* @param bool $provideFeedback Boolean indicating whether or not you intend to provide delivery confirmation feedback to Twilio (used in conjunction with the [Message Feedback subresource](https://www.twilio.com/docs/sms/api/message-feedback-resource)). Default value is `false`.
* @param int $attempt Total number of attempts made (including this request) to send the message regardless of the provider used
* @param int $validityPeriod The maximum length in seconds that the Message can remain in Twilio's outgoing message queue. If a queued Message exceeds the `validity_period`, the Message is not sent. Accepted values are integers from `1` to `14400`. Default value is `14400`. A `validity_period` greater than `5` is recommended. [Learn more about the validity period](https://www.twilio.com/blog/take-more-control-of-outbound-messages-using-validity-period-html)
* @param bool $forceDelivery Reserved
* @param string $contentRetention
* @param string $addressRetention
* @param bool $smartEncoded Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`.
* @param string[] $persistentAction Rich actions for non-SMS/MMS channels. Used for [sending location in WhatsApp messages](https://www.twilio.com/docs/whatsapp/message-features#location-messages-with-whatsapp).
* @param bool $shortenUrls For Messaging Services with [Link Shortening configured](https://www.twilio.com/docs/messaging/features/link-shortening) only: A Boolean indicating whether or not Twilio should shorten links in the `body` of the Message. Default value is `false`. If `true`, the `messaging_service_sid` parameter must also be provided.
* @param string $scheduleType
* @param \DateTime $sendAt The time that Twilio will send the message. Must be in ISO 8601 format.
* @param bool $sendAsMms If set to `true`, Twilio delivers the message as a single MMS message, regardless of the presence of media.
* @param string $contentVariables For [Content Editor/API](https://www.twilio.com/docs/content) only: Key-value pairs of [Template variables](https://www.twilio.com/docs/content/using-variables-with-content-api) and their substitution values. `content_sid` parameter must also be provided. If values are not defined in the `content_variables` parameter, the [Template's default placeholder values](https://www.twilio.com/docs/content/content-api-resources#create-templates) are used.
* @param string $riskCheck
* @return CreateMessageOptions Options builder
*/
public static function create(
string $from = Values::NONE,
string $messagingServiceSid = Values::NONE,
string $body = Values::NONE,
array $mediaUrl = Values::ARRAY_NONE,
string $contentSid = Values::NONE,
string $statusCallback = Values::NONE,
string $applicationSid = Values::NONE,
string $maxPrice = Values::NONE,
bool $provideFeedback = Values::BOOL_NONE,
int $attempt = Values::INT_NONE,
int $validityPeriod = Values::INT_NONE,
bool $forceDelivery = Values::BOOL_NONE,
string $contentRetention = Values::NONE,
string $addressRetention = Values::NONE,
bool $smartEncoded = Values::BOOL_NONE,
array $persistentAction = Values::ARRAY_NONE,
bool $shortenUrls = Values::BOOL_NONE,
string $scheduleType = Values::NONE,
\DateTime $sendAt = null,
bool $sendAsMms = Values::BOOL_NONE,
string $contentVariables = Values::NONE,
string $riskCheck = Values::NONE
): CreateMessageOptions
{
return new CreateMessageOptions(
$from,
$messagingServiceSid,
$body,
$mediaUrl,
$contentSid,
$statusCallback,
$applicationSid,
$maxPrice,
$provideFeedback,
$attempt,
$validityPeriod,
$forceDelivery,
$contentRetention,
$addressRetention,
$smartEncoded,
$persistentAction,
$shortenUrls,
$scheduleType,
$sendAt,
$sendAsMms,
$contentVariables,
$riskCheck
);
}
/**
* @param string $to Filter by recipient. For example: Set this `to` parameter to `+15558881111` to retrieve a list of Message resources with `to` properties of `+15558881111`
* @param string $from Filter by sender. For example: Set this `from` parameter to `+15552229999` to retrieve a list of Message resources with `from` properties of `+15552229999`
* @param string $dateSentBefore Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
* @param string $dateSent Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
* @param string $dateSentAfter Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
* @return ReadMessageOptions Options builder
*/
public static function read(
string $to = Values::NONE,
string $from = Values::NONE,
string $dateSentBefore = null,
string $dateSent = null,
string $dateSentAfter = null
): ReadMessageOptions
{
return new ReadMessageOptions(
$to,
$from,
$dateSentBefore,
$dateSent,
$dateSentAfter
);
}
/**
* @param string $body The new `body` of the Message resource. To redact the text content of a Message, this parameter's value must be an empty string
* @param string $status
* @return UpdateMessageOptions Options builder
*/
public static function update(
string $body = Values::NONE,
string $status = Values::NONE
): UpdateMessageOptions
{
return new UpdateMessageOptions(
$body,
$status
);
}
}
class CreateMessageOptions extends Options
{
/**
* @param string $from The sender's Twilio phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), [Wireless SIM](https://www.twilio.com/docs/iot/wireless/programmable-wireless-send-machine-machine-sms-commands), [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), or [channel address](https://www.twilio.com/docs/messaging/channels) (e.g., `whatsapp:+15554449999`). The value of the `from` parameter must be a sender that is hosted within Twilio and belongs to the Account creating the Message. If you are using `messaging_service_sid`, this parameter can be empty (Twilio assigns a `from` value from the Messaging Service's Sender Pool) or you can provide a specific sender from your Sender Pool.
* @param string $messagingServiceSid The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services) you want to associate with the Message. When this parameter is provided and the `from` parameter is omitted, Twilio selects the optimal sender from the Messaging Service's Sender Pool. You may also provide a `from` parameter if you want to use a specific Sender from the Sender Pool.
* @param string $body The text content of the outgoing message. Can be up to 1,600 characters in length. SMS only: If the `body` contains more than 160 [GSM-7](https://www.twilio.com/docs/glossary/what-is-gsm-7-character-encoding) characters (or 70 [UCS-2](https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding) characters), the message is segmented and charged accordingly. For long `body` text, consider using the [send_as_mms parameter](https://www.twilio.com/blog/mms-for-long-text-messages).
* @param string[] $mediaUrl The URL of media to include in the Message content. `jpeg`, `jpg`, `gif`, and `png` file types are fully supported by Twilio and content is formatted for delivery on destination devices. The media size limit is 5 MB for supported file types (`jpeg`, `jpg`, `png`, `gif`) and 500 KB for [other types](https://www.twilio.com/docs/messaging/guides/accepted-mime-types) of accepted media. To send more than one image in the message, provide multiple `media_url` parameters in the POST request. You can include up to ten `media_url` parameters per message. [International](https://support.twilio.com/hc/en-us/articles/223179808-Sending-and-receiving-MMS-messages) and [carrier](https://support.twilio.com/hc/en-us/articles/223133707-Is-MMS-supported-for-all-carriers-in-US-and-Canada-) limits apply.
* @param string $contentSid For [Content Editor/API](https://www.twilio.com/docs/content) only: The SID of the Content Template to be used with the Message, e.g., `HXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`. If this parameter is not provided, a Content Template is not used. Find the SID in the Console on the Content Editor page. For Content API users, the SID is found in Twilio's response when [creating the Template](https://www.twilio.com/docs/content/content-api-resources#create-templates) or by [fetching your Templates](https://www.twilio.com/docs/content/content-api-resources#fetch-all-content-resources).
* @param string $statusCallback The URL of the endpoint to which Twilio sends [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url). URL must contain a valid hostname and underscores are not allowed. If you include this parameter with the `messaging_service_sid`, Twilio uses this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource).
* @param string $applicationSid The SID of the associated [TwiML Application](https://www.twilio.com/docs/usage/api/applications). [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url) are sent to the TwiML App's `message_status_callback` URL. Note that the `status_callback` parameter of a request takes priority over the `application_sid` parameter; if both are included `application_sid` is ignored.
* @param string $maxPrice [DEPRECATED] This parameter will no longer have any effect as of 2024-06-03.
* @param bool $provideFeedback Boolean indicating whether or not you intend to provide delivery confirmation feedback to Twilio (used in conjunction with the [Message Feedback subresource](https://www.twilio.com/docs/sms/api/message-feedback-resource)). Default value is `false`.
* @param int $attempt Total number of attempts made (including this request) to send the message regardless of the provider used
* @param int $validityPeriod The maximum length in seconds that the Message can remain in Twilio's outgoing message queue. If a queued Message exceeds the `validity_period`, the Message is not sent. Accepted values are integers from `1` to `14400`. Default value is `14400`. A `validity_period` greater than `5` is recommended. [Learn more about the validity period](https://www.twilio.com/blog/take-more-control-of-outbound-messages-using-validity-period-html)
* @param bool $forceDelivery Reserved
* @param string $contentRetention
* @param string $addressRetention
* @param bool $smartEncoded Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`.
* @param string[] $persistentAction Rich actions for non-SMS/MMS channels. Used for [sending location in WhatsApp messages](https://www.twilio.com/docs/whatsapp/message-features#location-messages-with-whatsapp).
* @param bool $shortenUrls For Messaging Services with [Link Shortening configured](https://www.twilio.com/docs/messaging/features/link-shortening) only: A Boolean indicating whether or not Twilio should shorten links in the `body` of the Message. Default value is `false`. If `true`, the `messaging_service_sid` parameter must also be provided.
* @param string $scheduleType
* @param \DateTime $sendAt The time that Twilio will send the message. Must be in ISO 8601 format.
* @param bool $sendAsMms If set to `true`, Twilio delivers the message as a single MMS message, regardless of the presence of media.
* @param string $contentVariables For [Content Editor/API](https://www.twilio.com/docs/content) only: Key-value pairs of [Template variables](https://www.twilio.com/docs/content/using-variables-with-content-api) and their substitution values. `content_sid` parameter must also be provided. If values are not defined in the `content_variables` parameter, the [Template's default placeholder values](https://www.twilio.com/docs/content/content-api-resources#create-templates) are used.
* @param string $riskCheck
*/
public function __construct(
string $from = Values::NONE,
string $messagingServiceSid = Values::NONE,
string $body = Values::NONE,
array $mediaUrl = Values::ARRAY_NONE,
string $contentSid = Values::NONE,
string $statusCallback = Values::NONE,
string $applicationSid = Values::NONE,
string $maxPrice = Values::NONE,
bool $provideFeedback = Values::BOOL_NONE,
int $attempt = Values::INT_NONE,
int $validityPeriod = Values::INT_NONE,
bool $forceDelivery = Values::BOOL_NONE,
string $contentRetention = Values::NONE,
string $addressRetention = Values::NONE,
bool $smartEncoded = Values::BOOL_NONE,
array $persistentAction = Values::ARRAY_NONE,
bool $shortenUrls = Values::BOOL_NONE,
string $scheduleType = Values::NONE,
\DateTime $sendAt = null,
bool $sendAsMms = Values::BOOL_NONE,
string $contentVariables = Values::NONE,
string $riskCheck = Values::NONE
) {
$this->options['from'] = $from;
$this->options['messagingServiceSid'] = $messagingServiceSid;
$this->options['body'] = $body;
$this->options['mediaUrl'] = $mediaUrl;
$this->options['contentSid'] = $contentSid;
$this->options['statusCallback'] = $statusCallback;
$this->options['applicationSid'] = $applicationSid;
$this->options['maxPrice'] = $maxPrice;
$this->options['provideFeedback'] = $provideFeedback;
$this->options['attempt'] = $attempt;
$this->options['validityPeriod'] = $validityPeriod;
$this->options['forceDelivery'] = $forceDelivery;
$this->options['contentRetention'] = $contentRetention;
$this->options['addressRetention'] = $addressRetention;
$this->options['smartEncoded'] = $smartEncoded;
$this->options['persistentAction'] = $persistentAction;
$this->options['shortenUrls'] = $shortenUrls;
$this->options['scheduleType'] = $scheduleType;
$this->options['sendAt'] = $sendAt;
$this->options['sendAsMms'] = $sendAsMms;
$this->options['contentVariables'] = $contentVariables;
$this->options['riskCheck'] = $riskCheck;
}
/**
* The sender's Twilio phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), [Wireless SIM](https://www.twilio.com/docs/iot/wireless/programmable-wireless-send-machine-machine-sms-commands), [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), or [channel address](https://www.twilio.com/docs/messaging/channels) (e.g., `whatsapp:+15554449999`). The value of the `from` parameter must be a sender that is hosted within Twilio and belongs to the Account creating the Message. If you are using `messaging_service_sid`, this parameter can be empty (Twilio assigns a `from` value from the Messaging Service's Sender Pool) or you can provide a specific sender from your Sender Pool.
*
* @param string $from The sender's Twilio phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), [Wireless SIM](https://www.twilio.com/docs/iot/wireless/programmable-wireless-send-machine-machine-sms-commands), [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), or [channel address](https://www.twilio.com/docs/messaging/channels) (e.g., `whatsapp:+15554449999`). The value of the `from` parameter must be a sender that is hosted within Twilio and belongs to the Account creating the Message. If you are using `messaging_service_sid`, this parameter can be empty (Twilio assigns a `from` value from the Messaging Service's Sender Pool) or you can provide a specific sender from your Sender Pool.
* @return $this Fluent Builder
*/
public function setFrom(string $from): self
{
$this->options['from'] = $from;
return $this;
}
/**
* The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services) you want to associate with the Message. When this parameter is provided and the `from` parameter is omitted, Twilio selects the optimal sender from the Messaging Service's Sender Pool. You may also provide a `from` parameter if you want to use a specific Sender from the Sender Pool.
*
* @param string $messagingServiceSid The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services) you want to associate with the Message. When this parameter is provided and the `from` parameter is omitted, Twilio selects the optimal sender from the Messaging Service's Sender Pool. You may also provide a `from` parameter if you want to use a specific Sender from the Sender Pool.
* @return $this Fluent Builder
*/
public function setMessagingServiceSid(string $messagingServiceSid): self
{
$this->options['messagingServiceSid'] = $messagingServiceSid;
return $this;
}
/**
* The text content of the outgoing message. Can be up to 1,600 characters in length. SMS only: If the `body` contains more than 160 [GSM-7](https://www.twilio.com/docs/glossary/what-is-gsm-7-character-encoding) characters (or 70 [UCS-2](https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding) characters), the message is segmented and charged accordingly. For long `body` text, consider using the [send_as_mms parameter](https://www.twilio.com/blog/mms-for-long-text-messages).
*
* @param string $body The text content of the outgoing message. Can be up to 1,600 characters in length. SMS only: If the `body` contains more than 160 [GSM-7](https://www.twilio.com/docs/glossary/what-is-gsm-7-character-encoding) characters (or 70 [UCS-2](https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding) characters), the message is segmented and charged accordingly. For long `body` text, consider using the [send_as_mms parameter](https://www.twilio.com/blog/mms-for-long-text-messages).
* @return $this Fluent Builder
*/
public function setBody(string $body): self
{
$this->options['body'] = $body;
return $this;
}
/**
* The URL of media to include in the Message content. `jpeg`, `jpg`, `gif`, and `png` file types are fully supported by Twilio and content is formatted for delivery on destination devices. The media size limit is 5 MB for supported file types (`jpeg`, `jpg`, `png`, `gif`) and 500 KB for [other types](https://www.twilio.com/docs/messaging/guides/accepted-mime-types) of accepted media. To send more than one image in the message, provide multiple `media_url` parameters in the POST request. You can include up to ten `media_url` parameters per message. [International](https://support.twilio.com/hc/en-us/articles/223179808-Sending-and-receiving-MMS-messages) and [carrier](https://support.twilio.com/hc/en-us/articles/223133707-Is-MMS-supported-for-all-carriers-in-US-and-Canada-) limits apply.
*
* @param string[] $mediaUrl The URL of media to include in the Message content. `jpeg`, `jpg`, `gif`, and `png` file types are fully supported by Twilio and content is formatted for delivery on destination devices. The media size limit is 5 MB for supported file types (`jpeg`, `jpg`, `png`, `gif`) and 500 KB for [other types](https://www.twilio.com/docs/messaging/guides/accepted-mime-types) of accepted media. To send more than one image in the message, provide multiple `media_url` parameters in the POST request. You can include up to ten `media_url` parameters per message. [International](https://support.twilio.com/hc/en-us/articles/223179808-Sending-and-receiving-MMS-messages) and [carrier](https://support.twilio.com/hc/en-us/articles/223133707-Is-MMS-supported-for-all-carriers-in-US-and-Canada-) limits apply.
* @return $this Fluent Builder
*/
public function setMediaUrl(array $mediaUrl): self
{
$this->options['mediaUrl'] = $mediaUrl;
return $this;
}
/**
* For [Content Editor/API](https://www.twilio.com/docs/content) only: The SID of the Content Template to be used with the Message, e.g., `HXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`. If this parameter is not provided, a Content Template is not used. Find the SID in the Console on the Content Editor page. For Content API users, the SID is found in Twilio's response when [creating the Template](https://www.twilio.com/docs/content/content-api-resources#create-templates) or by [fetching your Templates](https://www.twilio.com/docs/content/content-api-resources#fetch-all-content-resources).
*
* @param string $contentSid For [Content Editor/API](https://www.twilio.com/docs/content) only: The SID of the Content Template to be used with the Message, e.g., `HXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`. If this parameter is not provided, a Content Template is not used. Find the SID in the Console on the Content Editor page. For Content API users, the SID is found in Twilio's response when [creating the Template](https://www.twilio.com/docs/content/content-api-resources#create-templates) or by [fetching your Templates](https://www.twilio.com/docs/content/content-api-resources#fetch-all-content-resources).
* @return $this Fluent Builder
*/
public function setContentSid(string $contentSid): self
{
$this->options['contentSid'] = $contentSid;
return $this;
}
/**
* The URL of the endpoint to which Twilio sends [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url). URL must contain a valid hostname and underscores are not allowed. If you include this parameter with the `messaging_service_sid`, Twilio uses this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource).
*
* @param string $statusCallback The URL of the endpoint to which Twilio sends [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url). URL must contain a valid hostname and underscores are not allowed. If you include this parameter with the `messaging_service_sid`, Twilio uses this URL instead of the Status Callback URL of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource).
* @return $this Fluent Builder
*/
public function setStatusCallback(string $statusCallback): self
{
$this->options['statusCallback'] = $statusCallback;
return $this;
}
/**
* The SID of the associated [TwiML Application](https://www.twilio.com/docs/usage/api/applications). [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url) are sent to the TwiML App's `message_status_callback` URL. Note that the `status_callback` parameter of a request takes priority over the `application_sid` parameter; if both are included `application_sid` is ignored.
*
* @param string $applicationSid The SID of the associated [TwiML Application](https://www.twilio.com/docs/usage/api/applications). [Message status callback requests](https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-url) are sent to the TwiML App's `message_status_callback` URL. Note that the `status_callback` parameter of a request takes priority over the `application_sid` parameter; if both are included `application_sid` is ignored.
* @return $this Fluent Builder
*/
public function setApplicationSid(string $applicationSid): self
{
$this->options['applicationSid'] = $applicationSid;
return $this;
}
/**
* [DEPRECATED] This parameter will no longer have any effect as of 2024-06-03.
*
* @param string $maxPrice [DEPRECATED] This parameter will no longer have any effect as of 2024-06-03.
* @return $this Fluent Builder
*/
public function setMaxPrice(string $maxPrice): self
{
$this->options['maxPrice'] = $maxPrice;
return $this;
}
/**
* Boolean indicating whether or not you intend to provide delivery confirmation feedback to Twilio (used in conjunction with the [Message Feedback subresource](https://www.twilio.com/docs/sms/api/message-feedback-resource)). Default value is `false`.
*
* @param bool $provideFeedback Boolean indicating whether or not you intend to provide delivery confirmation feedback to Twilio (used in conjunction with the [Message Feedback subresource](https://www.twilio.com/docs/sms/api/message-feedback-resource)). Default value is `false`.
* @return $this Fluent Builder
*/
public function setProvideFeedback(bool $provideFeedback): self
{
$this->options['provideFeedback'] = $provideFeedback;
return $this;
}
/**
* Total number of attempts made (including this request) to send the message regardless of the provider used
*
* @param int $attempt Total number of attempts made (including this request) to send the message regardless of the provider used
* @return $this Fluent Builder
*/
public function setAttempt(int $attempt): self
{
$this->options['attempt'] = $attempt;
return $this;
}
/**
* The maximum length in seconds that the Message can remain in Twilio's outgoing message queue. If a queued Message exceeds the `validity_period`, the Message is not sent. Accepted values are integers from `1` to `14400`. Default value is `14400`. A `validity_period` greater than `5` is recommended. [Learn more about the validity period](https://www.twilio.com/blog/take-more-control-of-outbound-messages-using-validity-period-html)
*
* @param int $validityPeriod The maximum length in seconds that the Message can remain in Twilio's outgoing message queue. If a queued Message exceeds the `validity_period`, the Message is not sent. Accepted values are integers from `1` to `14400`. Default value is `14400`. A `validity_period` greater than `5` is recommended. [Learn more about the validity period](https://www.twilio.com/blog/take-more-control-of-outbound-messages-using-validity-period-html)
* @return $this Fluent Builder
*/
public function setValidityPeriod(int $validityPeriod): self
{
$this->options['validityPeriod'] = $validityPeriod;
return $this;
}
/**
* Reserved
*
* @param bool $forceDelivery Reserved
* @return $this Fluent Builder
*/
public function setForceDelivery(bool $forceDelivery): self
{
$this->options['forceDelivery'] = $forceDelivery;
return $this;
}
/**
* @param string $contentRetention
* @return $this Fluent Builder
*/
public function setContentRetention(string $contentRetention): self
{
$this->options['contentRetention'] = $contentRetention;
return $this;
}
/**
* @param string $addressRetention
* @return $this Fluent Builder
*/
public function setAddressRetention(string $addressRetention): self
{
$this->options['addressRetention'] = $addressRetention;
return $this;
}
/**
* Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`.
*
* @param bool $smartEncoded Whether to detect Unicode characters that have a similar GSM-7 character and replace them. Can be: `true` or `false`.
* @return $this Fluent Builder
*/
public function setSmartEncoded(bool $smartEncoded): self
{
$this->options['smartEncoded'] = $smartEncoded;
return $this;
}
/**
* Rich actions for non-SMS/MMS channels. Used for [sending location in WhatsApp messages](https://www.twilio.com/docs/whatsapp/message-features#location-messages-with-whatsapp).
*
* @param string[] $persistentAction Rich actions for non-SMS/MMS channels. Used for [sending location in WhatsApp messages](https://www.twilio.com/docs/whatsapp/message-features#location-messages-with-whatsapp).
* @return $this Fluent Builder
*/
public function setPersistentAction(array $persistentAction): self
{
$this->options['persistentAction'] = $persistentAction;
return $this;
}
/**
* For Messaging Services with [Link Shortening configured](https://www.twilio.com/docs/messaging/features/link-shortening) only: A Boolean indicating whether or not Twilio should shorten links in the `body` of the Message. Default value is `false`. If `true`, the `messaging_service_sid` parameter must also be provided.
*
* @param bool $shortenUrls For Messaging Services with [Link Shortening configured](https://www.twilio.com/docs/messaging/features/link-shortening) only: A Boolean indicating whether or not Twilio should shorten links in the `body` of the Message. Default value is `false`. If `true`, the `messaging_service_sid` parameter must also be provided.
* @return $this Fluent Builder
*/
public function setShortenUrls(bool $shortenUrls): self
{
$this->options['shortenUrls'] = $shortenUrls;
return $this;
}
/**
* @param string $scheduleType
* @return $this Fluent Builder
*/
public function setScheduleType(string $scheduleType): self
{
$this->options['scheduleType'] = $scheduleType;
return $this;
}
/**
* The time that Twilio will send the message. Must be in ISO 8601 format.
*
* @param \DateTime $sendAt The time that Twilio will send the message. Must be in ISO 8601 format.
* @return $this Fluent Builder
*/
public function setSendAt(\DateTime $sendAt): self
{
$this->options['sendAt'] = $sendAt;
return $this;
}
/**
* If set to `true`, Twilio delivers the message as a single MMS message, regardless of the presence of media.
*
* @param bool $sendAsMms If set to `true`, Twilio delivers the message as a single MMS message, regardless of the presence of media.
* @return $this Fluent Builder
*/
public function setSendAsMms(bool $sendAsMms): self
{
$this->options['sendAsMms'] = $sendAsMms;
return $this;
}
/**
* For [Content Editor/API](https://www.twilio.com/docs/content) only: Key-value pairs of [Template variables](https://www.twilio.com/docs/content/using-variables-with-content-api) and their substitution values. `content_sid` parameter must also be provided. If values are not defined in the `content_variables` parameter, the [Template's default placeholder values](https://www.twilio.com/docs/content/content-api-resources#create-templates) are used.
*
* @param string $contentVariables For [Content Editor/API](https://www.twilio.com/docs/content) only: Key-value pairs of [Template variables](https://www.twilio.com/docs/content/using-variables-with-content-api) and their substitution values. `content_sid` parameter must also be provided. If values are not defined in the `content_variables` parameter, the [Template's default placeholder values](https://www.twilio.com/docs/content/content-api-resources#create-templates) are used.
* @return $this Fluent Builder
*/
public function setContentVariables(string $contentVariables): self
{
$this->options['contentVariables'] = $contentVariables;
return $this;
}
/**
* @param string $riskCheck
* @return $this Fluent Builder
*/
public function setRiskCheck(string $riskCheck): self
{
$this->options['riskCheck'] = $riskCheck;
return $this;
}
/**
* Provide a friendly representation
*
* @return string Machine friendly representation
*/
public function __toString(): string
{
$options = \http_build_query(Values::of($this->options), '', ' ');
return '[Twilio.Api.V2010.CreateMessageOptions ' . $options . ']';
}
}
class ReadMessageOptions extends Options
{
/**
* @param string $to Filter by recipient. For example: Set this `to` parameter to `+15558881111` to retrieve a list of Message resources with `to` properties of `+15558881111`
* @param string $from Filter by sender. For example: Set this `from` parameter to `+15552229999` to retrieve a list of Message resources with `from` properties of `+15552229999`
* @param string $dateSentBefore Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
* @param string $dateSent Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
* @param string $dateSentAfter Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
*/
public function __construct(
string $to = Values::NONE,
string $from = Values::NONE,
string $dateSentBefore = null,
string $dateSent = null,
string $dateSentAfter = null
) {
$this->options['to'] = $to;
$this->options['from'] = $from;
$this->options['dateSentBefore'] = $dateSentBefore;
$this->options['dateSent'] = $dateSent;
$this->options['dateSentAfter'] = $dateSentAfter;
}
/**
* Filter by recipient. For example: Set this `to` parameter to `+15558881111` to retrieve a list of Message resources with `to` properties of `+15558881111`
*
* @param string $to Filter by recipient. For example: Set this `to` parameter to `+15558881111` to retrieve a list of Message resources with `to` properties of `+15558881111`
* @return $this Fluent Builder
*/
public function setTo(string $to): self
{
$this->options['to'] = $to;
return $this;
}
/**
* Filter by sender. For example: Set this `from` parameter to `+15552229999` to retrieve a list of Message resources with `from` properties of `+15552229999`
*
* @param string $from Filter by sender. For example: Set this `from` parameter to `+15552229999` to retrieve a list of Message resources with `from` properties of `+15552229999`
* @return $this Fluent Builder
*/
public function setFrom(string $from): self
{
$this->options['from'] = $from;
return $this;
}
/**
* Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
*
* @param string $dateSentBefore Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
* @return $this Fluent Builder
*/
public function setDateSentBefore(string $dateSentBefore): self
{
$this->options['dateSentBefore'] = $dateSentBefore;
return $this;
}
/**
* Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
*
* @param string $dateSent Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
* @return $this Fluent Builder
*/
public function setDateSent(string $dateSent): self
{
$this->options['dateSent'] = $dateSent;
return $this;
}
/**
* Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
*
* @param string $dateSentAfter Filter by Message `sent_date`. Accepts GMT dates in the following formats: `YYYY-MM-DD` (to find Messages with a specific `sent_date`), `<=YYYY-MM-DD` (to find Messages with `sent_date`s on and before a specific date), and `>=YYYY-MM-DD` (to find Messages with `sent_dates` on and after a specific date).
* @return $this Fluent Builder
*/
public function setDateSentAfter(string $dateSentAfter): self
{
$this->options['dateSentAfter'] = $dateSentAfter;
return $this;
}
/**
* Provide a friendly representation
*
* @return string Machine friendly representation
*/
public function __toString(): string
{
$options = \http_build_query(Values::of($this->options), '', ' ');
return '[Twilio.Api.V2010.ReadMessageOptions ' . $options . ']';
}
}
class UpdateMessageOptions extends Options
{
/**
* @param string $body The new `body` of the Message resource. To redact the text content of a Message, this parameter's value must be an empty string
* @param string $status
*/
public function __construct(
string $body = Values::NONE,
string $status = Values::NONE
) {
$this->options['body'] = $body;
$this->options['status'] = $status;
}
/**
* The new `body` of the Message resource. To redact the text content of a Message, this parameter's value must be an empty string
*
* @param string $body The new `body` of the Message resource. To redact the text content of a Message, this parameter's value must be an empty string
* @return $this Fluent Builder
*/
public function setBody(string $body): self
{
$this->options['body'] = $body;
return $this;
}
/**
* @param string $status
* @return $this Fluent Builder
*/
public function setStatus(string $status): self
{
$this->options['status'] = $status;
return $this;
}
/**
* Provide a friendly representation
*
* @return string Machine friendly representation
*/
public function __toString(): string
{
$options = \http_build_query(Values::of($this->options), '', ' ');
return '[Twilio.Api.V2010.UpdateMessageOptions ' . $options . ']';
}
}