twilio-ruby 5.18.0 → 5.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +0 -4
  3. data/CHANGES.md +20 -0
  4. data/LICENSE.md +1 -1
  5. data/README.md +2 -2
  6. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +21 -13
  7. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +2 -1
  8. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +4 -4
  9. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +6 -6
  10. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +80 -70
  11. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +204 -196
  12. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +59 -53
  13. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +69 -61
  14. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +30 -25
  15. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +28 -16
  16. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +31 -20
  17. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +54 -50
  18. data/lib/twilio-ruby/rest/api.rb +7 -6
  19. data/lib/twilio-ruby/rest/authy/v1.rb +15 -15
  20. data/lib/twilio-ruby/rest/authy.rb +8 -8
  21. data/lib/twilio-ruby/rest/client.rb +14 -6
  22. data/lib/twilio-ruby/rest/insights/v1/summary.rb +286 -0
  23. data/lib/twilio-ruby/rest/insights/v1.rb +43 -0
  24. data/lib/twilio-ruby/rest/insights.rb +46 -0
  25. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +22 -14
  26. data/lib/twilio-ruby/rest/preview/marketplace.rb +13 -13
  27. data/lib/twilio-ruby/rest/preview.rb +8 -8
  28. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +5 -28
  29. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +5 -9
  30. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -13
  31. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +1 -1
  32. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +1 -1
  33. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +4 -2
  34. data/lib/twilio-ruby/rest/trunking/v1.rb +2 -1
  35. data/lib/twilio-ruby/rest/verify/v1/service/verification.rb +7 -0
  36. data/lib/twilio-ruby/rest/verify/v1/service/verification_check.rb +7 -4
  37. data/lib/twilio-ruby/rest/video/v1/composition.rb +25 -13
  38. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +69 -74
  39. data/lib/twilio-ruby/rest/video/v1/recording.rb +13 -7
  40. data/lib/twilio-ruby/rest/video/v1.rb +16 -16
  41. data/lib/twilio-ruby/rest/video.rb +9 -9
  42. data/lib/twilio-ruby/rest/voice/v1/voice_permission/bulk_country_update.rb +3 -3
  43. data/lib/twilio-ruby/rest/voice/v1/voice_permission/country/highrisk_special_prefix.rb +2 -2
  44. data/lib/twilio-ruby/rest/voice/v1/voice_permission/country.rb +20 -20
  45. data/lib/twilio-ruby/version.rb +1 -1
  46. data/spec/integration/api/v2010/account/sip/domain_spec.rb +8 -4
  47. data/spec/integration/insights/v1/summary_spec.rb +60 -0
  48. data/spec/integration/proxy/v1/service/phone_number_spec.rb +2 -2
  49. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +1 -1
  50. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +2 -2
  51. data/spec/integration/proxy/v1/service/session/participant_spec.rb +66 -4
  52. data/spec/integration/proxy/v1/service/session_spec.rb +8 -8
  53. data/spec/integration/proxy/v1/service_spec.rb +3 -3
  54. data/spec/integration/trunking/v1/trunk_spec.rb +80 -0
  55. data/spec/integration/verify/v1/service/verification_spec.rb +10 -1
  56. data/twilio-ruby.gemspec +1 -2
  57. metadata +16 -6
@@ -84,7 +84,7 @@ module Twilio
84
84
  end
85
85
 
86
86
  ##
87
- # @param [String] sid A 34-character string that uniquely identifies the Call
87
+ # @param [String] sid The unique string that that we created to identify this Call
88
88
  # resource.
89
89
  # @return [Twilio::REST::Api::V2010::AccountContext::CallInstance] if sid was passed.
90
90
  # @return [Twilio::REST::Api::V2010::AccountContext::CallList]
@@ -93,8 +93,8 @@ module Twilio
93
93
  end
94
94
 
95
95
  ##
