telerivet 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/telerivet/airtimetransaction.rb +16 -0
- data/lib/telerivet/apicursor.rb +26 -22
- data/lib/telerivet/broadcast.rb +15 -4
- data/lib/telerivet/contact.rb +20 -10
- data/lib/telerivet/datatable.rb +15 -4
- data/lib/telerivet/group.rb +14 -14
- data/lib/telerivet/label.rb +10 -2
- data/lib/telerivet/message.rb +76 -34
- data/lib/telerivet/organization.rb +124 -2
- data/lib/telerivet/phone.rb +19 -9
- data/lib/telerivet/project.rb +930 -112
- data/lib/telerivet/relativescheduledmessage.rb +361 -0
- data/lib/telerivet/route.rb +1 -1
- data/lib/telerivet/scheduledmessage.rb +112 -22
- data/lib/telerivet/service.rb +140 -32
- data/lib/telerivet.rb +1 -1
- metadata +3 -2
@@ -0,0 +1,361 @@
|
|
1
|
+
|
2
|
+
module Telerivet
|
3
|
+
|
4
|
+
#
|
5
|
+
# A relative scheduled message is a message that is scheduled relative to a date stored as a
|
6
|
+
# custom field for each recipient contact.
|
7
|
+
# This allows scheduling messages on a different date for each contact, for
|
8
|
+
# example on their birthday, a certain number of days before an appointment, or a certain
|
9
|
+
# number of days after enrolling in a campaign.
|
10
|
+
#
|
11
|
+
# Telerivet will automatically create a [ScheduledMessage](#ScheduledMessage)
|
12
|
+
# for each contact matching a RelativeScheduledMessage.
|
13
|
+
#
|
14
|
+
# Any service that can be manually triggered for a contact (including polls)
|
15
|
+
# may also be scheduled via a relative scheduled message, whether or not the service actually
|
16
|
+
# sends a message.
|
17
|
+
#
|
18
|
+
# Fields:
|
19
|
+
#
|
20
|
+
# - id (string, max 34 characters)
|
21
|
+
# * ID of the relative scheduled message
|
22
|
+
# * Read-only
|
23
|
+
#
|
24
|
+
# - content
|
25
|
+
# * Text content of the relative scheduled message
|
26
|
+
# * Updatable via API
|
27
|
+
#
|
28
|
+
# - time_of_day
|
29
|
+
# * Time of day when scheduled messages will be sent in HH:MM format (with hours from 00
|
30
|
+
# to 23)
|
31
|
+
# * Updatable via API
|
32
|
+
#
|
33
|
+
# - date_variable
|
34
|
+
# * Custom contact variable storing date or date/time values relative to which messages
|
35
|
+
# will be scheduled.
|
36
|
+
# * Updatable via API
|
37
|
+
#
|
38
|
+
# - offset_scale
|
39
|
+
# * The type of interval (day/week/month/year) that will be used to adjust the scheduled
|
40
|
+
# date relative to the date stored in the contact's date_variable, when offset_count is
|
41
|
+
# non-zero (D=day, W=week, M=month, Y=year)
|
42
|
+
# * Allowed values: D, W, M, Y
|
43
|
+
# * Updatable via API
|
44
|
+
#
|
45
|
+
# - offset_count (int)
|
46
|
+
# * The number of days/weeks/months/years to adjust the date of the scheduled message
|
47
|
+
# relative relative to the date stored in the contact's date_variable. May be positive,
|
48
|
+
# negative, or zero.
|
49
|
+
# * Updatable via API
|
50
|
+
#
|
51
|
+
# - rrule
|
52
|
+
# * Recurrence rule for recurring scheduled messages, e.g. 'FREQ=MONTHLY' or
|
53
|
+
# 'FREQ=WEEKLY;INTERVAL=2'; see
|
54
|
+
# [RFC2445](https://tools.ietf.org/html/rfc2445#section-4.3.10).
|
55
|
+
# * Updatable via API
|
56
|
+
#
|
57
|
+
# - end_time (UNIX timestamp)
|
58
|
+
# * Time after which recurring messages will stop (not applicable to non-recurring
|
59
|
+
# scheduled messages)
|
60
|
+
# * Updatable via API
|
61
|
+
#
|
62
|
+
# - timezone_id
|
63
|
+
# * Timezone ID used to compute times for recurring messages; see [List of tz database
|
64
|
+
# time zones Wikipedia
|
65
|
+
# article](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
|
66
|
+
# * Updatable via API
|
67
|
+
#
|
68
|
+
# - recipients_str
|
69
|
+
# * A string with a human readable description of the recipient
|
70
|
+
# * Read-only
|
71
|
+
#
|
72
|
+
# - group_id
|
73
|
+
# * ID of the group to send the message to (null if the recipient is an individual
|
74
|
+
# contact)
|
75
|
+
# * Updatable via API
|
76
|
+
#
|
77
|
+
# - contact_id
|
78
|
+
# * ID of the contact to send the message to (null if the recipient is a group)
|
79
|
+
# * Updatable via API
|
80
|
+
#
|
81
|
+
# - to_number
|
82
|
+
# * Phone number to send the message to (null if the recipient is a group)
|
83
|
+
# * Updatable via API
|
84
|
+
#
|
85
|
+
# - route_id
|
86
|
+
# * ID of the phone or route the message will be sent from
|
87
|
+
# * Updatable via API
|
88
|
+
#
|
89
|
+
# - service_id (string, max 34 characters)
|
90
|
+
# * The service associated with this message (for voice calls, the service defines the
|
91
|
+
# call flow)
|
92
|
+
# * Updatable via API
|
93
|
+
#
|
94
|
+
# - audio_url
|
95
|
+
# * For voice calls, the URL of an MP3 file to play when the contact answers the call
|
96
|
+
# * Updatable via API
|
97
|
+
#
|
98
|
+
# - tts_lang
|
99
|
+
# * For voice calls, the language of the text-to-speech voice
|
100
|
+
# * Allowed values: en-US, en-GB, en-GB-WLS, en-AU, en-IN, da-DK, nl-NL, fr-FR, fr-CA,
|
101
|
+
# de-DE, is-IS, it-IT, pl-PL, pt-BR, pt-PT, ru-RU, es-ES, es-US, sv-SE
|
102
|
+
# * Updatable via API
|
103
|
+
#
|
104
|
+
# - tts_voice
|
105
|
+
# * For voice calls, the text-to-speech voice
|
106
|
+
# * Allowed values: female, male
|
107
|
+
# * Updatable via API
|
108
|
+
#
|
109
|
+
# - message_type
|
110
|
+
# * Type of scheduled message
|
111
|
+
# * Allowed values: sms, mms, ussd, ussd_session, call, chat, service
|
112
|
+
# * Read-only
|
113
|
+
#
|
114
|
+
# - time_created (UNIX timestamp)
|
115
|
+
# * Time the relative scheduled message was created in Telerivet
|
116
|
+
# * Read-only
|
117
|
+
#
|
118
|
+
# - replace_variables (bool)
|
119
|
+
# * Set to true if Telerivet will render variables like [[contact.name]] in the message
|
120
|
+
# content, false otherwise
|
121
|
+
# * Updatable via API
|
122
|
+
#
|
123
|
+
# - track_clicks (boolean)
|
124
|
+
# * If true, URLs in the message content will automatically be replaced with unique
|
125
|
+
# short URLs
|
126
|
+
# * Updatable via API
|
127
|
+
#
|
128
|
+
# - media (array)
|
129
|
+
# * For text messages containing media files, this is an array of objects with the
|
130
|
+
# properties `url`, `type` (MIME type), `filename`, and `size` (file size in bytes).
|
131
|
+
# Unknown properties are null. This property is undefined for messages that do not
|
132
|
+
# contain media files. Note: For files uploaded via the Telerivet web app, the URL is
|
133
|
+
# temporary and may not be valid for more than 1 day.
|
134
|
+
# * Read-only
|
135
|
+
#
|
136
|
+
# - route_params (Hash)
|
137
|
+
# * Route-specific parameters to use when sending the message. The parameters object may
|
138
|
+
# have keys matching the `phone_type` field of a phone (basic route) that may be used to
|
139
|
+
# send the message. The corresponding value is an object with route-specific parameters
|
140
|
+
# to use when sending a message with that type of route.
|
141
|
+
# * Updatable via API
|
142
|
+
#
|
143
|
+
# - vars (Hash)
|
144
|
+
# * Custom variables stored for this scheduled message (copied to each ScheduledMessage
|
145
|
+
# and Message when sent)
|
146
|
+
# * Updatable via API
|
147
|
+
#
|
148
|
+
# - label_ids (array)
|
149
|
+
# * IDs of labels to add to the Message
|
150
|
+
# * Updatable via API
|
151
|
+
#
|
152
|
+
# - project_id
|
153
|
+
# * ID of the project this relative scheduled message belongs to
|
154
|
+
# * Read-only
|
155
|
+
#
|
156
|
+
class RelativeScheduledMessage < Entity
|
157
|
+
#
|
158
|
+
# Saves any fields or custom variables that have changed for this relative scheduled message.
|
159
|
+
#
|
160
|
+
def save()
|
161
|
+
super
|
162
|
+
end
|
163
|
+
|
164
|
+
#
|
165
|
+
# Deletes this relative scheduled message and any associated scheduled messages.
|
166
|
+
#
|
167
|
+
def delete()
|
168
|
+
@api.do_request("DELETE", get_base_api_path())
|
169
|
+
end
|
170
|
+
|
171
|
+
def id
|
172
|
+
get('id')
|
173
|
+
end
|
174
|
+
|
175
|
+
def content
|
176
|
+
get('content')
|
177
|
+
end
|
178
|
+
|
179
|
+
def content=(value)
|
180
|
+
set('content', value)
|
181
|
+
end
|
182
|
+
|
183
|
+
def time_of_day
|
184
|
+
get('time_of_day')
|
185
|
+
end
|
186
|
+
|
187
|
+
def time_of_day=(value)
|
188
|
+
set('time_of_day', value)
|
189
|
+
end
|
190
|
+
|
191
|
+
def date_variable
|
192
|
+
get('date_variable')
|
193
|
+
end
|
194
|
+
|
195
|
+
def date_variable=(value)
|
196
|
+
set('date_variable', value)
|
197
|
+
end
|
198
|
+
|
199
|
+
def offset_scale
|
200
|
+
get('offset_scale')
|
201
|
+
end
|
202
|
+
|
203
|
+
def offset_scale=(value)
|
204
|
+
set('offset_scale', value)
|
205
|
+
end
|
206
|
+
|
207
|
+
def offset_count
|
208
|
+
get('offset_count')
|
209
|
+
end
|
210
|
+
|
211
|
+
def offset_count=(value)
|
212
|
+
set('offset_count', value)
|
213
|
+
end
|
214
|
+
|
215
|
+
def rrule
|
216
|
+
get('rrule')
|
217
|
+
end
|
218
|
+
|
219
|
+
def rrule=(value)
|
220
|
+
set('rrule', value)
|
221
|
+
end
|
222
|
+
|
223
|
+
def end_time
|
224
|
+
get('end_time')
|
225
|
+
end
|
226
|
+
|
227
|
+
def end_time=(value)
|
228
|
+
set('end_time', value)
|
229
|
+
end
|
230
|
+
|
231
|
+
def timezone_id
|
232
|
+
get('timezone_id')
|
233
|
+
end
|
234
|
+
|
235
|
+
def timezone_id=(value)
|
236
|
+
set('timezone_id', value)
|
237
|
+
end
|
238
|
+
|
239
|
+
def recipients_str
|
240
|
+
get('recipients_str')
|
241
|
+
end
|
242
|
+
|
243
|
+
def group_id
|
244
|
+
get('group_id')
|
245
|
+
end
|
246
|
+
|
247
|
+
def group_id=(value)
|
248
|
+
set('group_id', value)
|
249
|
+
end
|
250
|
+
|
251
|
+
def contact_id
|
252
|
+
get('contact_id')
|
253
|
+
end
|
254
|
+
|
255
|
+
def contact_id=(value)
|
256
|
+
set('contact_id', value)
|
257
|
+
end
|
258
|
+
|
259
|
+
def to_number
|
260
|
+
get('to_number')
|
261
|
+
end
|
262
|
+
|
263
|
+
def to_number=(value)
|
264
|
+
set('to_number', value)
|
265
|
+
end
|
266
|
+
|
267
|
+
def route_id
|
268
|
+
get('route_id')
|
269
|
+
end
|
270
|
+
|
271
|
+
def route_id=(value)
|
272
|
+
set('route_id', value)
|
273
|
+
end
|
274
|
+
|
275
|
+
def service_id
|
276
|
+
get('service_id')
|
277
|
+
end
|
278
|
+
|
279
|
+
def service_id=(value)
|
280
|
+
set('service_id', value)
|
281
|
+
end
|
282
|
+
|
283
|
+
def audio_url
|
284
|
+
get('audio_url')
|
285
|
+
end
|
286
|
+
|
287
|
+
def audio_url=(value)
|
288
|
+
set('audio_url', value)
|
289
|
+
end
|
290
|
+
|
291
|
+
def tts_lang
|
292
|
+
get('tts_lang')
|
293
|
+
end
|
294
|
+
|
295
|
+
def tts_lang=(value)
|
296
|
+
set('tts_lang', value)
|
297
|
+
end
|
298
|
+
|
299
|
+
def tts_voice
|
300
|
+
get('tts_voice')
|
301
|
+
end
|
302
|
+
|
303
|
+
def tts_voice=(value)
|
304
|
+
set('tts_voice', value)
|
305
|
+
end
|
306
|
+
|
307
|
+
def message_type
|
308
|
+
get('message_type')
|
309
|
+
end
|
310
|
+
|
311
|
+
def time_created
|
312
|
+
get('time_created')
|
313
|
+
end
|
314
|
+
|
315
|
+
def replace_variables
|
316
|
+
get('replace_variables')
|
317
|
+
end
|
318
|
+
|
319
|
+
def replace_variables=(value)
|
320
|
+
set('replace_variables', value)
|
321
|
+
end
|
322
|
+
|
323
|
+
def track_clicks
|
324
|
+
get('track_clicks')
|
325
|
+
end
|
326
|
+
|
327
|
+
def track_clicks=(value)
|
328
|
+
set('track_clicks', value)
|
329
|
+
end
|
330
|
+
|
331
|
+
def media
|
332
|
+
get('media')
|
333
|
+
end
|
334
|
+
|
335
|
+
def route_params
|
336
|
+
get('route_params')
|
337
|
+
end
|
338
|
+
|
339
|
+
def route_params=(value)
|
340
|
+
set('route_params', value)
|
341
|
+
end
|
342
|
+
|
343
|
+
def label_ids
|
344
|
+
get('label_ids')
|
345
|
+
end
|
346
|
+
|
347
|
+
def label_ids=(value)
|
348
|
+
set('label_ids', value)
|
349
|
+
end
|
350
|
+
|
351
|
+
def project_id
|
352
|
+
get('project_id')
|
353
|
+
end
|
354
|
+
|
355
|
+
def get_base_api_path()
|
356
|
+
"/projects/#{get('project_id')}/relative_scheduled/#{get('id')}"
|
357
|
+
end
|
358
|
+
|
359
|
+
end
|
360
|
+
|
361
|
+
end
|
data/lib/telerivet/route.rb
CHANGED
@@ -12,17 +12,19 @@ module Telerivet
|
|
12
12
|
#
|
13
13
|
# - content
|
14
14
|
# * Text content of the scheduled message
|
15
|
-
# *
|
15
|
+
# * Updatable via API
|
16
16
|
#
|
17
17
|
# - rrule
|
18
18
|
# * Recurrence rule for recurring scheduled messages, e.g. 'FREQ=MONTHLY' or
|
19
|
-
# 'FREQ=WEEKLY;INTERVAL=2'; see
|
20
|
-
#
|
19
|
+
# 'FREQ=WEEKLY;INTERVAL=2'; see
|
20
|
+
# [RFC2445](https://tools.ietf.org/html/rfc2445#section-4.3.10).
|
21
|
+
# * Updatable via API
|
21
22
|
#
|
22
23
|
# - timezone_id
|
23
|
-
# * Timezone ID used to compute times for recurring messages; see
|
24
|
-
#
|
25
|
-
#
|
24
|
+
# * Timezone ID used to compute times for recurring messages; see [List of tz database
|
25
|
+
# time zones Wikipedia
|
26
|
+
# article](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
|
27
|
+
# * Updatable via API
|
26
28
|
#
|
27
29
|
# - recipients (array of objects)
|
28
30
|
# * List of recipients. Each recipient is an object with a string `type` property, which
|
@@ -49,45 +51,45 @@ module Telerivet
|
|
49
51
|
# - group_id
|
50
52
|
# * ID of the group to send the message to (null if the recipient is an individual
|
51
53
|
# contact, or if there are multiple recipients)
|
52
|
-
# *
|
54
|
+
# * Updatable via API
|
53
55
|
#
|
54
56
|
# - contact_id
|
55
57
|
# * ID of the contact to send the message to (null if the recipient is a group, or if
|
56
58
|
# there are multiple recipients)
|
57
|
-
# *
|
59
|
+
# * Updatable via API
|
58
60
|
#
|
59
61
|
# - to_number
|
60
62
|
# * Phone number to send the message to (null if the recipient is a group, or if there
|
61
63
|
# are multiple recipients)
|
62
|
-
# *
|
64
|
+
# * Updatable via API
|
63
65
|
#
|
64
66
|
# - route_id
|
65
67
|
# * ID of the phone or route the message will be sent from
|
66
|
-
# *
|
68
|
+
# * Updatable via API
|
67
69
|
#
|
68
70
|
# - service_id (string, max 34 characters)
|
69
71
|
# * The service associated with this message (for voice calls, the service defines the
|
70
72
|
# call flow)
|
71
|
-
# *
|
73
|
+
# * Updatable via API
|
72
74
|
#
|
73
75
|
# - audio_url
|
74
76
|
# * For voice calls, the URL of an MP3 file to play when the contact answers the call
|
75
|
-
# *
|
77
|
+
# * Updatable via API
|
76
78
|
#
|
77
79
|
# - tts_lang
|
78
80
|
# * For voice calls, the language of the text-to-speech voice
|
79
81
|
# * Allowed values: en-US, en-GB, en-GB-WLS, en-AU, en-IN, da-DK, nl-NL, fr-FR, fr-CA,
|
80
82
|
# de-DE, is-IS, it-IT, pl-PL, pt-BR, pt-PT, ru-RU, es-ES, es-US, sv-SE
|
81
|
-
# *
|
83
|
+
# * Updatable via API
|
82
84
|
#
|
83
85
|
# - tts_voice
|
84
86
|
# * For voice calls, the text-to-speech voice
|
85
87
|
# * Allowed values: female, male
|
86
|
-
# *
|
88
|
+
# * Updatable via API
|
87
89
|
#
|
88
90
|
# - message_type
|
89
91
|
# * Type of scheduled message
|
90
|
-
# * Allowed values: sms, mms, ussd, call, service
|
92
|
+
# * Allowed values: sms, mms, ussd, ussd_session, call, chat, service
|
91
93
|
# * Read-only
|
92
94
|
#
|
93
95
|
# - time_created (UNIX timestamp)
|
@@ -96,12 +98,12 @@ module Telerivet
|
|
96
98
|
#
|
97
99
|
# - start_time (UNIX timestamp)
|
98
100
|
# * The time that the message will be sent (or first sent for recurring messages)
|
99
|
-
# *
|
101
|
+
# * Updatable via API
|
100
102
|
#
|
101
103
|
# - end_time (UNIX timestamp)
|
102
104
|
# * Time after which a recurring message will stop (not applicable to non-recurring
|
103
105
|
# scheduled messages)
|
104
|
-
# *
|
106
|
+
# * Updatable via API
|
105
107
|
#
|
106
108
|
# - prev_time (UNIX timestamp)
|
107
109
|
# * The most recent time that Telerivet has sent this scheduled message (null if it has
|
@@ -117,15 +119,15 @@ module Telerivet
|
|
117
119
|
# * Number of times this scheduled message has already been sent
|
118
120
|
# * Read-only
|
119
121
|
#
|
120
|
-
# -
|
122
|
+
# - replace_variables (bool)
|
121
123
|
# * Set to true if Telerivet will render variables like [[contact.name]] in the message
|
122
124
|
# content, false otherwise
|
123
|
-
# *
|
125
|
+
# * Updatable via API
|
124
126
|
#
|
125
127
|
# - track_clicks (boolean)
|
126
128
|
# * If true, URLs in the message content will automatically be replaced with unique
|
127
129
|
# short URLs
|
128
|
-
# *
|
130
|
+
# * Updatable via API
|
129
131
|
#
|
130
132
|
# - media (array)
|
131
133
|
# * For text messages containing media files, this is an array of objects with the
|
@@ -135,12 +137,24 @@ module Telerivet
|
|
135
137
|
# temporary and may not be valid for more than 1 day.
|
136
138
|
# * Read-only
|
137
139
|
#
|
140
|
+
# - route_params (Hash)
|
141
|
+
# * Route-specific parameters to use when sending the message. The parameters object may
|
142
|
+
# have keys matching the `phone_type` field of a phone (basic route) that may be used to
|
143
|
+
# send the message. The corresponding value is an object with route-specific parameters
|
144
|
+
# to use when sending a message with that type of route.
|
145
|
+
# * Updatable via API
|
146
|
+
#
|
138
147
|
# - vars (Hash)
|
139
148
|
# * Custom variables stored for this scheduled message (copied to Message when sent)
|
140
149
|
# * Updatable via API
|
141
150
|
#
|
142
151
|
# - label_ids (array)
|
143
152
|
# * IDs of labels to add to the Message
|
153
|
+
# * Updatable via API
|
154
|
+
#
|
155
|
+
# - relative_scheduled_id
|
156
|
+
# * ID of the relative scheduled message this scheduled message was created from, if
|
157
|
+
# applicable
|
144
158
|
# * Read-only
|
145
159
|
#
|
146
160
|
# - project_id
|
@@ -170,14 +184,26 @@ class ScheduledMessage < Entity
|
|
170
184
|
get('content')
|
171
185
|
end
|
172
186
|
|
187
|
+
def content=(value)
|
188
|
+
set('content', value)
|
189
|
+
end
|
190
|
+
|
173
191
|
def rrule
|
174
192
|
get('rrule')
|
175
193
|
end
|
176
194
|
|
195
|
+
def rrule=(value)
|
196
|
+
set('rrule', value)
|
197
|
+
end
|
198
|
+
|
177
199
|
def timezone_id
|
178
200
|
get('timezone_id')
|
179
201
|
end
|
180
202
|
|
203
|
+
def timezone_id=(value)
|
204
|
+
set('timezone_id', value)
|
205
|
+
end
|
206
|
+
|
181
207
|
def recipients
|
182
208
|
get('recipients')
|
183
209
|
end
|
@@ -190,34 +216,66 @@ class ScheduledMessage < Entity
|
|
190
216
|
get('group_id')
|
191
217
|
end
|
192
218
|
|
219
|
+
def group_id=(value)
|
220
|
+
set('group_id', value)
|
221
|
+
end
|
222
|
+
|
193
223
|
def contact_id
|
194
224
|
get('contact_id')
|
195
225
|
end
|
196
226
|
|
227
|
+
def contact_id=(value)
|
228
|
+
set('contact_id', value)
|
229
|
+
end
|
230
|
+
|
197
231
|
def to_number
|
198
232
|
get('to_number')
|
199
233
|
end
|
200
234
|
|
235
|
+
def to_number=(value)
|
236
|
+
set('to_number', value)
|
237
|
+
end
|
238
|
+
|
201
239
|
def route_id
|
202
240
|
get('route_id')
|
203
241
|
end
|
204
242
|
|
243
|
+
def route_id=(value)
|
244
|
+
set('route_id', value)
|
245
|
+
end
|
246
|
+
|
205
247
|
def service_id
|
206
248
|
get('service_id')
|
207
249
|
end
|
208
250
|
|
251
|
+
def service_id=(value)
|
252
|
+
set('service_id', value)
|
253
|
+
end
|
254
|
+
|
209
255
|
def audio_url
|
210
256
|
get('audio_url')
|
211
257
|
end
|
212
258
|
|
259
|
+
def audio_url=(value)
|
260
|
+
set('audio_url', value)
|
261
|
+
end
|
262
|
+
|
213
263
|
def tts_lang
|
214
264
|
get('tts_lang')
|
215
265
|
end
|
216
266
|
|
267
|
+
def tts_lang=(value)
|
268
|
+
set('tts_lang', value)
|
269
|
+
end
|
270
|
+
|
217
271
|
def tts_voice
|
218
272
|
get('tts_voice')
|
219
273
|
end
|
220
274
|
|
275
|
+
def tts_voice=(value)
|
276
|
+
set('tts_voice', value)
|
277
|
+
end
|
278
|
+
|
221
279
|
def message_type
|
222
280
|
get('message_type')
|
223
281
|
end
|
@@ -230,10 +288,18 @@ class ScheduledMessage < Entity
|
|
230
288
|
get('start_time')
|
231
289
|
end
|
232
290
|
|
291
|
+
def start_time=(value)
|
292
|
+
set('start_time', value)
|
293
|
+
end
|
294
|
+
|
233
295
|
def end_time
|
234
296
|
get('end_time')
|
235
297
|
end
|
236
298
|
|
299
|
+
def end_time=(value)
|
300
|
+
set('end_time', value)
|
301
|
+
end
|
302
|
+
|
237
303
|
def prev_time
|
238
304
|
get('prev_time')
|
239
305
|
end
|
@@ -246,22 +312,46 @@ class ScheduledMessage < Entity
|
|
246
312
|
get('occurrences')
|
247
313
|
end
|
248
314
|
|
249
|
-
def
|
250
|
-
get('
|
315
|
+
def replace_variables
|
316
|
+
get('replace_variables')
|
317
|
+
end
|
318
|
+
|
319
|
+
def replace_variables=(value)
|
320
|
+
set('replace_variables', value)
|
251
321
|
end
|
252
322
|
|
253
323
|
def track_clicks
|
254
324
|
get('track_clicks')
|
255
325
|
end
|
256
326
|
|
327
|
+
def track_clicks=(value)
|
328
|
+
set('track_clicks', value)
|
329
|
+
end
|
330
|
+
|
257
331
|
def media
|
258
332
|
get('media')
|
259
333
|
end
|
260
334
|
|
335
|
+
def route_params
|
336
|
+
get('route_params')
|
337
|
+
end
|
338
|
+
|
339
|
+
def route_params=(value)
|
340
|
+
set('route_params', value)
|
341
|
+
end
|
342
|
+
|
261
343
|
def label_ids
|
262
344
|
get('label_ids')
|
263
345
|
end
|
264
346
|
|
347
|
+
def label_ids=(value)
|
348
|
+
set('label_ids', value)
|
349
|
+
end
|
350
|
+
|
351
|
+
def relative_scheduled_id
|
352
|
+
get('relative_scheduled_id')
|
353
|
+
end
|
354
|
+
|
265
355
|
def project_id
|
266
356
|
get('project_id')
|
267
357
|
end
|