twilio-ruby 5.18.0 → 5.19.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.
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