Class: Telerivet::ScheduledMessage
- Defined in:
- lib/telerivet/scheduledmessage.rb
Overview
Represents a scheduled message within Telerivet.
Fields:
- id (string, max 34 characters)
* ID of the scheduled message
* Read-only
- content
* Text content of the scheduled message
* Updatable via API
- rrule
* Recurrence rule for recurring scheduled messages, e.g. 'FREQ=MONTHLY' or
'FREQ=WEEKLY;INTERVAL=2'; see
[RFC2445](https://tools.ietf.org/html/rfc2445#section-4.3.10).
* Updatable via API
- timezone_id
* Timezone ID used to compute times for recurring messages; see [List of tz database
time zones Wikipedia
article](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
* Updatable via API
- recipients (array of objects)
* List of recipients. Each recipient is an object with a string `type` property, which
may be `"phone_number"`, `"group"`, or `"filter"`.
If the type is `"phone_number"`, the `phone_number` property will
be set to the recipient's phone number.
If the type is `"group"`, the `group_id` property will be set to
the ID of the group, and the `group_name` property will be set to the name of the
group.
If the type is `"filter"`, the `filter_type` property (string) and
`filter_params` property (object) describe the filter used to send the broadcast. (API
clients should not rely on a particular value or format of the `filter_type` or
`filter_params` properties, as they may change without notice.)
* Read-only
- recipients_str
* A string with a human readable description of the first few recipients (possibly
truncated)
* Read-only
- group_id
* ID of the group to send the message to (null if the recipient is an individual
contact, or if there are multiple recipients)
* Updatable via API
- contact_id
* ID of the contact to send the message to (null if the recipient is a group, or if
there are multiple recipients)
* Updatable via API
- to_number
* Phone number to send the message to (null if the recipient is a group, or if there
are multiple recipients)
* Updatable via API
- route_id
* ID of the phone or route the message will be sent from
* Updatable via API
- service_id (string, max 34 characters)
* The service associated with this message (for voice calls, the service defines the
call flow)
* Updatable via API
- audio_url
* For voice calls, the URL of an MP3 file to play when the contact answers the call
* Updatable via API
- tts_lang
* For voice calls, the language of the text-to-speech voice
* Allowed values: en-US, en-GB, en-GB-WLS, en-AU, en-IN, da-DK, nl-NL, fr-FR, fr-CA,
de-DE, is-IS, it-IT, pl-PL, pt-BR, pt-PT, ru-RU, es-ES, es-US, sv-SE
* Updatable via API
- tts_voice
* For voice calls, the text-to-speech voice
* Allowed values: female, male
* Updatable via API
- message_type
* Type of scheduled message
* Allowed values: sms, mms, ussd, ussd_session, call, chat, service
* Read-only
- time_created (UNIX timestamp)
* Time the scheduled message was created in Telerivet
* Read-only
- start_time (UNIX timestamp)
* The time that the message will be sent (or first sent for recurring messages)
* Updatable via API
- end_time (UNIX timestamp)
* Time after which a recurring message will stop (not applicable to non-recurring
scheduled messages)
* Updatable via API
- prev_time (UNIX timestamp)
* The most recent time that Telerivet has sent this scheduled message (null if it has
never been sent)
* Read-only
- next_time (UNIX timestamp)
* The next upcoming time that Telerivet will sent this scheduled message (null if it
will not be sent again)
* Read-only
- occurrences (int)
* Number of times this scheduled message has already been sent
* Read-only
- replace_variables (bool)
* Set to true if Telerivet will render variables like [[contact.name]] in the message
content, false otherwise
* Updatable via API
- track_clicks (boolean)
* If true, URLs in the message content will automatically be replaced with unique
short URLs
* Updatable via API
- media (array)
* For text messages containing media files, this is an array of objects with the
properties `url`, `type` (MIME type), `filename`, and `size` (file size in bytes).
Unknown properties are null. This property is undefined for messages that do not
contain media files. Note: For files uploaded via the Telerivet web app, the URL is
temporary and may not be valid for more than 1 day.
* Read-only
- route_params (Hash)
* Route-specific parameters to use when sending the message.
When sending messages via chat apps such as WhatsApp, the route_params
parameter can be used to send messages with app-specific features such as quick
replies and link buttons.
For more details, see [Route-Specific Parameters](#route_params).
* Updatable via API
- vars (Hash)
* Custom variables stored for this scheduled message (copied to Message when sent).
Variable names may be up to 32 characters in length and can contain the characters
a-z, A-Z, 0-9, and _.
Values may be strings, numbers, or boolean (true/false).
String values may be up to 4096 bytes in length when encoded as UTF-8.
Up to 100 variables are supported per object.
Setting a variable to null will delete the variable.
* Updatable via API
- label_ids (array)
* IDs of labels to add to the Message
* Updatable via API
- relative_scheduled_id
* ID of the relative scheduled message this scheduled message was created from, if
applicable
* Read-only
- project_id
* ID of the project this scheduled message belongs to
* Read-only
Instance Method Summary collapse
- #audio_url ⇒ Object
- #audio_url=(value) ⇒ Object
- #contact_id ⇒ Object
- #contact_id=(value) ⇒ Object
- #content ⇒ Object
- #content=(value) ⇒ Object
-
#delete ⇒ Object
Cancels this scheduled message.
- #end_time ⇒ Object
- #end_time=(value) ⇒ Object
- #get_base_api_path ⇒ Object
- #group_id ⇒ Object
- #group_id=(value) ⇒ Object
- #id ⇒ Object
- #label_ids ⇒ Object
- #label_ids=(value) ⇒ Object
- #media ⇒ Object
- #message_type ⇒ Object
- #next_time ⇒ Object
- #occurrences ⇒ Object
- #prev_time ⇒ Object
- #project_id ⇒ Object
- #recipients ⇒ Object
- #recipients_str ⇒ Object
- #relative_scheduled_id ⇒ Object
- #replace_variables ⇒ Object
- #replace_variables=(value) ⇒ Object
- #route_id ⇒ Object
- #route_id=(value) ⇒ Object
- #route_params ⇒ Object
- #route_params=(value) ⇒ Object
- #rrule ⇒ Object
- #rrule=(value) ⇒ Object
-
#save ⇒ Object
Saves any fields or custom variables that have changed for this scheduled message.
- #service_id ⇒ Object
- #service_id=(value) ⇒ Object
- #start_time ⇒ Object
- #start_time=(value) ⇒ Object
- #time_created ⇒ Object
- #timezone_id ⇒ Object
- #timezone_id=(value) ⇒ Object
- #to_number ⇒ Object
- #to_number=(value) ⇒ Object
- #track_clicks ⇒ Object
- #track_clicks=(value) ⇒ Object
- #tts_lang ⇒ Object
- #tts_lang=(value) ⇒ Object
- #tts_voice ⇒ Object
- #tts_voice=(value) ⇒ Object
Methods inherited from Entity
#get, #initialize, #load, #set, #set_data, #to_s, #vars
Constructor Details
This class inherits a constructor from Telerivet::Entity
Instance Method Details
#audio_url ⇒ Object
264 265 266 |
# File 'lib/telerivet/scheduledmessage.rb', line 264 def audio_url get('audio_url') end |
#audio_url=(value) ⇒ Object
268 269 270 |
# File 'lib/telerivet/scheduledmessage.rb', line 268 def audio_url=(value) set('audio_url', value) end |
#contact_id ⇒ Object
232 233 234 |
# File 'lib/telerivet/scheduledmessage.rb', line 232 def contact_id get('contact_id') end |
#contact_id=(value) ⇒ Object
236 237 238 |
# File 'lib/telerivet/scheduledmessage.rb', line 236 def contact_id=(value) set('contact_id', value) end |
#content ⇒ Object
192 193 194 |
# File 'lib/telerivet/scheduledmessage.rb', line 192 def content get('content') end |
#content=(value) ⇒ Object
196 197 198 |
# File 'lib/telerivet/scheduledmessage.rb', line 196 def content=(value) set('content', value) end |
#delete ⇒ Object
Cancels this scheduled message.
184 185 186 |
# File 'lib/telerivet/scheduledmessage.rb', line 184 def delete() @api.do_request("DELETE", get_base_api_path()) end |
#end_time ⇒ Object
304 305 306 |
# File 'lib/telerivet/scheduledmessage.rb', line 304 def end_time get('end_time') end |
#end_time=(value) ⇒ Object
308 309 310 |
# File 'lib/telerivet/scheduledmessage.rb', line 308 def end_time=(value) set('end_time', value) end |
#get_base_api_path ⇒ Object
368 369 370 |
# File 'lib/telerivet/scheduledmessage.rb', line 368 def get_base_api_path() "/projects/#{get('project_id')}/scheduled/#{get('id')}" end |
#group_id ⇒ Object
224 225 226 |
# File 'lib/telerivet/scheduledmessage.rb', line 224 def group_id get('group_id') end |
#group_id=(value) ⇒ Object
228 229 230 |
# File 'lib/telerivet/scheduledmessage.rb', line 228 def group_id=(value) set('group_id', value) end |
#id ⇒ Object
188 189 190 |
# File 'lib/telerivet/scheduledmessage.rb', line 188 def id get('id') end |
#label_ids ⇒ Object
352 353 354 |
# File 'lib/telerivet/scheduledmessage.rb', line 352 def label_ids get('label_ids') end |
#label_ids=(value) ⇒ Object
356 357 358 |
# File 'lib/telerivet/scheduledmessage.rb', line 356 def label_ids=(value) set('label_ids', value) end |
#media ⇒ Object
340 341 342 |
# File 'lib/telerivet/scheduledmessage.rb', line 340 def media get('media') end |
#message_type ⇒ Object
288 289 290 |
# File 'lib/telerivet/scheduledmessage.rb', line 288 def get('message_type') end |
#next_time ⇒ Object
316 317 318 |
# File 'lib/telerivet/scheduledmessage.rb', line 316 def next_time get('next_time') end |
#occurrences ⇒ Object
320 321 322 |
# File 'lib/telerivet/scheduledmessage.rb', line 320 def occurrences get('occurrences') end |
#prev_time ⇒ Object
312 313 314 |
# File 'lib/telerivet/scheduledmessage.rb', line 312 def prev_time get('prev_time') end |
#project_id ⇒ Object
364 365 366 |
# File 'lib/telerivet/scheduledmessage.rb', line 364 def project_id get('project_id') end |
#recipients ⇒ Object
216 217 218 |
# File 'lib/telerivet/scheduledmessage.rb', line 216 def recipients get('recipients') end |
#recipients_str ⇒ Object
220 221 222 |
# File 'lib/telerivet/scheduledmessage.rb', line 220 def recipients_str get('recipients_str') end |
#relative_scheduled_id ⇒ Object
360 361 362 |
# File 'lib/telerivet/scheduledmessage.rb', line 360 def relative_scheduled_id get('relative_scheduled_id') end |
#replace_variables ⇒ Object
324 325 326 |
# File 'lib/telerivet/scheduledmessage.rb', line 324 def replace_variables get('replace_variables') end |
#replace_variables=(value) ⇒ Object
328 329 330 |
# File 'lib/telerivet/scheduledmessage.rb', line 328 def replace_variables=(value) set('replace_variables', value) end |
#route_id ⇒ Object
248 249 250 |
# File 'lib/telerivet/scheduledmessage.rb', line 248 def route_id get('route_id') end |
#route_id=(value) ⇒ Object
252 253 254 |
# File 'lib/telerivet/scheduledmessage.rb', line 252 def route_id=(value) set('route_id', value) end |
#route_params ⇒ Object
344 345 346 |
# File 'lib/telerivet/scheduledmessage.rb', line 344 def route_params get('route_params') end |
#route_params=(value) ⇒ Object
348 349 350 |
# File 'lib/telerivet/scheduledmessage.rb', line 348 def route_params=(value) set('route_params', value) end |
#rrule ⇒ Object
200 201 202 |
# File 'lib/telerivet/scheduledmessage.rb', line 200 def rrule get('rrule') end |
#rrule=(value) ⇒ Object
204 205 206 |
# File 'lib/telerivet/scheduledmessage.rb', line 204 def rrule=(value) set('rrule', value) end |
#save ⇒ Object
Saves any fields or custom variables that have changed for this scheduled message.
177 178 179 |
# File 'lib/telerivet/scheduledmessage.rb', line 177 def save() super end |
#service_id ⇒ Object
256 257 258 |
# File 'lib/telerivet/scheduledmessage.rb', line 256 def service_id get('service_id') end |
#service_id=(value) ⇒ Object
260 261 262 |
# File 'lib/telerivet/scheduledmessage.rb', line 260 def service_id=(value) set('service_id', value) end |
#start_time ⇒ Object
296 297 298 |
# File 'lib/telerivet/scheduledmessage.rb', line 296 def start_time get('start_time') end |
#start_time=(value) ⇒ Object
300 301 302 |
# File 'lib/telerivet/scheduledmessage.rb', line 300 def start_time=(value) set('start_time', value) end |
#time_created ⇒ Object
292 293 294 |
# File 'lib/telerivet/scheduledmessage.rb', line 292 def time_created get('time_created') end |
#timezone_id ⇒ Object
208 209 210 |
# File 'lib/telerivet/scheduledmessage.rb', line 208 def timezone_id get('timezone_id') end |
#timezone_id=(value) ⇒ Object
212 213 214 |
# File 'lib/telerivet/scheduledmessage.rb', line 212 def timezone_id=(value) set('timezone_id', value) end |
#to_number ⇒ Object
240 241 242 |
# File 'lib/telerivet/scheduledmessage.rb', line 240 def to_number get('to_number') end |
#to_number=(value) ⇒ Object
244 245 246 |
# File 'lib/telerivet/scheduledmessage.rb', line 244 def to_number=(value) set('to_number', value) end |
#track_clicks ⇒ Object
332 333 334 |
# File 'lib/telerivet/scheduledmessage.rb', line 332 def track_clicks get('track_clicks') end |
#track_clicks=(value) ⇒ Object
336 337 338 |
# File 'lib/telerivet/scheduledmessage.rb', line 336 def track_clicks=(value) set('track_clicks', value) end |
#tts_lang ⇒ Object
272 273 274 |
# File 'lib/telerivet/scheduledmessage.rb', line 272 def tts_lang get('tts_lang') end |
#tts_lang=(value) ⇒ Object
276 277 278 |
# File 'lib/telerivet/scheduledmessage.rb', line 276 def tts_lang=(value) set('tts_lang', value) end |
#tts_voice ⇒ Object
280 281 282 |
# File 'lib/telerivet/scheduledmessage.rb', line 280 def tts_voice get('tts_voice') end |
#tts_voice=(value) ⇒ Object
284 285 286 |
# File 'lib/telerivet/scheduledmessage.rb', line 284 def tts_voice=(value) set('tts_voice', value) end |