96
- # @param [String] sid A 34 character string that uniquely identifies this
97
- # conference.
96
+ # @param [String] sid The unique string that that we created to identify this
97
+ # Conference resource.
98
98
  # @return [Twilio::REST::Api::V2010::AccountContext::ConferenceInstance] if sid was passed.
99
99
  # @return [Twilio::REST::Api::V2010::AccountContext::ConferenceList]
100
100
  def conferences(sid=:unset)
@@ -167,7 +167,8 @@ module Twilio
167
167
  end
168
168
 
169
169
  ##
170
- # @param [String] sid A 34 character string that uniquely identifies this queue.
170
+ # @param [String] sid The unique string that that we created to identify this
171
+ # Queue resource.
171
172
  # @return [Twilio::REST::Api::V2010::AccountContext::QueueInstance] if sid was passed.
172
173
  # @return [Twilio::REST::Api::V2010::AccountContext::QueueList]
173
174
  def queues(sid=:unset)
@@ -198,8 +199,8 @@ module Twilio
198
199
  end
199
200
 
200
201
  ##
201
- # @param [String] sid A 34 character string that uniquely identifies this
202
- # resource.
202
+ # @param [String] sid The unique string that that we created to identify this
203
+ # ShortCode resource.
203
204
  # @return [Twilio::REST::Api::V2010::AccountContext::ShortCodeInstance] if sid was passed.
204
205
  # @return [Twilio::REST::Api::V2010::AccountContext::ShortCodeList]
205
206
  def short_codes(sid=:unset)
@@ -15,22 +15,8 @@ module Twilio
15
15
  def initialize(domain)
16
16
  super
17
17
  @version = 'v1'
18
- @services = nil
19
18
  @forms = nil
20
- end
21
-
22
- ##
23
- # @param [String] sid A 34 character string that uniquely identifies this Service.
24
- # @return [Twilio::REST::Authy::V1::ServiceContext] if sid was passed.
25
- # @return [Twilio::REST::Authy::V1::ServiceList]
26
- def services(sid=:unset)
27
- if sid.nil?
28
- raise ArgumentError, 'sid cannot be nil'
29
- elsif sid == :unset
30
- @services ||= ServiceList.new self
31
- else
32
- ServiceContext.new(self, sid)
33
- end
19
+ @services = nil
34
20
  end
35
21
 
36
22
  ##
@@ -48,6 +34,20 @@ module Twilio
48
34
  end
49
35
  end
50
36
 
37
+ ##
38
+ # @param [String] sid A 34 character string that uniquely identifies this Service.
39
+ # @return [Twilio::REST::Authy::V1::ServiceContext] if sid was passed.
40
+ # @return [Twilio::REST::Authy::V1::ServiceList]
41
+ def services(sid=:unset)
42
+ if sid.nil?
43
+ raise ArgumentError, 'sid cannot be nil'
44
+ elsif sid == :unset
45
+ @services ||= ServiceList.new self
46
+ else
47
+ ServiceContext.new(self, sid)
48
+ end
49
+ end
50
+
51
51
  ##
52
52
  # Provide a user friendly representation
53
53
  def to_s
@@ -28,14 +28,6 @@ module Twilio
28
28
  @v1 ||= V1.new self
29
29
  end
30
30
 
31
- ##
32
- # @param [String] sid A 34 character string that uniquely identifies this Service.
33
- # @return [Twilio::REST::Authy::V1::ServiceInstance] if sid was passed.
34
- # @return [Twilio::REST::Authy::V1::ServiceList]
35
- def services(sid=:unset)
36
- self.v1.services(sid)
37
- end
38
-
39
31
  ##
40
32
  # @param [form.FormTypes] form_type The Type of this Form. One of `form-app-push`,
41
33
  # `form-sms` or `form-totp`.
@@ -45,6 +37,14 @@ module Twilio
45
37
  self.v1.forms(form_type)
46
38
  end
