Class: Telerivet::RelativeScheduledMessage
- Defined in:
- lib/telerivet/relativescheduledmessage.rb
Overview
A relative scheduled message is a message that is scheduled relative to a date stored as a custom field for each recipient contact. This allows scheduling messages on a different date for each contact, for example on their birthday, a certain number of days before an appointment, or a certain number of days after enrolling in a campaign.
Telerivet will automatically create a [ScheduledMessage](#ScheduledMessage) for each contact matching a RelativeScheduledMessage.
Any service that can be manually triggered for a contact (including polls) may also be scheduled via a relative scheduled message, whether or not the service actually sends a message.
Fields:
- id (string, max 34 characters)
* ID of the relative scheduled message
* Read-only
- content
* Text content of the relative scheduled message
* Updatable via API
- time_of_day
* Time of day when scheduled messages will be sent in HH:MM format (with hours from 00
to 23)
* Updatable via API
- date_variable
* Custom contact variable storing date or date/time values relative to which messages
will be scheduled.
* Updatable via API
- offset_scale
* The type of interval (day/week/month/year) that will be used to adjust the scheduled
date relative to the date stored in the contact's date_variable, when offset_count is
non-zero (D=day, W=week, M=month, Y=year)
* Allowed values: D, W, M, Y
* Updatable via API
- offset_count (int)
* The number of days/weeks/months/years to adjust the date of the scheduled message
relative relative to the date stored in the contact's date_variable. May be positive,
negative, or zero.
* 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
- end_time (UNIX timestamp)
* Time after which recurring messages will stop (not applicable to non-recurring
scheduled messages)
* 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_str
* A string with a human readable description of the recipient
* Read-only
- group_id
* ID of the group to send the message to (null if the recipient is an individual
contact)
* Updatable via API
- contact_id
* ID of the contact to send the message to (null if the recipient is a group)
* Updatable via API
- to_number
* Phone number to send the message to (null if the recipient is a group)
* 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 relative scheduled message was created in Telerivet
* 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. The parameters object may
have keys matching the `phone_type` field of a phone (basic route) that may be used to
send the message. The corresponding value is an object with route-specific parameters
to use when sending a message with that type of route.
* Updatable via API
- vars (Hash)
* Custom variables stored for this scheduled message (copied to each ScheduledMessage
and Message when sent)
* Updatable via API
- label_ids (array)
* IDs of labels to add to the Message
* Updatable via API
- project_id
* ID of the project this relative 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
- #date_variable ⇒ Object
- #date_variable=(value) ⇒ Object
-
#delete ⇒ Object
Deletes this relative scheduled message and any associated scheduled messages.
- #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
- #offset_count ⇒ Object
- #offset_count=(value) ⇒ Object
- #offset_scale ⇒ Object
- #offset_scale=(value) ⇒ Object
- #project_id ⇒ Object
- #recipients_str ⇒ 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 relative scheduled message.
- #service_id ⇒ Object
- #service_id=(value) ⇒ Object
- #time_created ⇒ Object
- #time_of_day ⇒ Object
- #time_of_day=(value) ⇒ 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
283 284 285 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 283 def audio_url get('audio_url') end |
#audio_url=(value) ⇒ Object
287 288 289 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 287 def audio_url=(value) set('audio_url', value) end |
#contact_id ⇒ Object
251 252 253 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 251 def contact_id get('contact_id') end |
#contact_id=(value) ⇒ Object
255 256 257 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 255 def contact_id=(value) set('contact_id', value) end |
#content ⇒ Object
175 176 177 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 175 def content get('content') end |
#content=(value) ⇒ Object
179 180 181 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 179 def content=(value) set('content', value) end |
#date_variable ⇒ Object
191 192 193 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 191 def date_variable get('date_variable') end |
#date_variable=(value) ⇒ Object
195 196 197 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 195 def date_variable=(value) set('date_variable', value) end |
#delete ⇒ Object
Deletes this relative scheduled message and any associated scheduled messages.
167 168 169 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 167 def delete() @api.do_request("DELETE", get_base_api_path()) end |
#end_time ⇒ Object
223 224 225 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 223 def end_time get('end_time') end |
#end_time=(value) ⇒ Object
227 228 229 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 227 def end_time=(value) set('end_time', value) end |
#get_base_api_path ⇒ Object
355 356 357 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 355 def get_base_api_path() "/projects/#{get('project_id')}/relative_scheduled/#{get('id')}" end |
#group_id ⇒ Object
243 244 245 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 243 def group_id get('group_id') end |
#group_id=(value) ⇒ Object
247 248 249 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 247 def group_id=(value) set('group_id', value) end |
#id ⇒ Object
171 172 173 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 171 def id get('id') end |
#label_ids ⇒ Object
343 344 345 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 343 def label_ids get('label_ids') end |
#label_ids=(value) ⇒ Object
347 348 349 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 347 def label_ids=(value) set('label_ids', value) end |
#media ⇒ Object
331 332 333 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 331 def media get('media') end |
#message_type ⇒ Object
307 308 309 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 307 def get('message_type') end |
#offset_count ⇒ Object
207 208 209 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 207 def offset_count get('offset_count') end |
#offset_count=(value) ⇒ Object
211 212 213 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 211 def offset_count=(value) set('offset_count', value) end |
#offset_scale ⇒ Object
199 200 201 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 199 def offset_scale get('offset_scale') end |
#offset_scale=(value) ⇒ Object
203 204 205 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 203 def offset_scale=(value) set('offset_scale', value) end |
#project_id ⇒ Object
351 352 353 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 351 def project_id get('project_id') end |
#recipients_str ⇒ Object
239 240 241 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 239 def recipients_str get('recipients_str') end |
#replace_variables ⇒ Object
315 316 317 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 315 def replace_variables get('replace_variables') end |
#replace_variables=(value) ⇒ Object
319 320 321 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 319 def replace_variables=(value) set('replace_variables', value) end |
#route_id ⇒ Object
267 268 269 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 267 def route_id get('route_id') end |
#route_id=(value) ⇒ Object
271 272 273 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 271 def route_id=(value) set('route_id', value) end |
#route_params ⇒ Object
335 336 337 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 335 def route_params get('route_params') end |
#route_params=(value) ⇒ Object
339 340 341 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 339 def route_params=(value) set('route_params', value) end |
#rrule ⇒ Object
215 216 217 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 215 def rrule get('rrule') end |
#rrule=(value) ⇒ Object
219 220 221 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 219 def rrule=(value) set('rrule', value) end |
#save ⇒ Object
Saves any fields or custom variables that have changed for this relative scheduled message.
160 161 162 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 160 def save() super end |
#service_id ⇒ Object
275 276 277 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 275 def service_id get('service_id') end |
#service_id=(value) ⇒ Object
279 280 281 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 279 def service_id=(value) set('service_id', value) end |
#time_created ⇒ Object
311 312 313 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 311 def time_created get('time_created') end |
#time_of_day ⇒ Object
183 184 185 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 183 def time_of_day get('time_of_day') end |
#time_of_day=(value) ⇒ Object
187 188 189 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 187 def time_of_day=(value) set('time_of_day', value) end |
#timezone_id ⇒ Object
231 232 233 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 231 def timezone_id get('timezone_id') end |
#timezone_id=(value) ⇒ Object
235 236 237 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 235 def timezone_id=(value) set('timezone_id', value) end |
#to_number ⇒ Object
259 260 261 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 259 def to_number get('to_number') end |
#to_number=(value) ⇒ Object
263 264 265 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 263 def to_number=(value) set('to_number', value) end |
#track_clicks ⇒ Object
323 324 325 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 323 def track_clicks get('track_clicks') end |
#track_clicks=(value) ⇒ Object
327 328 329 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 327 def track_clicks=(value) set('track_clicks', value) end |
#tts_lang ⇒ Object
291 292 293 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 291 def tts_lang get('tts_lang') end |
#tts_lang=(value) ⇒ Object
295 296 297 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 295 def tts_lang=(value) set('tts_lang', value) end |
#tts_voice ⇒ Object
299 300 301 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 299 def tts_voice get('tts_voice') end |
#tts_voice=(value) ⇒ Object
303 304 305 |
# File 'lib/telerivet/relativescheduledmessage.rb', line 303 def tts_voice=(value) set('tts_voice', value) end |