telerivet 1.1.7 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/telerivet.rb +34 -31
- data/lib/telerivet/broadcast.rb +275 -0
- data/lib/telerivet/contact.rb +3 -0
- data/lib/telerivet/contactservicestate.rb +7 -7
- data/lib/telerivet/datarow.rb +7 -7
- data/lib/telerivet/datatable.rb +8 -9
- data/lib/telerivet/group.rb +7 -7
- data/lib/telerivet/label.rb +10 -7
- data/lib/telerivet/message.rb +36 -1
- data/lib/telerivet/mobilemoneyreceipt.rb +7 -7
- data/lib/telerivet/phone.rb +10 -7
- data/lib/telerivet/project.rb +195 -31
- data/lib/telerivet/route.rb +7 -7
- data/lib/telerivet/scheduledmessage.rb +35 -8
- data/lib/telerivet/service.rb +41 -41
- metadata +4 -3
data/lib/telerivet/datarow.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
module Telerivet
|
3
|
-
|
1
|
+
|
2
|
+
module Telerivet
|
3
|
+
|
4
4
|
#
|
5
5
|
# Represents a row in a custom data table.
|
6
6
|
#
|
@@ -47,7 +47,7 @@ module Telerivet
|
|
47
47
|
# * ID of the project this data row belongs to
|
48
48
|
# * Read-only
|
49
49
|
#
|
50
|
-
class DataRow < Entity
|
50
|
+
class DataRow < Entity
|
51
51
|
#
|
52
52
|
# Saves any fields or custom variables that have changed for this data row.
|
53
53
|
#
|
@@ -102,6 +102,6 @@ class DataRow < Entity
|
|
102
102
|
"/projects/#{get('project_id')}/tables/#{get('table_id')}/rows/#{get('id')}"
|
103
103
|
end
|
104
104
|
|
105
|
-
end
|
106
|
-
|
107
|
-
end
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
data/lib/telerivet/datatable.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
|
2
|
-
module Telerivet
|
3
|
-
|
1
|
+
|
2
|
+
module Telerivet
|
3
|
+
|
4
4
|
#
|
5
5
|
# Represents a custom data table that can store arbitrary rows.
|
6
6
|
#
|
7
|
-
# For example, poll services use data tables to store a row for each
|
8
|
-
# response.
|
7
|
+
# For example, poll services use data tables to store a row for each response.
|
9
8
|
#
|
10
9
|
# DataTables are schemaless -- each row simply stores custom variables. Each
|
11
10
|
# variable name is equivalent to a different "column" of the data table.
|
@@ -34,7 +33,7 @@ module Telerivet
|
|
34
33
|
# * ID of the project this data table belongs to
|
35
34
|
# * Read-only
|
36
35
|
#
|
37
|
-
class DataTable < Entity
|
36
|
+
class DataTable < Entity
|
38
37
|
#
|
39
38
|
# Queries rows in this data table.
|
40
39
|
#
|
@@ -203,6 +202,6 @@ class DataTable < Entity
|
|
203
202
|
"/projects/#{get('project_id')}/tables/#{get('id')}"
|
204
203
|
end
|
205
204
|
|
206
|
-
end
|
207
|
-
|
208
|
-
end
|
205
|
+
end
|
206
|
+
|
207
|
+
end
|
data/lib/telerivet/group.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
module Telerivet
|
3
|
-
|
1
|
+
|
2
|
+
module Telerivet
|
3
|
+
|
4
4
|
#
|
5
5
|
# Represents a group used to organize contacts within Telerivet.
|
6
6
|
#
|
@@ -34,7 +34,7 @@ module Telerivet
|
|
34
34
|
# * ID of the project this group belongs to
|
35
35
|
# * Read-only
|
36
36
|
#
|
37
|
-
class Group < Entity
|
37
|
+
class Group < Entity
|
38
38
|
#
|
39
39
|
# Queries contacts that are members of the given group.
|
40
40
|
#
|
@@ -209,6 +209,6 @@ class Group < Entity
|
|
209
209
|
"/projects/#{get('project_id')}/groups/#{get('id')}"
|
210
210
|
end
|
211
211
|
|
212
|
-
end
|
213
|
-
|
214
|
-
end
|
212
|
+
end
|
213
|
+
|
214
|
+
end
|
data/lib/telerivet/label.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
module Telerivet
|
3
|
-
|
1
|
+
|
2
|
+
module Telerivet
|
3
|
+
|
4
4
|
#
|
5
5
|
# Represents a label used to organize messages within Telerivet.
|
6
6
|
#
|
@@ -26,7 +26,7 @@ module Telerivet
|
|
26
26
|
# * ID of the project this label belongs to
|
27
27
|
# * Read-only
|
28
28
|
#
|
29
|
-
class Label < Entity
|
29
|
+
class Label < Entity
|
30
30
|
#
|
31
31
|
# Queries messages with the given label.
|
32
32
|
#
|
@@ -59,6 +59,9 @@ class Label < Entity
|
|
59
59
|
# - time_created[max] (UNIX timestamp)
|
60
60
|
# * Filter messages created before a particular time
|
61
61
|
#
|
62
|
+
# - external_id
|
63
|
+
# * Filter messages by ID from an external provider
|
64
|
+
#
|
62
65
|
# - contact_id
|
63
66
|
# * ID of the contact who sent/received the message
|
64
67
|
#
|
@@ -129,6 +132,6 @@ class Label < Entity
|
|
129
132
|
"/projects/#{get('project_id')}/labels/#{get('id')}"
|
130
133
|
end
|
131
134
|
|
132
|
-
end
|
133
|
-
|
134
|
-
end
|
135
|
+
end
|
136
|
+
|
137
|
+
end
|
data/lib/telerivet/message.rb
CHANGED
@@ -59,7 +59,7 @@ module Telerivet
|
|
59
59
|
# * Updatable via API
|
60
60
|
#
|
61
61
|
# - simulated (bool)
|
62
|
-
# * Whether this message
|
62
|
+
# * Whether this message was simulated within Telerivet for testing (and not actually
|
63
63
|
# sent to or received by a real phone)
|
64
64
|
# * Read-only
|
65
65
|
#
|
@@ -98,6 +98,21 @@ module Telerivet
|
|
98
98
|
# known.
|
99
99
|
# * Read-only
|
100
100
|
#
|
101
|
+
# - audio_url
|
102
|
+
# * For voice calls, the URL of an MP3 file to play when the contact answers the call
|
103
|
+
# * Read-only
|
104
|
+
#
|
105
|
+
# - tts_lang
|
106
|
+
# * For voice calls, the language of the text-to-speech voice
|
107
|
+
# * Allowed values: en-US, en-GB, en-GB-WLS, en-AU, en-IN, da-DK, nl-NL, fr-FR, fr-CA,
|
108
|
+
# de-DE, is-IS, it-IT, pl-PL, pt-BR, pt-PT, ru-RU, es-ES, es-US, sv-SE
|
109
|
+
# * Read-only
|
110
|
+
#
|
111
|
+
# - tts_voice
|
112
|
+
# * For voice calls, the text-to-speech voice
|
113
|
+
# * Allowed values: female, male
|
114
|
+
# * Read-only
|
115
|
+
#
|
101
116
|
# - mms_parts (array)
|
102
117
|
# * A list of parts in the MMS message, the same as returned by the
|
103
118
|
# [getMMSParts](#Message.getMMSParts) method.
|
@@ -124,6 +139,10 @@ module Telerivet
|
|
124
139
|
# * ID of the route that sent the message (if applicable)
|
125
140
|
# * Read-only
|
126
141
|
#
|
142
|
+
# - broadcast_id (string, max 34 characters)
|
143
|
+
# * ID of the broadcast that this message is part of (if applicable)
|
144
|
+
# * Read-only
|
145
|
+
#
|
127
146
|
# - user_id (string, max 34 characters)
|
128
147
|
# * ID of the Telerivet user who sent the message (if applicable)
|
129
148
|
# * Read-only
|
@@ -327,6 +346,18 @@ class Message < Entity
|
|
327
346
|
get('ring_time')
|
328
347
|
end
|
329
348
|
|
349
|
+
def audio_url
|
350
|
+
get('audio_url')
|
351
|
+
end
|
352
|
+
|
353
|
+
def tts_lang
|
354
|
+
get('tts_lang')
|
355
|
+
end
|
356
|
+
|
357
|
+
def tts_voice
|
358
|
+
get('tts_voice')
|
359
|
+
end
|
360
|
+
|
330
361
|
def mms_parts
|
331
362
|
get('mms_parts')
|
332
363
|
end
|
@@ -347,6 +378,10 @@ class Message < Entity
|
|
347
378
|
get('route_id')
|
348
379
|
end
|
349
380
|
|
381
|
+
def broadcast_id
|
382
|
+
get('broadcast_id')
|
383
|
+
end
|
384
|
+
|
350
385
|
def user_id
|
351
386
|
get('user_id')
|
352
387
|
end
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
module Telerivet
|
3
|
-
|
1
|
+
|
2
|
+
module Telerivet
|
3
|
+
|
4
4
|
#
|
5
5
|
# Represents a receipt received from a mobile money system such as Safaricom M-Pesa (Kenya),
|
6
6
|
# Vodacom M-Pesa (Tanzania), or Tigo Pesa (Tanzania).
|
@@ -91,7 +91,7 @@ module Telerivet
|
|
91
91
|
# * ID of the project this receipt belongs to
|
92
92
|
# * Read-only
|
93
93
|
#
|
94
|
-
class MobileMoneyReceipt < Entity
|
94
|
+
class MobileMoneyReceipt < Entity
|
95
95
|
#
|
96
96
|
# Saves any fields or custom variables that have changed for this mobile money receipt.
|
97
97
|
#
|
@@ -182,6 +182,6 @@ class MobileMoneyReceipt < Entity
|
|
182
182
|
"/projects/#{get('project_id')}/receipts/#{get('id')}"
|
183
183
|
end
|
184
184
|
|
185
|
-
end
|
186
|
-
|
187
|
-
end
|
185
|
+
end
|
186
|
+
|
187
|
+
end
|
data/lib/telerivet/phone.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
module Telerivet
|
3
|
-
|
1
|
+
|
2
|
+
module Telerivet
|
3
|
+
|
4
4
|
#
|
5
5
|
# Represents a phone or gateway that you use to send/receive messages via Telerivet.
|
6
6
|
#
|
@@ -94,7 +94,7 @@ module Telerivet
|
|
94
94
|
# (only present for Android phones)
|
95
95
|
# * Read-only
|
96
96
|
#
|
97
|
-
class Phone < Entity
|
97
|
+
class Phone < Entity
|
98
98
|
#
|
99
99
|
# Queries messages sent or received by this phone.
|
100
100
|
#
|
@@ -127,6 +127,9 @@ class Phone < Entity
|
|
127
127
|
# - time_created[max] (UNIX timestamp)
|
128
128
|
# * Filter messages created before a particular time
|
129
129
|
#
|
130
|
+
# - external_id
|
131
|
+
# * Filter messages by ID from an external provider
|
132
|
+
#
|
130
133
|
# - contact_id
|
131
134
|
# * ID of the contact who sent/received the message
|
132
135
|
#
|
@@ -254,6 +257,6 @@ class Phone < Entity
|
|
254
257
|
"/projects/#{get('project_id')}/phones/#{get('id')}"
|
255
258
|
end
|
256
259
|
|
257
|
-
end
|
258
|
-
|
259
|
-
end
|
260
|
+
end
|
261
|
+
|
262
|
+
end
|
data/lib/telerivet/project.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
module Telerivet
|
3
|
-
|
1
|
+
|
2
|
+
module Telerivet
|
3
|
+
|
4
4
|
#
|
5
5
|
# Represents a Telerivet project.
|
6
6
|
#
|
@@ -23,11 +23,15 @@ module Telerivet
|
|
23
23
|
# <http://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
|
24
24
|
# * Read-only
|
25
25
|
#
|
26
|
+
# - url_slug
|
27
|
+
# * Unique string used as a component of the project's URL in the Telerivet web app
|
28
|
+
# * Read-only
|
29
|
+
#
|
26
30
|
# - vars (Hash)
|
27
31
|
# * Custom variables stored for this project
|
28
32
|
# * Updatable via API
|
29
33
|
#
|
30
|
-
class Project < Entity
|
34
|
+
class Project < Entity
|
31
35
|
#
|
32
36
|
# Sends one message (SMS, voice call, or USSD request).
|
33
37
|
#
|
@@ -35,8 +39,14 @@ class Project < Entity
|
|
35
39
|
# - options (Hash)
|
36
40
|
# * Required
|
37
41
|
#
|
42
|
+
# - message_type
|
43
|
+
# * Type of message to send
|
44
|
+
# * Allowed values: sms, ussd, call
|
45
|
+
# * Default: sms
|
46
|
+
#
|
38
47
|
# - content
|
39
|
-
# * Content of the message to send
|
48
|
+
# * Content of the message to send (if message_type=call, the text will be spoken
|
49
|
+
# during a text-to-speech call)
|
40
50
|
# * Required if sending SMS message
|
41
51
|
#
|
42
52
|
# - to_number (string)
|
@@ -52,8 +62,29 @@ class Project < Entity
|
|
52
62
|
# * Default: default sender phone ID for your project
|
53
63
|
#
|
54
64
|
# - service_id
|
55
|
-
# * Service that defines the call flow of the voice call
|
56
|
-
#
|
65
|
+
# * Service that defines the call flow of the voice call (when message_type=call)
|
66
|
+
#
|
67
|
+
# - audio_url
|
68
|
+
# * The URL of an MP3 file to play when the contact answers the call (when
|
69
|
+
# message_type=call).
|
70
|
+
#
|
71
|
+
# If audio_url is provided, the text-to-speech voice is not used to say
|
72
|
+
# `content`, although you can optionally use `content` to indicate the script for the
|
73
|
+
# audio.
|
74
|
+
#
|
75
|
+
# For best results, use an MP3 file containing only speech. Music is not
|
76
|
+
# recommended because the audio quality will be low when played over a phone line.
|
77
|
+
#
|
78
|
+
# - tts_lang
|
79
|
+
# * The language of the text-to-speech voice (when message_type=call)
|
80
|
+
# * Allowed values: en-US, en-GB, en-GB-WLS, en-AU, en-IN, da-DK, nl-NL, fr-FR, fr-CA,
|
81
|
+
# de-DE, is-IS, it-IT, pl-PL, pt-BR, pt-PT, ru-RU, es-ES, es-US, sv-SE
|
82
|
+
# * Default: en-US
|
83
|
+
#
|
84
|
+
# - tts_voice
|
85
|
+
# * The name of the text-to-speech voice (when message_type=call)
|
86
|
+
# * Allowed values: female, male
|
87
|
+
# * Default: female
|
57
88
|
#
|
58
89
|
# - status_url
|
59
90
|
# * Webhook callback URL to be notified when message status changes
|
@@ -69,11 +100,6 @@ class Project < Entity
|
|
69
100
|
# - label_ids (array)
|
70
101
|
# * List of IDs of labels to add to this message
|
71
102
|
#
|
72
|
-
# - message_type
|
73
|
-
# * Type of message to send
|
74
|
-
# * Allowed values: sms, ussd, call
|
75
|
-
# * Default: sms
|
76
|
-
#
|
77
103
|
# - vars (Hash)
|
78
104
|
# * Custom variables to store with the message
|
79
105
|
#
|
@@ -82,6 +108,14 @@ class Project < Entity
|
|
82
108
|
# will attempt to send messages with higher priority numbers first (for example, so
|
83
109
|
# you can prioritize an auto-reply ahead of a bulk message to a large group).
|
84
110
|
# * Default: 1
|
111
|
+
#
|
112
|
+
# - user_id
|
113
|
+
# * ID of the Telerivet user account that sent the message (use
|
114
|
+
# [project.getUsers](#Project.getUsers) to look up user IDs). In order to use this
|
115
|
+
# parameter, the user account associated with the API key must have administrator
|
116
|
+
# permissions for the project, and the user account associated with the user_id
|
117
|
+
# parameter must have access to the project.
|
118
|
+
# * Default: User account associated with the API key
|
85
119
|
#
|
86
120
|
# Returns:
|
87
121
|
# Telerivet::Message
|
@@ -99,6 +133,11 @@ class Project < Entity
|
|
99
133
|
# - options (Hash)
|
100
134
|
# * Required
|
101
135
|
#
|
136
|
+
# - message_type
|
137
|
+
# * Type of message to send
|
138
|
+
# * Allowed values: sms, call
|
139
|
+
# * Default: sms
|
140
|
+
#
|
102
141
|
# - content
|
103
142
|
# * Content of the message to send
|
104
143
|
# * Required if sending SMS message
|
@@ -116,8 +155,29 @@ class Project < Entity
|
|
116
155
|
# * Default: default sender phone ID
|
117
156
|
#
|
118
157
|
# - service_id
|
119
|
-
# * Service that defines the call flow of the voice call
|
120
|
-
#
|
158
|
+
# * Service that defines the call flow of the voice call (when message_type=call)
|
159
|
+
#
|
160
|
+
# - audio_url
|
161
|
+
# * The URL of an MP3 file to play when the contact answers the call (when
|
162
|
+
# message_type=call).
|
163
|
+
#
|
164
|
+
# If audio_url is provided, the text-to-speech voice is not used to say
|
165
|
+
# `content`, although you can optionally use `content` to indicate the script for the
|
166
|
+
# audio.
|
167
|
+
#
|
168
|
+
# For best results, use an MP3 file containing only speech. Music is not
|
169
|
+
# recommended because the audio quality will be low when played over a phone line.
|
170
|
+
#
|
171
|
+
# - tts_lang
|
172
|
+
# * The language of the text-to-speech voice (when message_type=call)
|
173
|
+
# * Allowed values: en-US, en-GB, en-GB-WLS, en-AU, en-IN, da-DK, nl-NL, fr-FR, fr-CA,
|
174
|
+
# de-DE, is-IS, it-IT, pl-PL, pt-BR, pt-PT, ru-RU, es-ES, es-US, sv-SE
|
175
|
+
# * Default: en-US
|
176
|
+
#
|
177
|
+
# - tts_voice
|
178
|
+
# * The name of the text-to-speech voice (when message_type=call)
|
179
|
+
# * Allowed values: female, male
|
180
|
+
# * Default: female
|
121
181
|
#
|
122
182
|
# - status_url
|
123
183
|
# * Webhook callback URL to be notified when message status changes
|
@@ -132,11 +192,6 @@ class Project < Entity
|
|
132
192
|
# * Optionally excludes one contact from receiving the message (only when group_id is
|
133
193
|
# set)
|
134
194
|
#
|
135
|
-
# - message_type
|
136
|
-
# * Type of message to send
|
137
|
-
# * Allowed values: sms, call
|
138
|
-
# * Default: sms
|
139
|
-
#
|
140
195
|
# - is_template (bool)
|
141
196
|
# * Set to true to evaluate variables like [[contact.name]] in message content [(See
|
142
197
|
# available variables)](#variables)
|
@@ -149,9 +204,14 @@ class Project < Entity
|
|
149
204
|
# (associative array)
|
150
205
|
# - count_queued (int)
|
151
206
|
# * Number of messages queued to send
|
207
|
+
#
|
208
|
+
# - broadcast_id
|
209
|
+
# * ID of broadcast created for this message batch. If count\_queued is 0 or 1, a
|
210
|
+
# broadcast will not be created, and the broadcast\_id property will be null.
|
152
211
|
#
|
153
212
|
def send_messages(options)
|
154
|
-
|
213
|
+
data = @api.do_request("POST", get_base_api_path() + "/messages/send_batch", options)
|
214
|
+
return data
|
155
215
|
end
|
156
216
|
|
157
217
|
#
|
@@ -163,6 +223,11 @@ class Project < Entity
|
|
163
223
|
# - options (Hash)
|
164
224
|
# * Required
|
165
225
|
#
|
226
|
+
# - message_type
|
227
|
+
# * Type of message to send
|
228
|
+
# * Allowed values: sms, ussd
|
229
|
+
# * Default: sms
|
230
|
+
#
|
166
231
|
# - content
|
167
232
|
# * Content of the message to schedule
|
168
233
|
# * Required if sending SMS message
|
@@ -194,13 +259,29 @@ class Project < Entity
|
|
194
259
|
# * Default: default sender phone ID
|
195
260
|
#
|
196
261
|
# - service_id
|
197
|
-
# * Service that defines the call flow of the voice call
|
198
|
-
#
|
199
|
-
#
|
200
|
-
#
|
201
|
-
#
|
202
|
-
#
|
203
|
-
#
|
262
|
+
# * Service that defines the call flow of the voice call (when message_type=call)
|
263
|
+
#
|
264
|
+
# - audio_url
|
265
|
+
# * The URL of an MP3 file to play when the contact answers the call (when
|
266
|
+
# message_type=call).
|
267
|
+
#
|
268
|
+
# If audio_url is provided, the text-to-speech voice is not used to say
|
269
|
+
# `content`, although you can optionally use `content` to indicate the script for the
|
270
|
+
# audio.
|
271
|
+
#
|
272
|
+
# For best results, use an MP3 file containing only speech. Music is not
|
273
|
+
# recommended because the audio quality will be low when played over a phone line.
|
274
|
+
#
|
275
|
+
# - tts_lang
|
276
|
+
# * The language of the text-to-speech voice (when message_type=call)
|
277
|
+
# * Allowed values: en-US, en-GB, en-GB-WLS, en-AU, en-IN, da-DK, nl-NL, fr-FR, fr-CA,
|
278
|
+
# de-DE, is-IS, it-IT, pl-PL, pt-BR, pt-PT, ru-RU, es-ES, es-US, sv-SE
|
279
|
+
# * Default: en-US
|
280
|
+
#
|
281
|
+
# - tts_voice
|
282
|
+
# * The name of the text-to-speech voice (when message_type=call)
|
283
|
+
# * Allowed values: female, male
|
284
|
+
# * Default: female
|
204
285
|
#
|
205
286
|
# - is_template (bool)
|
206
287
|
# * Set to true to evaluate variables like [[contact.name]] in message content
|
@@ -562,6 +643,9 @@ class Project < Entity
|
|
562
643
|
# - time_created[max] (UNIX timestamp)
|
563
644
|
# * Filter messages created before a particular time
|
564
645
|
#
|
646
|
+
# - external_id
|
647
|
+
# * Filter messages by ID from an external provider
|
648
|
+
#
|
565
649
|
# - contact_id
|
566
650
|
# * ID of the contact who sent/received the message
|
567
651
|
#
|
@@ -626,6 +710,82 @@ class Project < Entity
|
|
626
710
|
return Message.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
627
711
|
end
|
628
712
|
|
713
|
+
#
|
714
|
+
# Queries broadcasts within the given project.
|
715
|
+
#
|
716
|
+
# Arguments:
|
717
|
+
# - options (Hash)
|
718
|
+
#
|
719
|
+
# - time_created[min] (UNIX timestamp)
|
720
|
+
# * Filter broadcasts created on or after a particular time
|
721
|
+
#
|
722
|
+
# - time_created[max] (UNIX timestamp)
|
723
|
+
# * Filter broadcasts created before a particular time
|
724
|
+
#
|
725
|
+
# - last_message_time[min] (UNIX timestamp)
|
726
|
+
# * Filter broadcasts with most recent message on or after a particular time
|
727
|
+
#
|
728
|
+
# - last_message_time[max] (UNIX timestamp)
|
729
|
+
# * Filter broadcasts with most recent message before a particular time
|
730
|
+
#
|
731
|
+
# - sort
|
732
|
+
# * Sort the results based on a field
|
733
|
+
# * Allowed values: default, last_message_time
|
734
|
+
# * Default: default
|
735
|
+
#
|
736
|
+
# - sort_dir
|
737
|
+
# * Sort the results in ascending or descending order
|
738
|
+
# * Allowed values: asc, desc
|
739
|
+
# * Default: asc
|
740
|
+
#
|
741
|
+
# - page_size (int)
|
742
|
+
# * Number of results returned per page (max 200)
|
743
|
+
# * Default: 50
|
744
|
+
#
|
745
|
+
# - offset (int)
|
746
|
+
# * Number of items to skip from beginning of result set
|
747
|
+
# * Default: 0
|
748
|
+
#
|
749
|
+
# Returns:
|
750
|
+
# Telerivet::APICursor (of Telerivet::Broadcast)
|
751
|
+
#
|
752
|
+
def query_broadcasts(options = nil)
|
753
|
+
require_relative 'broadcast'
|
754
|
+
@api.cursor(Broadcast, get_base_api_path() + "/broadcasts", options)
|
755
|
+
end
|
756
|
+
|
757
|
+
#
|
758
|
+
# Retrieves the broadcast with the given ID.
|
759
|
+
#
|
760
|
+
# Arguments:
|
761
|
+
# - id
|
762
|
+
# * ID of the broadcast
|
763
|
+
# * Required
|
764
|
+
#
|
765
|
+
# Returns:
|
766
|
+
# Telerivet::Broadcast
|
767
|
+
#
|
768
|
+
def get_broadcast_by_id(id)
|
769
|
+
require_relative 'broadcast'
|
770
|
+
Broadcast.new(@api, @api.do_request("GET", get_base_api_path() + "/broadcasts/#{id}"))
|
771
|
+
end
|
772
|
+
|
773
|
+
#
|
774
|
+
# Initializes the Telerivet broadcast with the given ID without making an API request.
|
775
|
+
#
|
776
|
+
# Arguments:
|
777
|
+
# - id
|
778
|
+
# * ID of the broadcast
|
779
|
+
# * Required
|
780
|
+
#
|
781
|
+
# Returns:
|
782
|
+
# Telerivet::Broadcast
|
783
|
+
#
|
784
|
+
def init_broadcast_by_id(id)
|
785
|
+
require_relative 'broadcast'
|
786
|
+
return Broadcast.new(@api, {'project_id' => self.id, 'id' => id}, false)
|
787
|
+
end
|
788
|
+
|
629
789
|
#
|
630
790
|
# Queries groups within the given project.
|
631
791
|
#
|
@@ -977,7 +1137,7 @@ class Project < Entity
|
|
977
1137
|
#
|
978
1138
|
# - context
|
979
1139
|
# * Filter services that can be invoked in a particular context
|
980
|
-
# * Allowed values: message, contact, project
|
1140
|
+
# * Allowed values: message, call, contact, project
|
981
1141
|
#
|
982
1142
|
# - sort
|
983
1143
|
# * Sort the results based on a field
|
@@ -1228,10 +1388,14 @@ class Project < Entity
|
|
1228
1388
|
get('timezone_id')
|
1229
1389
|
end
|
1230
1390
|
|
1391
|
+
def url_slug
|
1392
|
+
get('url_slug')
|
1393
|
+
end
|
1394
|
+
|
1231
1395
|
def get_base_api_path()
|
1232
1396
|
"/projects/#{get('id')}"
|
1233
1397
|
end
|
1234
1398
|
|
1235
|
-
end
|
1236
|
-
|
1237
|
-
end
|
1399
|
+
end
|
1400
|
+
|
1401
|
+
end
|