47
39
 
40
+ ##
41
+ # @param [String] sid A 34 character string that uniquely identifies this Service.
42
+ # @return [Twilio::REST::Authy::V1::ServiceInstance] if sid was passed.
43
+ # @return [Twilio::REST::Authy::V1::ServiceList]
44
+ def services(sid=:unset)
45
+ self.v1.services(sid)
46
+ end
47
+
48
48
  ##
49
49
  # Provide a user friendly representation
50
50
  def to_s
@@ -47,6 +47,7 @@ module Twilio
47
47
  @studio = nil
48
48
  @verify = nil
49
49
  @voice = nil
50
+ @insights = nil
50
51
  end
51
52
 
52
53
  ##
@@ -229,6 +230,12 @@ module Twilio
229
230
  @voice ||= Voice.new self
230
231
  end
231
232
 
233
+ ##
234
+ # Access the Insights Twilio Domain
235
+ def insights
236
+ @insights ||= Insights.new self
237
+ end
238
+
232
239
  ##
233
240
  # @param [String] sid A 34 character string that uniquely identifies this address.
234
241
  # @return [Twilio::REST::Api::V2010::AccountContext::AddressInstance] if sid was passed.
@@ -270,7 +277,7 @@ module Twilio
270
277
  end
271
278
 
272
279
  ##
273
- # @param [String] sid A 34-character string that uniquely identifies the Call
280
+ # @param [String] sid The unique string that that we created to identify this Call
274
281
  # resource.
275
282
  # @return [Twilio::REST::Api::V2010::AccountContext::CallInstance] if sid was passed.
276
283
  # @return [Twilio::REST::Api::V2010::AccountContext::CallList]
@@ -279,8 +286,8 @@ module Twilio
279
286
  end
280
287
 
281
288
  ##
282
- # @param [String] sid A 34 character string that uniquely identifies this
283
- # conference.
289
+ # @param [String] sid The unique string that that we created to identify this
290
+ # Conference resource.
284
291
  # @return [Twilio::REST::Api::V2010::AccountContext::ConferenceInstance] if sid was passed.
285
292
  # @return [Twilio::REST::Api::V2010::AccountContext::ConferenceList]
286
293
  def conferences(sid=:unset)
@@ -353,7 +360,8 @@ module Twilio
353
360
  end
354
361
 
355
362
  ##
356
- # @param [String] sid A 34 character string that uniquely identifies this queue.
363
+ # @param [String] sid The unique string that that we created to identify this
364
+ # Queue resource.
357
365
  # @return [Twilio::REST::Api::V2010::AccountContext::QueueInstance] if sid was passed.
358
366
  # @return [Twilio::REST::Api::V2010::AccountContext::QueueList]
359
367
  def queues(sid=:unset)
@@ -384,8 +392,8 @@ module Twilio
384
392
  end
385
393
 
386
394
  ##
387
- # @param [String] sid A 34 character string that uniquely identifies this
388
- # resource.
395
+ # @param [String] sid The unique string that that we created to identify this
396
+ # ShortCode resource.
389
397
  # @return [Twilio::REST::Api::V2010::AccountContext::ShortCodeInstance] if sid was passed.
390
398
  # @return [Twilio::REST::Api::V2010::AccountContext::ShortCodeList]
391
399
  def short_codes(sid=:unset)
@@ -0,0 +1,286 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ module Twilio
10
+ module REST
11
+ class Insights < Domain
12
+ class V1 < Version
13
+ ##
14
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
15
+ class CallSummaryList < ListResource
16
+ ##
17
+ # Initialize the CallSummaryList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [CallSummaryList] CallSummaryList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ end
26
+
27
+ ##
28
+ # Provide a user friendly representation
29
+ def to_s
30
+ '#<Twilio.Insights.V1.CallSummaryList>'
31
+ end
32
+ end
33
+
34
+ ##
35
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
36
+ class CallSummaryPage < Page
37
+ ##
38
+ # Initialize the CallSummaryPage
39
+ # @param [Version] version Version that contains the resource
40
+ # @param [Response] response Response from the API
41
+ # @param [Hash] solution Path solution for the resource
42
+ # @return [CallSummaryPage] CallSummaryPage
43
+ def initialize(version, response, solution)
44
+ super(version, response)
45
+
46
+ # Path Solution
47
+ @solution = solution
48
+ end
49
+
50
+ ##
51
+ # Build an instance of CallSummaryInstance
52
+ # @param [Hash] payload Payload response from the API
53
+ # @return [CallSummaryInstance] CallSummaryInstance
54
+ def get_instance(payload)
55
+ CallSummaryInstance.new(@version, payload, )
56
+ end
57
+
58
+ ##
59
+ # Provide a user friendly representation
60
+ def to_s
61
+ '<Twilio.Insights.V1.CallSummaryPage>'
62
+ end
63
+ end
64
+
65
+ ##
66
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
67
+ class CallSummaryContext < InstanceContext
68
+ ##
69
+ # Initialize the CallSummaryContext
70
+ # @param [Version] version Version that contains the resource
71
+ # @param [String] call_sid The call_sid
72
+ # @return [CallSummaryContext] CallSummaryContext
73
+ def initialize(version, call_sid)
74
+ super(version)
75
+
76
+ # Path Solution
77
+ @solution = {call_sid: call_sid, }
78
+ @uri = "/Voice/#{@solution[:call_sid]}/Summary"
79
+ end
80
+
81
+ ##
82
+ # Fetch a CallSummaryInstance
83
+ # @return [CallSummaryInstance] Fetched CallSummaryInstance
84
+ def fetch
85
+ params = Twilio::Values.of({})
86
+
87
+ payload = @version.fetch(
88
+ 'GET',
89
+ @uri,
90
+ params,
91
+ )
92
+
93
+ CallSummaryInstance.new(@version, payload, call_sid: @solution[:call_sid], )
94
+ end
95
+
96
+ ##
97
+ # Provide a user friendly representation
98
+ def to_s
99
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
100
+ "#<Twilio.Insights.V1.CallSummaryContext #{context}>"
101
+ end
102
+ end
103
+
104
+ ##
105
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
106
+ class CallSummaryInstance < InstanceResource
107
+ ##
108
+ # Initialize the CallSummaryInstance
109
+ # @param [Version] version Version that contains the resource
110
+ # @param [Hash] payload payload that contains response from Twilio
111
+ # @param [String] call_sid The call_sid
112
+ # @return [CallSummaryInstance] CallSummaryInstance
113
+ def initialize(version, payload, call_sid: nil)
114
+ super(version)
115
+
116
+ # Marshaled Properties
117
+ @properties = {
118
+ 'account_sid' => payload['account_sid'],
119
+ 'call_sid' => payload['call_sid'],
120
+ 'call_type' => payload['call_type'],
121
+ 'call_state' => payload['call_state'],
122
+ 'processing_state' => payload['processing_state'],
123
+ 'direction' => payload['direction'],
124
+ 'disconnected_by' => payload['disconnected_by'],
125
+ 'start_time' => Twilio.deserialize_iso8601_datetime(payload['start_time']),
126
+ 'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
127
+ 'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
128
+ 'connect_duration' => payload['connect_duration'] == nil ? payload['connect_duration'] : payload['connect_duration'].to_i,
129
+ 'from' => payload['from'],
130
+ 'to' => payload['to'],
131
+ 'carrier_edge' => payload['carrier_edge'],
132
+ 'client_edge' => payload['client_edge'],
133
+ 'sip_edge' => payload['sip_edge'],
134
+ 'tags' => payload['tags'],
135
+ 'url' => payload['url'],
136
+ }
137
+
138
+ # Context
139
+ @instance_context = nil
140
+ @params = {'call_sid' => call_sid || @properties['call_sid'], }
141
+ end
142
+
143
+ ##
144
+ # Generate an instance context for the instance, the context is capable of
145
+ # performing various actions. All instance actions are proxied to the context
146
+ # @return [CallSummaryContext] CallSummaryContext for this CallSummaryInstance
147
+ def context
148
+ unless @instance_context
149
+ @instance_context = CallSummaryContext.new(@version, @params['call_sid'], )
150
+ end
151
+ @instance_context
152
+ end
153
+
154
+ ##
155
+ # @return [String] The account_sid
156
+ def account_sid
157
+ @properties['account_sid']
158
+ end
159
+
160
+ ##
161
+ # @return [String] The call_sid
162
+ def call_sid
163
+ @properties['call_sid']
164
+ end
165
+
166
+ ##
167
+ # @return [call_summary.CallType] The call_type
168
+ def call_type
169
+ @properties['call_type']
170
+ end
171
+
172
+ ##
173
+ # @return [call_summary.CallState] The call_state
174
+ def call_state
175
+ @properties['call_state']
176
+ end
177
+
178
+ ##
179
+ # @return [call_summary.ProcessingState] The processing_state
180
+ def processing_state
181
+ @properties['processing_state']
182
+ end
183
+
184
+ ##
185
+ # @return [call_summary.Direction] The direction
186
+ def direction
187
+ @properties['direction']
188
+ end
189
+
190
+ ##
191
+ # @return [call_summary.DisconnectedBy] The disconnected_by
192
+ def disconnected_by
193
+ @properties['disconnected_by']
194
+ end
195
+
196
+ ##
197
+ # @return [Time] The start_time
198
+ def start_time
199
+ @properties['start_time']
200
+ end
201
+
202
+ ##
203
+ # @return [Time] The end_time
204
+ def end_time
205
+ @properties['end_time']
206
+ end
207
+
208
+ ##
209
+ # @return [String] The duration
210
+ def duration
211
+ @properties['duration']
212
+ end
213
+
214
+ ##
215
+ # @return [String] The connect_duration
216
+ def connect_duration
217
+ @properties['connect_duration']
218
+ end
219
+
220
+ ##
221
+ # @return [Hash] The from
222
+ def from
223
+ @properties['from']
224
+ end
225
+
226
+ ##
227
+ # @return [Hash] The to
228
+ def to
229
+ @properties['to']
230
+ end
231
+
232
+ ##
233
+ # @return [Hash] The carrier_edge
234
+ def carrier_edge
235
+ @properties['carrier_edge']
236
+ end
237
+
238
+ ##
239
+ # @return [Hash] The client_edge
240
+ def client_edge
241
+ @properties['client_edge']
242
+ end
243
+
244
+ ##
245
+ # @return [Hash] The sip_edge
246
+ def sip_edge
247
+ @properties['sip_edge']
248
+ end
249
+
250
+ ##
251
+ # @return [String] The tags
252
+ def tags
253
+ @properties['tags']
254
+ end
255
+
256
+ ##
257
+ # @return [String] The url
258
+ def url
259
+ @properties['url']
260
+ end
261
+
262
+ ##
263
+ # Fetch a CallSummaryInstance
264
+ # @return [CallSummaryInstance] Fetched CallSummaryInstance
265
+ def fetch
266
+ context.fetch
267
+ end
268
+
269
+ ##
270
+ # Provide a user friendly representation
271
+ def to_s
272
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
273
+ "<Twilio.Insights.V1.CallSummaryInstance #{values}>"
274
+ end
275
+
276
+ ##
277
+ # Provide a detailed, user friendly representation
278
+ def inspect
279
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
280
+ "<Twilio.Insights.V1.CallSummaryInstance #{values}>"
281
+ end
282
+ end
283
+ end
284
+ end
285
+ end
286
+ end